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 :

Variables calculées dans une macro manquantes dans la table de sortie


Sujet :

Macro

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Alimentation

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3
    Points : 5
    Points
    5
    Par défaut Variables calculées dans une macro manquantes dans la table de sortie
    Bonjour,

    J'ai des valeurs de consommations alimentaires sur 2 jours pour plusieurs nutriments (DR1Tkcalwoa et DR2Tkcalwao, DR1Tkcal et DR2Tkcal...), je calcule les moyennes pondérées selon si le jour (week-end ou semaine) de la consommation (identification par sem_wkd) à l'aide d'une macro, le calcul se fait mais dans ma table de sortie je n'ai qu'une colonne qui correspond à la dernière valeur calculée.

    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 calcul(var) ;
    data table5; set table4;
    if sem_wkd=21 then Y&var=((DR1T&var*2)+(DR2T&var*5))/7; 
    if sem_wkd=22 then Y&var=((DR1T&var)+(DR2T&var))/2; 
    if sem_wkd=12 then Y&var=((DR1T&var*5)+(DR2T&var*2))/7; 
    if sem_wkd=11 then Y&var=((DR1T&var)+(DR2T&var))/2; 
    run;
    %Mend;
    %calcul (kcalwoa);
    %calcul (kcal);
    %calcul (protkg);  
    %calcul (tfat_ei);  
    %calcul (epadha);
    %calcul (chol);
    %calcul (PFAT_ei);
    Quelqu'un pourrait me dire comment faire pour qu'une colonne pour le Y de chaque nutriment (kcalwao, kcal, protkg, tfat_ei, epadha, chol, et PFAT_ei) apparaisse dans ma table de sortie??

    Merci beaucoup pour votre aide!!!

  2. #2
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 99
    Points : 202
    Points
    202
    Par défaut
    Bonjour,

    Dans ta macro, tu pars toujours de table4...
    Il faudrait plutôt quelque chose du genre :
    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
     
    /*en dehors de la macro*/
    DATA table5;
    set table4;
    run;
    /*puis*/
    %Macro calcul(var) ;
    DATA table5; SET table5;
    /* ton code */
    run;
    %Mend;
    %calcul (kcalwoa);
    %calcul (kcal);
    %calcul (protkg);  
    %calcul (tfat_ei);  
    %calcul (epadha);
    %calcul (chol);
    %calcul (PFAT_ei);

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Alimentation

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3
    Points : 5
    Points
    5
    Par défaut
    Merci nahel! J'ai essayé mais j'ai toujours le même problème dans table5 en sortie je n'ai toujours que la colonne YPFAT_ei, les autres n'apparaissent pas... comme si le dernier calcul écrasait les précédents...

  4. #4
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 99
    Points : 202
    Points
    202
    Par défaut
    Citation Envoyé par Clelia19 Voir le message
    Merci nahel! J'ai essayé mais j'ai toujours le même problème dans table5 en sortie je n'ai toujours que la colonne YPFAT_ei, les autres n'apparaissent pas... comme si le dernier calcul écrasait les précédents...
    Il ne faut soumettre la première étape DATA qu'une seule fois. Sinon tu retombes dans le même écueil...
    Tu m'as mis le doute alors j'ai testé, mais chez moi ça marche

    PS : tu ne peux pas écraser les calculs précédents, lors de la résolution des macro-variables les noms sont différents...

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Alimentation

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3
    Points : 5
    Points
    5
    Par défaut
    Merci beaucoup Nahel! Ton explication était la bonne mais ça ne marchait pas car je n'avais pas quitté puis redémarré SAS! Maintenant que c'est fait ça marche!!
    Merci

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/10/2014, 17h28
  2. [AC-2007] Appel d'une macro 2007 dans une macro en VBA
    Par evema dans le forum IHM
    Réponses: 1
    Dernier message: 13/12/2011, 23h35
  3. utilisation d'une macro Excel dans une macro Word
    Par Tommy24 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 05/05/2011, 15h36
  4. Réponses: 10
    Dernier message: 18/04/2007, 18h17
  5. Comment insérer une macro excel dans une macro word?
    Par max2245 dans le forum VBA Word
    Réponses: 15
    Dernier message: 07/01/2006, 18h44

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