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 02/08/2011, 11h15   #1
Invité de passage
 
Inscription : juillet 2011
Messages : 16
Détails du profil
Informations forums :
Inscription : juillet 2011
Messages : 16
Points : 1
Points : 1
Par défaut proc gplot et macro-variables

Bonjour à tous,
J'aurais besoin de votre aide par rapport à la procédure gplot en SAS

Je dispose de deux macro-programmes test et test1.

la macro test1 crée deux macro-variables x et y.

La macro test crée une macro variable w qui est fonction de x...

je souhaiterais faire une proc gplot pour afficher y en fonction de x et w en fonction de x avec la commande overlay. Le code est écrit ci-après...

Je ne sais pas si cela est faisable étant donné que w n'appartient pas à la table "table". Comment dois-je procéder ?

Merci pour vos réponses !


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
%macro test();
 
%test1()
 
%do x=0 %TO 10;
	%let w=fonction(&x);
%end;
 
proc gplot DATA=TABLE;
plot y*x w*x/overlay;
run;
quit;
 
%mend test;
 
 
%macro test1();
 
DATA TABLE;
x=...;
y=...;
run;
 
DATA _null_;
SET TABLE;
call symputx ("x", x, "G"); 
call symputx ("y", y, "G");   
run;
 
%mend test1;
 
 
%test()
yemal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 14h51   #2
Candidat au titre de Membre du Club
 
Inscription : mars 2009
Messages : 34
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : mars 2009
Messages : 34
Points : 13
Points : 13
Il faudrait surement déclarer les macro variables de test1 comme globales pour pouvoir les réutiliser dans la macro test.

global x, y;

dans test1.

Maintenant, la boucle qui fait un %let w, je ne vois pas bien ce qu'elle fait car la macro variable w ne va garder que la valeur du dernier passage de la boucle (x=10)....
Bunzy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2011, 07h09   #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.
Comme dans ce topic, je pense que tu as davantage besoin d'une étape DATA pour créer une variable SAS que d'une boucle macro pour créer une macro-variable à laquelle aucune procédure ne pourra accéder.
Bon courage.
Olivier
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2011, 13h11   #4
Invité de passage
 
Inscription : juillet 2011
Messages : 16
Détails du profil
Informations forums :
Inscription : juillet 2011
Messages : 16
Points : 1
Points : 1
Par défaut réponse

oui effectivement j'ai crée une étape data pour résoudre ce problème... merci beaucoup!
yemal 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 10h13.


 
 
 
 
Partenaires

Hébergement Web