Précédent   Forum du club des développeurs et IT Pro > 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
 
Outils de la discussion
Publicité
'
Vieux 25/02/2013, 17h37   #1
tidou95220
Membre du Club
 
Homme
BI junior
Inscription : novembre 2008
Messages : 251
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : BI junior
Secteur : Conseil

Informations forums :
Inscription : novembre 2008
Messages : 251
Points : 49
Points : 49
Par défaut Macrovariable qui ne s'affiche pas

Bonjour,

J'aimerai savoir pourquoi ma "MAVARIABLE" ne s'affiche pas ???

Code :
1
2
3
4
5
6
7
8
9
%MACRO get_max_id;
proc sql;
    SELECT MAX(folder_id) INTO :MAVARIABLE   FROM WORK.folders;
quit;
%MEND;
 
%get_max_id;
 
%put &MAVARIABLE;

Merci
tidou95220 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2013, 17h46   #2
ludivine666
Membre à l'essai
 
Femme
Inscription : octobre 2012
Messages : 30
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : octobre 2012
Messages : 30
Points : 22
Points : 22
essaie comme çà:

Code :
1
2
3
4
5
6
7
8
9
10
%MACRO get_max_id;
proc sql;
    SELECT MAX(folder_id) INTO :MAVARIABLE   FROM WORK.folders;
quit;
 
%put &MAVARIABLE;
 
%MEND;
 
%get_max_id;
ludivine666 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2013, 17h47   #3
tidou95220
Membre du Club
 
Homme
BI junior
Inscription : novembre 2008
Messages : 251
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : BI junior
Secteur : Conseil

Informations forums :
Inscription : novembre 2008
Messages : 251
Points : 49
Points : 49
Code :
1
2
3
4
5
6
7
 
proc sql;
    SELECT MAX(folder_id) INTO :MAVARIABLE   FROM WORK.folders;
quit;
 
 
%put &MAVARIABLE;
Mais quand je retire mon code de la MACRO tout fonctionne à merveille
tidou95220 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2013, 18h02   #4
tidou95220
Membre du Club
 
Homme
BI junior
Inscription : novembre 2008
Messages : 251
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : BI junior
Secteur : Conseil

Informations forums :
Inscription : novembre 2008
Messages : 251
Points : 49
Points : 49
Code :
1
2
3
4
5
6
7
8
9
10
 
%MACRO get_max_id;
proc sql;
    SELECT MAX(folder_id) INTO :MAVARIABLE   FROM WORK.folders;
quit;
 
%put &MAVARIABLE;
%MEND;
%get_max_id;
%put &MAVARIABLE;
Comment la rendre global ? quand je fait %put _user_ je ne vois pas ma variable "MAVARIABLE"

J'ai un message d'erreur => WARNING: Apparent symbolic reference MAVARIABLE not resolved.


Merci
tidou95220 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2013, 18h05   #5
z6c3po
Membre actif
 
Sébastien Ringuedé
Inscription : janvier 2011
Messages : 70
Détails du profil
Informations personnelles :
Nom : Sébastien Ringuedé
Localisation : France, Loiret (Centre)

Informations forums :
Inscription : janvier 2011
Messages : 70
Points : 154
Points : 154
Citation:
Envoyé par tidou95220 Voir le message
Bonjour,

J'aimerai savoir pourquoi ma "MAVARIABLE" ne s'affiche pas ???

Code :
1
2
3
4
5
6
7
8
9
%MACRO get_max_id;
proc sql;
    SELECT MAX(folder_id) INTO :MAVARIABLE   FROM WORK.folders;
quit;
%MEND;
 
%get_max_id;
 
%put &MAVARIABLE;

Merci
pourquoi ? parce qu'elle n'existe pas lorsque l'instruction %put &mavariable est exécutée.

une macro variable créé à l'intérieur d'un macro programme est par défaut locale. Pour régler le problème :


Code :
1
2
3
4
5
6
7
8
9
10
%MACRO get_max_id;
%global mavariable ;
proc sql;
    SELECT MAX(folder_id) INTO :MAVARIABLE   FROM WORK.folders;
quit;
%MEND;
 
%get_max_id;
 
%put &MAVARIABLE;
a+

Sébastien Ringuedé
z6c3po est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 25/02/2013, 18h05   #6
edward carnby
Membre éprouvé
 
Homme Ludovic Le Breton
Statisticien/développeur BI
Inscription : janvier 2012
Messages : 177
Détails du profil
Informations personnelles :
Nom : Homme Ludovic Le Breton
Âge : 38
Localisation : France, Oise (Picardie)

Informations professionnelles :
Activité : Statisticien/développeur BI
Secteur : Transports

Informations forums :
Inscription : janvier 2012
Messages : 177
Points : 464
Points : 464
Bonjour,

Il faut effectivement déclarer la variable en global pour pouvoir la réutiliser en dehors d'une macro :

Code :
1
2
 
%GLOBAL MAVARIABLE;
edward carnby est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 25/02/2013, 18h06   #7
tidou95220
Membre du Club
 
Homme
BI junior
Inscription : novembre 2008
Messages : 251
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : BI junior
Secteur : Conseil

Informations forums :
Inscription : novembre 2008
Messages : 251
Points : 49
Points : 49
Merci à vous parfait !
tidou95220 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 16h45.


 
 
 
 
Partenaires

Hébergement Web