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 19/09/2007, 11h05   #1
Membre à l'essai
 
Inscription : janvier 2005
Messages : 71
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : janvier 2005
Messages : 71
Points : 22
Points : 22
Envoyer un message via MSN à goulhasch
Par défaut Souci condition %if

Bonjour,
je rencontre un problème que je ne comprend pas dans ma condition %if :s

voici mon bout de code
Code :
1
2
3
4
5
6
7
8
9
10
 
%do i=1 %TO 934;
	%let visit= %substr(&&mavar&i,%length(&&mavar&i),1);
	/* si la visit de l'observation N est un 'U' */
		%IF (&visit = 'U') %then %do;
		%put 'VRAI';
		%put &&mavar&i;
		%end;
		%put &visit;
	%end;
il ne rentre pas dans le %if donc m'affiche &visit...
par contre dans le journal &visit contient bien certaines fois 'U' ....

Pourriez vous m'expliquer
Merci d'avance
goulhasch est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2007, 15h39   #2
Responsable SAS
 
Inscription : septembre 2006
Messages : 1 973
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 1 973
Points : 4 807
Points : 4 807
Ton code à l'air bon pourtant :
Un exemple de if :
Citation:
%MACRO test();
%LET var='bjr';
%if (&var = 'bjr') %then %do;
%put 'VRAI';
%put 'vrai';
%end;
%else %do;
%put false;
%end;
%MEND;
%test();
fafabzh6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2007, 15h58   #3
Membre à l'essai
 
Inscription : janvier 2005
Messages : 71
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : janvier 2005
Messages : 71
Points : 22
Points : 22
Envoyer un message via MSN à goulhasch
je me suis dit la même chose mais apparement non, il ne rentre pas dans le %if
en plus le type d'une variable est texte tant que tu ne fais pas %eval ... alors je vois pas trop pourquoi ...

J'ai la même structure que ton exemple pourtant ...
Y a t il une difference entre l'utilisation d'une quote et d'une guillemet ?

Je ne suis pas sur le poste ou SAS est installé je peux pas retester ... Il y a t il des choses qui n'aurait échapper ?
goulhasch est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2007, 16h34   #4
Responsable SAS
 
Inscription : septembre 2006
Messages : 1 973
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 1 973
Points : 4 807
Points : 4 807
Les guillemets permettent d'ajouter des '
par exemple
%PUT "L'eau";
fafabzh6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2007, 16h39   #5
Membre à l'essai
 
Inscription : janvier 2005
Messages : 71
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : janvier 2005
Messages : 71
Points : 22
Points : 22
Envoyer un message via MSN à goulhasch
ton test marche, c'est exactement la même structure mais çà ne marche pas ...
Merci
goulhasch est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2007, 16h47   #6
Responsable SAS
 
Inscription : septembre 2006
Messages : 1 973
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 1 973
Points : 4 807
Points : 4 807
Citation:
Envoyé par goulhasch Voir le message
ton test marche, c'est exactement la même structure mais çà ne marche pas ...
Merci
A l'informatique
fafabzh6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2007, 16h49   #7
Membre à l'essai
 
Inscription : janvier 2005
Messages : 71
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : janvier 2005
Messages : 71
Points : 22
Points : 22
Envoyer un message via MSN à goulhasch
ouep çà se trouve demain çà sera bon ...

je perds pas espoir
goulhasch est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2007, 16h59   #8
Membre à l'essai
 
Inscription : janvier 2005
Messages : 71
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : janvier 2005
Messages : 71
Points : 22
Points : 22
Envoyer un message via MSN à goulhasch
pfiouuuuuuuu

Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
	%do i=1 %TO 934;
	%let visit= %substr(&&mavar&i,%length(&&mavar&i),1);
	/* si la visit de l'observation N est un 'U' */
		%IF (&visit =U) %then %do;
		%put 'VRAI';
		%put &&mavar&i;
		%put &visit;
		%end;
	/*	%put &visit;%put &&mavar&i; */
 
	%end;
j'avais pas besoin d'entourer le caractere par des quotes ^^

goulhasch 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 14h58.


 
 
 
 
Partenaires

Hébergement Web