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 :

Concantenation macrovariable _N_ + résolution


Sujet :

Macro

  1. #1
    Membre éclairé Avatar de tidou95220
    Homme Profil pro
    BI junior
    Inscrit en
    Novembre 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : BI junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2008
    Messages : 263
    Par défaut Concantenation macrovariable _N_ + résolution
    Bonjour,

    J'ai un petit problème avec une résolution/concatenation de macrovariable :s

    J'ai deja 3 macrovariables définies :

    NAME_TABLE_1 = Table_users;
    NAME_TABLE_2 = Table_client;
    NAME_TABLE_3 = Table_abs;


    Mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    DATA _NULL_;
     set work.tables;
     put "&NAME_TABLE_1";
     put "&NAME_TABLE_2";
     put "&NAME_TABLE_3";
    RUN;
    J'aimerai utiliser la variable _N_ pour afficher dynamiquement toutes mes macrovariable.

    Un truc dans ce genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    DATA _NULL_;
     set work.tables;
     put "&NAME_TABLE_"!!_N_;
    RUN;

    Comment faire :/ Merci

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur en SAS/ Statisticien
    Inscrit en
    Janvier 2013
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur en SAS/ Statisticien
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 483
    Par défaut
    Hello,
    Pour afficher dynamiquement toutes les macrovariables déjà créées, dans une étape data, il faut utiliser la fonction symget, voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    DATA _NULL_;
     SET work.TABLES;
     Tab=symget(cats('NAME_TABLE_', _N_)) ;
     put Tab ;
    RUN;
    Bon courage

  3. #3
    Membre émérite

    Femme Profil pro
    SAS FRANCE - Support Clients France et Europe
    Inscrit en
    Février 2010
    Messages
    289
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : SAS FRANCE - Support Clients France et Europe
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 289
    Par défaut
    Bonjour,

    Il faut utiliser la fonction RESOLVE :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    %let NAME_TABLE_1 = Table_users;
    %let NAME_TABLE_2 = Table_client;
    %let NAME_TABLE_3 = Table_abs;
     
     
    DATA _NULL_;
     a= resolve (compress('&NAME_TABLE_'!!_N_)); put a=;
    RUN;
    Cordialement,
    Géraldine Cade Deschamps
    Support Clients SAS

  4. #4
    Membre Expert
    Homme Profil pro
    Développeur en SAS/ Statisticien
    Inscrit en
    Janvier 2013
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur en SAS/ Statisticien
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 483
    Par défaut
    Bonjour,
    Merci à Géraldine pour sa remarque. Je me suis mal exprimé.
    Voici la définition des 2 fonctions :

    La fonction RESOLVE : permet d’utiliser les macro-variables dans l’étape data qui les a créées.

    La fonction SYMGET dans l’étape DATA : permet de créer des variables dans une table SAS
    et/ou de leur affecter des valeurs en relation avec les valeurs de macrovariables

    Bien Cordialement

Discussions similaires

  1. screenshot dans une résolution > a celle affichée
    Par cemoi dans le forum DirectX
    Réponses: 8
    Dernier message: 29/12/2003, 18h16
  2. Résolution d'écran
    Par titicurio dans le forum C++Builder
    Réponses: 8
    Dernier message: 10/10/2003, 17h40
  3. [Impression] Probleme d'échelle/résolution
    Par Dajon dans le forum C++Builder
    Réponses: 3
    Dernier message: 12/05/2003, 14h56
  4. résolution d'equation f(x) = 0
    Par magicien dans le forum C
    Réponses: 8
    Dernier message: 06/05/2003, 16h06
  5. recuperer la résolution de l'écran
    Par florent dans le forum C++Builder
    Réponses: 11
    Dernier message: 07/06/2002, 15h01

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