|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre éclairé
![]() Philippe Statisticien Inscription : mai 2004 Messages : 654 ![]() |
J'ai une macro qui effectue une proc sql et place le résultat dans une macro-variable globale :
Code :
Même en intercalant un je n'arrive pas à récupérer le résultat de la proc sql; là j'ai initialisé NbOcc à 10 pour voir et je récupère 10 au lieu du résultat escompté (1, vérifié quand j'exécute la proc sql toute seule). En utilisant au retour de la macro je récupère . à la place de 1. Verriez-vous un moyen simple de "sortir" cette valeur de la macro ? Sinon je mettrai le code de la proc sql en dehors de la macro. Merci.
__________________
"Le sage ne dit pas ce qu'il sait alors que le sot ne sait pas ce qu'il dit" |
||
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Inscription : janvier 2010 Messages : 185 ![]() |
Bonjour Filippo,
Je te conseille la lecture de ce lien doc sas sur call execute On peut y lire ceci: Note: Because macro references execute immediately and SAS statements do not execute until after a step boundary, you cannot use CALL EXECUTE to invoke a macro that contains references for macro variables that are created by CALL SYMPUT in that macro. |
|
|
10
|
|
|
#3 |
|
Membre éclairé
![]() Philippe Statisticien Inscription : mai 2004 Messages : 654 ![]() |
Merci sasadm.
Je crois que je vais exécuter une première proc sql et placer les résultats dans une table temporaire puis merger avec la table de départ puis appliquer ma condition.
__________________
"Le sage ne dit pas ce qu'il sait alors que le sot ne sait pas ce qu'il dit" |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com