Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > Macro
Macro Forum d'entraide sur le langage Macro de SAS
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/07/2008, 16h27   #1
Invité régulier
 
Inscription : juillet 2008
Messages : 18
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 18
Points : 9
Points : 9
Par défaut [Macro] Macro variables avec condition

var1 var2
3 1
4 2
5 3

Comment créer une macro variable qui prend la valeur de var1 quand var2 = 1 ?
Merci d'avance
bibette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2008, 16h29   #2
Membre Expert
 
Inscription : mars 2005
Messages : 1 028
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 1 028
Points : 1 278
Points : 1 278
Envoyer un message via Yahoo à bahraoui
Code :
1
2
3
4
 
DATA _null_; SET TABLE;
IF var2= 1 then call symput(var_new),var1);
run;
Pb de doublons:
var_new prend la dernière valeur var1 tel que var2=1.
__________________
Consultez les FAQs et les anciens postes avant de poser vos questions. Merci
bahraoui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2008, 16h36   #3
Expert Confirmé
 
Avatar de olivier.decourt
 
Homme Olivier Decourt
Formateur en informatique
Inscription : avril 2008
Messages : 1 482
Détails du profil
Informations personnelles :
Nom : Homme Olivier Decourt
Âge : 34
Localisation : France

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Conseil

Informations forums :
Inscription : avril 2008
Messages : 1 482
Points : 2 866
Points : 2 866
En lisant la table avec une étape Data, puis à l'intérieur en faisant un test à l'issue duquel on fait un CALL SYMPUT (création de macro-variable). Attention, la macro-variable ne sera disponible qu'après le RUN.
Code :
1
2
3
4
5
6
 
DATA _NULL_ ;
   SET maTable ;
   IF var2=1 THEN CALL SYMPUT("macroVar", var1) ;
RUN ;
%PUT la macro-variable vaut &macroVar ;
Olivier
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2008, 16h44   #4
Invité régulier
 
Inscription : juillet 2008
Messages : 18
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 18
Points : 9
Points : 9
Par défaut Merci

Merci bcp bcp de votre aide !!!!
bibette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2008, 17h09   #5
Responsable SAS
 
Inscription : septembre 2006
Messages : 1 973
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 1 973
Points : 4 810
Points : 4 810
Merci de cliquer sur
__________________
Les balises code
FAQ SAS
Rubrique SAS

Si vous souhaitez contribuer à la rubrique SAS, contactez-moi ou tout autre membre de l'équipe BI par MP.
fafabzh6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h02.


 
 
 
 
Partenaires

Hébergement Web