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 :

Récupérer valeur d'une variable créé par concaténation


Sujet :

Macro

  1. #1
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Octobre 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Octobre 2014
    Messages : 1
    Points : 4
    Points
    4
    Par défaut Récupérer valeur d'une variable créé par concaténation
    Bonjour, je suis débutant et voici mon problème:
    j'ai une variable qui s'appelle K qui contient plein des valeurs (ex: 9 10 6 21 chaque nombre est une observation de k)
    J'ai plusieurs variables qui s'appelle coeff_i (ou i est entre 0 et 30) avec tout plein d'observations
    J'ai plusieurs variable qui s'appelle L_interi (ou i est aussi entre 0 et 30) avec tout plein d'oservations.
    j'ai donc 63 variables (avec toutes autant d'observations)


    je décide de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     %do i=0 %TO 35 ;
     Coefficient_&i=(Coeff_&i)/(2*(L_inter&k));
     %end;
    En fait ici j'appelle une nouvelle variable qui devrait contenir la valeur de Coeff_&i (qui fonctionne) diviser par L_inter&k qui devrait etre la valeur de L_inter4 par exemple si k=4.
    MAIS là est le problème il n'arrive pas à lire L_inter&k. Comment faire pour récupérer la valeur de la colonne L_inter&k? (sachant que Coefficient_&i=Coeff_&i/k; fontionne parfaitement par exemple).

    Merci beaucoup, bonne soirée

  2. #2
    Membre expérimenté
    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
    Points : 1 552
    Points
    1 552
    Par défaut
    Citation Envoyé par kimou78 Voir le message
    j'ai une variable qui s'appelle K qui contient plein des valeurs (ex: 9 10 6 21 chaque nombre est une observation de k)
    Bonjour,
    C’est normal que SAS n’arrive pas à lire L_inter&k parce que k pour lui est une variable et n’est pas une macro variable et par conséquent le dénominateur est un texte (2* L_inter&k).

    Cdt Ward

  3. #3
    Membre éprouvé
    Avatar de m.brahim
    Homme Profil pro
    SAS / BIG DATA
    Inscrit en
    Juillet 2011
    Messages
    461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : SAS / BIG DATA
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 461
    Points : 1 119
    Points
    1 119
    Billets dans le blog
    14
    Par défaut
    Bonjour,

    Je te propose cette solution:
    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
     
    data test;
    input k coeff1 coeff2 coeff3 coeff4 l_in1 l_in2 l_in3 l_in4;
    cards;
    3 10 2 3 4 5 6 7 8
    2 11 2 33 44 55 66 77 88
    1 111 22 333 444 555 666 777 888
    4 12 13  14 15 555 666 777 888
    ;
    run;
     
    data test1;
    set test;
    array co{*} coeff:;
    array lns{*} l_in:;
    array coef{*} coeffi1-coeffi4 ;
    do i=1 to dim(co);
    do j=1 to dim (lns);
    if j=k then coef(i)=co(i)/(2*lns(j));
    end;
    end;
    run;
    Cordialement
    Certification des Talents de la programmation In Memory Statistics sur HADOOP:
    http://talents-imstat.groupe-avisia....avance?uid=162

  4. #4
    Membre expérimenté
    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
    Points : 1 552
    Points
    1 552
    Par défaut
    Bonjour,
    C'est une solution pour le code MACRO :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    %do m=0 %to 35 ;  
                if k=&m then do ;
    %do i=0 %to 35 ;
    Coefficient_&i=Coeff_&i/(2*L_inter&m) ;  
    %end ;
                           end ;
    %end ;
    Cordialement

Discussions similaires

  1. Récupérer valeur d'une variable d'une autre class
    Par absot dans le forum Débuter avec Java
    Réponses: 7
    Dernier message: 03/11/2009, 17h25
  2. Récupérer en javascript une variable envoyée par radio buttom
    Par Alexandrebox dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 07/02/2008, 16h04
  3. Récupérer valeur d'une variable Javascript.
    Par D3V1L J4M dans le forum ASP.NET
    Réponses: 1
    Dernier message: 08/11/2007, 03h27
  4. [MySQL] récupérer valeur d'une variable dans une autre table
    Par Tee shot dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 15/03/2007, 22h07

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