1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    novembre 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : novembre 2012
    Messages : 46
    Points : 27
    Points
    27

    Par défaut Non prise en compte d'une macro variable

    Bonjour,

    J'ai un souci avec une macro variable qui n'est pas interpreté.
    J'ai un message d'erreur de syntaxe... si qq un peut m'aiguiller?

    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
    %let filtre_pcible0 = AUP SAN;
    %let filtre_ccible0 = 03724 08254  ;
     
    %let filtre_pcible1 =%str(%')&filtre_pcible0.%str(%');
    %put &filtre_pcible1. ;
    %let filtre_pcible = %qsysfunc(tranwrd(%sysfunc(strip(&filtre_pcible1.)),%str( ),%str(' '))) ;
    %put &filtre_pcible. ;
     
     
     
    data contrats_camp;
    set contrats_KPI_camp (where=(cycle_date_debut <= date_production <= cycle_date_fin));
     
     
    if famille_produit in (&filtre_pcible.) then do;
    	an_pcible = 1;
    	cotis_pcible = cotisation_gcm;
    end;
    else do;  
    	an_pcible = 0;
    	cotis_pcible = 0;
    end; run;

    Merci par avance pour votre aide.

    Bonne journée

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    janvier 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Japon

    Informations forums :
    Inscription : janvier 2008
    Messages : 36
    Points : 331
    Points
    331

    Par défaut

    Bonjour,

    Je ne comprend pas pourquoi tu utilises %qsysfunc pour la fonction tranwrd.

    En utilisant simplement la fonction %sysfunc à la place du %qsysfunc, l'appel de la macro variable dans le where fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    %let filtre_pcible = %sysfunc(tranwrd(%sysfunc(strip(&filtre_pcible1.)),%str( ),%str(' '))) ;
    Après, je ne saurais te dire pourquoi cela ne fonctionne pas avec le %qsysfunc.

    Timarsu.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    novembre 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : novembre 2012
    Messages : 46
    Points : 27
    Points
    27

    Par défaut

    Parfait.

    Merci bcp !
    Avy

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

Discussions similaires

  1. Non prise en compte d'une propriété d'alignement
    Par laurentSc dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 13/01/2015, 04h16
  2. [Toutes versions] Non prise en compte d'une table sous Excel
    Par mcolombie dans le forum Excel
    Réponses: 4
    Dernier message: 07/03/2011, 17h28
  3. [Turbo Pascal] Non prise en compte d'une instruction dans une boucle
    Par step177 dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 27/10/2010, 19h33
  4. Réponses: 1
    Dernier message: 08/08/2007, 11h26
  5. non prise en compte d'une formule remplie par une macro
    Par mardona dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/06/2007, 15h08

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