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 21/03/2008, 10h47   #1
Membre régulier
 
Inscription : septembre 2003
Messages : 193
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 193
Points : 84
Points : 84
Par défaut Problème conversion chaine int

autre question , ... suite à mon précédent post :

j'ai ça :

Code :
1
2
3
4
%do i=1 %TO &obs;
	%let h&i=&&nonconverti&i;
	%put input(&&h&i/3600,2.);
%end;
Mon put m'affiche ma formule au lieu du résultat de la division ... comment faire pour convertire &&nonconverti en int par exemple .... ??
Tyler Durden est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2008, 11h06   #2
Candidat au titre de Membre du Club
 
Inscription : mars 2008
Messages : 12
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 12
Points : 12
Points : 12
re-,

lorsque tu veux faire une opération avec des macro variables, tu dois utiliser %eval, ce qui donnerai en gros:
Code :
%put input(%eval(&&h&i/3600,2.));
cela t'affiche input(ton_resultat_entier);
ajbois est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2008, 11h22   #3
Membre régulier
 
Inscription : septembre 2003
Messages : 193
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 193
Points : 84
Points : 84
ok !

merci ca m'a beaucoup aidé ... !!!
Tyler Durden est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2008, 11h36   #4
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
A ce propos, il est important de signaler que les macro-variables ne contiennent qu'un type : le type caractère.
Ce qui est bien différent des autres langages de programmation.
Ainsi si tu fait :
Code :
1
2
%LET test=2001-2002;
%put &test
T'affiche 2001-2002 =>pour lui c'est une chaine de caractère et pas une opération .... d'où l'utilité de %eval.
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 22h40.


 
 
 
 
Partenaires

Hébergement Web