Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macro Discussion :

Macro variable dans une declation %macro


Sujet :

Macro

  1. #1
    Membre à l'essai
    Homme Profil pro
    Consultant informatique
    Inscrit en
    septembre 2015
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : septembre 2015
    Messages : 18
    Points : 11
    Points
    11
    Par défaut Macro variable dans une declation %macro
    Bonjour

    je souhaite créer une macro dont les parametres serait issus d'une macro variable

    quelques choses comme ceci pour résumé, mais hélas écrit comme cela ne fionctionne pas, une idée ?

    merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    %let param=%nrbquote(param1=ASAT,param2=ALAT);
     
    %macro testlab(&param,itemsup=);
    %put &param1 &param2;
    %mend;
     
    %testlab

  2. #2
    Membre éprouvé
    Avatar de m.brahim
    Homme Profil pro
    SAS / BIG DATA
    Inscrit en
    juillet 2011
    Messages
    451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : SAS / BIG DATA
    Secteur : Conseil

    Informations forums :
    Inscription : juillet 2011
    Messages : 451
    Points : 1 098
    Points
    1 098
    Billets dans le blog
    13
    Par défaut
    Bonjour,

    Je te propose cette solution:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
     
    option symbolgen mprint; 
    data test;
    input var1 $;
    cards;
    a
    a
    b
    b
    b
    c
    c
    ;
    run;
     
     
    %let param=%bquote(param1=a,param2=b);
     
     
     
    %macro Liste();
     
       %let i = 1;
     
        %let param_&i = %scan(%scan(&param,&i,%str(%(,%))),2,%str(%(=%))); 
     
             %do %while (%str(&&param_&i) ne %str());
     
     
             %let i = %eval(&i+1);
     
            %let param_&i =%scan(%scan(&param,&i,%str(%(,%))),2,%str(%(=%)));
     
         %end;
     
     
    %put &PARAM_1;
     
    %put &PARAM_2;
     
    /*Exemple d'application*/
     
    	 data test1;
    	 set test(where=(var1="&param_1"));
    	 run;
     
    	 data test2;
    	 set test(where=(var1="&param_2"));
    	 run;
     
    %mend Liste;
     
    %Liste;
    Cordialement
    Certification des Talents de la programmation In Memory Statistics sur HADOOP:
    http://talents-imstat.groupe-avisia....avance?uid=162

Discussions similaires

  1. Réponses: 8
    Dernier message: 16/01/2017, 16h20
  2. Réponses: 6
    Dernier message: 07/11/2016, 23h21
  3. Réponses: 2
    Dernier message: 22/03/2010, 16h26
  4. macro variable dans une chaine de texte
    Par OROZCO dans le forum Macro
    Réponses: 8
    Dernier message: 22/01/2009, 17h11
  5. Réponses: 11
    Dernier message: 11/07/2008, 15h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo