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 :

[SAS 9.2] Call SymputX : macro-variable non créee


Sujet :

Macro

  1. #1
    Membre éclairé Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Points : 881
    Points
    881
    Par défaut [SAS 9.2] Call SymputX : macro-variable non créee
    Bonjour,

    Dans une macro je crée une macro-variable avec Call SymputX :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C2=&MyCoherencePasVerifiee; CALL SYMPUTX('MySALBRUA', SALBRUA,'G'); CALL SYMPUTX('MySALBRU1', SALBRU1,'G');%If %eval(&MySALBRUA)<%eval(&MySALBRU1) %Then %do; C2=&MyCoherenceNok; %End; %Else %Do; C2=&MyCoherenceOk; %End;
    A priori la macro-variable &MySALBRUA n'est pas créee alors que &MySALBRU1 est bien créee :

    MPRINT(TESTCOHERENCES): CALL SYMPUTX('MySALBRUA', SALBRUA,'G');
    MPRINT(TESTCOHERENCES): CALL SYMPUTX('MySALBRU1', SALBRU1,'G');
    WARNING: Référence symbolique apparente MYSALBRUA non traitée.
    WARNING: Référence symbolique apparente MYSALBRUA non traitée.
    ERROR: Opérande caractère trouvé dans la fonction %EVAL ou condition %IF là où un opérande
    numérique est requis. La condition était : &MySALBRUA
    SYMBOLGEN : Macro variable MYSALBRU1 traitée dans +0000673
    Est-il mieux de déclarer les macro-variables avec %Global à la main ?
    Faut-il les initialiser obligatoirement ?

    Merci
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    747
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 747
    Points : 978
    Points
    978
    Par défaut
    Salut,

    Est-il mieux de déclarer les macro-variables avec %Global à la main ?
    Oui !
    Faut-il les initialiser obligatoirement ?
    C'est préférable !

    Le problème vient que ton étape DATA n'est pas exécutée parce que tu n'as pas d'observations ou alors que tu as un autre problème.

    xav

  3. #3
    Membre éclairé Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Points : 881
    Points
    881
    Par défaut
    Merci Xav.
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

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

Discussions similaires

  1. Call SymputX et comparaison macro-variable
    Par Filippo dans le forum Macro
    Réponses: 5
    Dernier message: 21/05/2010, 16h05
  2. Affectation de macro-variables avec Call SymputX
    Par Filippo dans le forum Macro
    Réponses: 2
    Dernier message: 19/04/2010, 15h15
  3. macro variable SAS
    Par granchef dans le forum Macro
    Réponses: 3
    Dernier message: 03/04/2009, 11h41
  4. Réponses: 5
    Dernier message: 16/09/2008, 17h28
  5. Réponses: 3
    Dernier message: 03/09/2008, 15h47

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