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

SAS Base Discussion :

Modifier les valeurs des données selon critères


Sujet :

SAS Base

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Février 2014
    Messages : 14
    Points : 11
    Points
    11
    Par défaut Modifier les valeurs des données selon critères
    Bonjour,

    Dans le cadre de mon travail, je dois secretiser des données pour pouvoir les publier selon des conditions.
    Une des conditions est que si une des variables appartenant à un groupe de variable est égale à 11, je dois indiquer la valeur S pour une autre variable du même groupe de variable.
    Par exemple, la groupe de variable comprend les questions : Q1,Q2,Q3;Q4.
    Q1=11 et je voudrai que soit Q2,Q3;Q4 soit égale à S.
    ..
    Je voudrais pouvoir appliquer cette procédure pour toutes les variables.
    Je cherche donc à connaitre les procédures ou macro permettant d'identifier des groupes de variables et changer la valeur de la variable sans créer de nouvelles variables.
    Quelque voit-il quelles procédures je puisse appliquer ?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 133
    Points : 371
    Points
    371
    Par défaut
    Bonjour

    et une simple valeur manquante spéciale ?

    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
     
    data test;
    input q1 q2 q3 q4 q5 ;
    cards;
    1 2 3 4 5
    11 12 13 14 15
    ;
     
    data test2;
       set test;
       if q1=11 then do ;
          q2=.s;
    	  q3=.s;
    	  q4=.s;
    	  q5=.s;
       end;
    run;
    je devine que la solution ne conviendra pas si vous avez besoin de statistiques récapitulatives... la moyenne de Q2 dans la table TEST, c'est 7, dans TEST2, c'est 2...

    Cordialement

    Sébastien Ringuedé

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Février 2014
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Merci beaucoup, c'est une première piste intéressante.
    cependant parmi le groupe de variables Q1,Q2,Q3,Q4,Si Q1=11 , je voudrais que seulement une variable parmi q2,q3,q4 soit égale à S , les autres doivent garder leurs valeurs..
    Serait -il possible de demander d'indiquer la valeur S à la question qui a la valeur la plus haute ?
    Merci beaucoup d'avance!

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 133
    Points : 371
    Points
    371
    Par défaut
    bien entendu, c'est possible (puisque tout est possible avec SAS)

    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
     
    data test ;
       input q1 q2 q3 q4 q5 ;
       cards;
    11 1 2 3 4
    11 2 3 4 1
    11 3 4 4 2
    5  1 2 3 4
    ;
     
    data test2(drop=i);
       set test;
       array qq(4) q2-q5;
       if q1=11 then do ;
          do i=1 to 4;
             if qq(i)=max(of qq(*)) then qq(i)=.s;
          end;
       end;
    run;
    Cordialement

    Sébastien Ringuedé

Discussions similaires

  1. Modifier les couleurs des abscisses selon le nom des abscisses
    Par bastba dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/03/2017, 18h39
  2. Modifier les valeurs des propriétés d'un sélecteur
    Par marcel marie dans le forum Général JavaScript
    Réponses: 22
    Dernier message: 02/03/2015, 19h19
  3. Modifier les valeurs des champs en utilisant pentaho
    Par nandy.c dans le forum kettle/PDI
    Réponses: 2
    Dernier message: 12/03/2012, 17h04
  4. Réponses: 5
    Dernier message: 06/08/2008, 16h24
  5. Lire un fichier Excel pour modifier les valeurs des cellules
    Par Paloma dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 31/10/2006, 15h13

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