IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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 :

Parenthèses fermantes et ouvrantes en paramètre d'une macro


Sujet :

Macro

  1. #1
    Membre expérimenté
    Homme Profil pro
    Attaché statisticien
    Inscrit en
    Mai 2011
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Attaché statisticien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2011
    Messages : 687
    Points : 1 581
    Points
    1 581
    Par défaut Parenthèses fermantes et ouvrantes en paramètre d'une macro
    Bonjour,

    Je voudrais passer à des macros des paramètres contenant des "(" ou ")"
    cependant cela semble créer des difficultés.

    Exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    %MACRO test(p1=,p2=,p3=,p4=);
    &p1&p2&p3&p4;
    %MEND;
     
    DATA A;
    v=1;
    %test	(	p1=v=,
    			p2=ranuni(,
    			p3=12,
    			p4=3)
    		);
    output;
    RUN;
    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
     
    158683  %MACRO test(p1=,p2=,p3=,p4=);
    158684  &p1&p2&p3&p4;
    158685  %MEND;
    158686
    158687  DATA A;
    158688  v=1;
    158689  %test   (   p1=v=,
    158690              p2=ranuni(,
    158691              p3=12,
    158692              p4=3)
    158693          );
    NOTE: Line generated by the macro variable "P4".
    1        v=ranuni(,             p3=12,             p4=3)
                      -
                      159
    MPRINT(TEST):   v=ranuni(, p3=12, p4=3);
    ERROR 159-185: Null parameters for RANUNI are invalid.
     
    158694  output;
    158695  RUN;
     
    NOTE: The SAS System stopped processing this step because of errors.
    WARNING: The data set WORK.A may be incomplete.  When this step was stopped there were 0 observations and 3 variables.
    NOTE: DATA statement used (Total process time):
          real time           0.00 seconds
          cpu time            0.00 seconds
    Je ne sais pas trop comment m'en sortir ...

  2. #2
    Modérateur

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2011
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2011
    Messages : 1 625
    Points : 3 403
    Points
    3 403
    Par défaut
    Hello Jérome;
    as tu essayé avec %STR?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    %str(();
    %str());

  3. #3
    Membre expérimenté
    Homme Profil pro
    Attaché statisticien
    Inscrit en
    Mai 2011
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Attaché statisticien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2011
    Messages : 687
    Points : 1 581
    Points
    1 581
    Par défaut
    Bonjour Sam !
    Une collègue viens de me donner la solution, il y avait bien de ça...

    merci !

    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
     
    %MACRO test(p1=,p2=,p3=,p4=,p5=1);
    &p1&p2&p3&p4
    %MEND;
     
    DATA A;
    v=1;
    %test	(	p1=v=,
    			p2=ranuni%str(%(),
    			p3=12,
    			p4=3%str(%))
    		);
    		;
    output;
    RUN;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/03/2009, 15h28
  2. Enregistrer des paramètres dans une macro xla
    Par Daejung dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 07/10/2008, 18h29
  3. Réponses: 7
    Dernier message: 21/08/2008, 11h57
  4. passage de paramètres dans une macro
    Par JIM77420 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 22/04/2008, 12h59
  5. [VB] Passer un paramètre via une macro
    Par noznoz78 dans le forum SDK
    Réponses: 3
    Dernier message: 22/09/2007, 02h04

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