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 29/03/2011, 17h36   #1
Invité de passage
 
Inscription : mai 2008
Messages : 17
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 17
Points : 4
Points : 4
Par défaut %or %between %in

Bonjour à tous,

je ne sais pas comment écrire correctement une instruction du genre

Code :
%IF &var=1 %OR &var=2 .... %then etc
D'avance, merci de votre aide !

Cdt,
Vincent

jobvince est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 19h28   #2
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 006
Détails du profil
Informations personnelles :
Nom : Homme Samir SELMANE
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : février 2011
Messages : 1 006
Points : 1 701
Points : 1 701
Bonjour;
utilises tu la condition %if dans un macro langage?
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2011, 08h29   #3
Expert Confirmé
 
Avatar de olivier.decourt
 
Homme Olivier Decourt
Formateur en informatique
Inscription : avril 2008
Messages : 1 467
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 467
Points : 2 823
Points : 2 823
Bonjour Vincent.
Le plus classique reste d'énumérer séparément toutes les conditions. Mais il n'y a pas de % au OR.
Code :
%IF &var=1 OR &var=2 .... %then
Si c'est vraiment lourd, il y a deux solutions :
1) en 9.2 la possibilité d'intégrer IN dans les %IF, non sans mal ! (voir la doc)
2) on peut passer par une étape Data pour évaluer la condition sur une variable SAS et ensuite injecter dans une macro-variable le résultat du test. C'est lourd mais ça laisse plus de liberté.
Code :
1
2
3
4
5
6
DATA _NULL_ ;
  valeur=SYMGET("var") ;
  IF valeur IN (1,2,3,4) THEN CALL SYMPUT("res","1") ;
  ELSE CALL SYMPUT("res","0") ;
RUN ;
%IF &res %THEN ;
Bon courage.
Olivier
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2011, 18h06   #4
Invité de passage
 
Inscription : mai 2008
Messages : 17
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 17
Points : 4
Points : 4
Un grand merci pour cette réponse claire et détaillée !!

Cdt,
Vincent
jobvince 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 20h49.


 
 
 
 
Partenaires

Hébergement Web