Erreur de programmation
badebila12
Messages postés
4
Statut
Membre
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous,
Je suis novice et je travaille actuellement sur un programme SAS et j'utilise le langage SQL.
J'aimerai avoir votre avis sur le problème suivant:
Je possède une table BASE comme suit:
BASE:
Concurrent | Z | X | Y
MACIF | 100% | 100% | 6
MACIF | 100% | 156% | 7
MACIF | 100% | 200% | 8
AVIVA | 225% | 100% | 6
AVIVA | 225% | 156% | 7
AVIVA | 225% | 200% | 8
mon programme est comme cela:
proc sql;
create table TEST as
select distinct *,x as X1 ,y as Y1 from BASE where x = (select max(x) from BASE where x <= z)
group by Concurrent;
quit;
Le problème c'est que j'obtiens cela:
TEST:
Concurrent | Z | X | Y
MACIF | 100% | 200% | 8
AVIVA | 225% | 200% | 8
Alors que j'aimerais obtenir cela:
TEST:
Concurrent | Z | X | Y
MACIF | 100% | 100% | 6
AVIVA | 225% | 200% | 8
Merci d'avance pour votre aide.
Je suis novice et je travaille actuellement sur un programme SAS et j'utilise le langage SQL.
J'aimerai avoir votre avis sur le problème suivant:
Je possède une table BASE comme suit:
BASE:
Concurrent | Z | X | Y
MACIF | 100% | 100% | 6
MACIF | 100% | 156% | 7
MACIF | 100% | 200% | 8
AVIVA | 225% | 100% | 6
AVIVA | 225% | 156% | 7
AVIVA | 225% | 200% | 8
mon programme est comme cela:
proc sql;
create table TEST as
select distinct *,x as X1 ,y as Y1 from BASE where x = (select max(x) from BASE where x <= z)
group by Concurrent;
quit;
Le problème c'est que j'obtiens cela:
TEST:
Concurrent | Z | X | Y
MACIF | 100% | 200% | 8
AVIVA | 225% | 200% | 8
Alors que j'aimerais obtenir cela:
TEST:
Concurrent | Z | X | Y
MACIF | 100% | 100% | 6
AVIVA | 225% | 200% | 8
Merci d'avance pour votre aide.
Configuration: Windows / Chrome 92.0.4515.159
3 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour,
avant tout, explique-nous la règle qui conduit au résultat que tu attends. -
La règle?
Je ne comprend pas ta question.
J'aimerais que obtenir un résultat par concurrent, alors que la il prend la dernière valeur calculé et l'applique à tous -
Je suis dsl, mais étant novice je ne vois pas ou tu veux en venir.
J'ai publié ce message pour obtenir de l'aide car je ne sais pas