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

Débutez Discussion :

Répétition d'opération avec DO


Sujet :

Débutez

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Data manager
    Inscrit en
    Août 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Data manager

    Informations forums :
    Inscription : Août 2015
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Répétition d'opération avec DO
    Bonjour à tous,

    Je suis novice avec SAS et je rencontre un problème que je n'arrive pas à solutionner.

    J'ai une table avec les résultats d'un test qui a 15 questions. Donc les variables se nomment RES_1 à RES_15 et sont des chiffres sous format caractère.
    Je souhaite donc faire l'opération suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    IF RES_1 not in ('' 'ND' 'NA') THEN RES_V1=input(RES_1,BEST12.);
    ELSE RES_V1=.;
    Je souhaite répéter cette opération pour les 15 variables et j'ai donc essayé ce code dans une étape data:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    DO i=1 TO 15;
    IF RES_(i) not in ('' 'ND' 'NA') THEN RES_V(i)=input(RES_(i),BEST12.); 
    ELSE RES_V(i)=.;
    end;
    Mais SAS me dit que je n'ai pas déclaré d'Array, je ne sais pas comment m'en sortir.

    Je vous remercie par avance.

  2. #2
    Membre confirmé
    Homme Profil pro
    Consultant Finance/Assurance
    Inscrit en
    Décembre 2013
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant Finance/Assurance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 198
    Points : 638
    Points
    638
    Par défaut
    Bonjour,

    Mais SAS me dit que je n'ai pas déclaré d'Array, je ne sais pas comment m'en sortir.
    En déclarant un Array :p

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    data test;
    set ta_table;
    array x{*} res_1-res_15 ;
    array y{*} res_V1-res_V15;
    do i=1 to dim(x);
    IF x{i} not in ('' 'ND' 'NA') THEN y{i}=input(x{i},BEST12.);
    ELSE y{i}=.;
    end;
    run;
    Je n'ai pas testé mais ça devrait marcher !

    Bon courage !

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Data manager
    Inscrit en
    Août 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Data manager

    Informations forums :
    Inscription : Août 2015
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Merci beaucoup flo00154, ça fonctionne ! Depuis le temps que je cherchais

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

Discussions similaires

  1. [WSDL]opérations avec meme types de parametres
    Par lion13 dans le forum Websphere
    Réponses: 1
    Dernier message: 22/11/2007, 10h07
  2. [WSDL] Opérations avec meme types de paramatres
    Par lion13 dans le forum Weblogic
    Réponses: 0
    Dernier message: 22/11/2007, 10h05
  3. Opérations avec Jours Fériés
    Par XGotX dans le forum Langage SQL
    Réponses: 8
    Dernier message: 07/08/2007, 11h52
  4. Réponses: 1
    Dernier message: 07/05/2007, 20h12
  5. Opérations avec Chiffres > à 10 milliards
    Par aristeas dans le forum Langage
    Réponses: 7
    Dernier message: 24/01/2007, 18h03

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