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 06/12/2011, 18h16   #1
Candidat au titre de Membre du Club
 
Femme
Conseil - Consultant en systèmes d'information
Inscription : novembre 2011
Messages : 80
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : Maroc

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : Conseil

Informations forums :
Inscription : novembre 2011
Messages : 80
Points : 12
Points : 12
Par défaut Mettre une macro variable entre parenthèses

Bonjour,

Je voudrais mettre une macro variable entre parenthèses, pour le faire,j'utilise la fonction cats, sauf que ca marche po. Merci d'avance pour votre aide.

Voici le bout de code:

Code :
1
2
3
4
5
6
7
8
OPTION mprint;
proc sql; CREATE TABLE tes (ch char(1000));
%macro gg;
%let var=CD334+CD335+CD336+CD337;
%let v=%SYSFUNC(COMPRESS(%sysfunc(cats('(',&var,')')),''''));
proc sql;INSERT INTO tes VALUES ("&v");
%mend;
%gg;
aminao est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2011, 19h45   #2
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 828
Points : 2 828
Bonjour.
Dans le langage macro, tout est du texte. Donc tu ajoutes tes parenthèses directement, sans fonction de concaténation.
Tu peux aussi mettre les parenthèses directement là où elles sont nécessaires : dans ton exemple ça se ferait directement dans la commande INSERT.
Code :
INSERT INTO tes VALUES ("(&var)");
Si tu as des espaces en trop dans tout ça, il y a la macro-fonction %CMPRES qui permet de les éliminer (elle fonctionne comme COMPBL).
Bon courage.
Olivier
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h58.


 
 
 
 
Partenaires

Hébergement Web