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 :

update plusieurs colonnes à la fois


Sujet :

SAS Base

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 103
    Points : 54
    Points
    54
    Par défaut update plusieurs colonnes à la fois
    salut tlm;

    tout bete mais !!!

    je voudrais effectuer un update d'un bloc de colonnes sous sas mais... !!!

    si je met à jour une colonne ,ça marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    proc sql;
    UPDATE essai SET var1=5
     WHERE attribut= 'aime';run; quit;
    mais un bloc de colonnes var1--var20=5


    de l'aide svp !!

  2. #2
    Membre éprouvé
    Avatar de steelspirit
    Homme Profil pro
    SAS discute
    Inscrit en
    Janvier 2008
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SAS discute
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 472
    Points : 916
    Points
    916
    Par défaut
    Salut,

    Sauf erreur de ma part il me semble que tu n'a pas le choix : il faut lister toutes tes variables

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    proc sql;
    UPDATE essai 
    SET var1=5, var2=5, var3=5 etc ...
    WHERE attribut= 'aime';
    quit;
    Du coup tu as peut être meilleur temps de faire une étape DATA avec un ARRAY :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    data essai;
       set essai;
       ARRAY var{20} var1--var20;
       if attribut= 'aime' then do;
          do i=1 to 20;
              var{i}=5;
          end;
       end;
    run;
    Steel

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 249
    Points : 290
    Points
    290
    Par défaut
    Bonjour,

    Une petite contribution : '--' signifie que l'on raisonne en positionnel, donc s'il y a des variable non-numériques entre var1 et var20, il y aura un souci !
    '-' signifie à SAS d'énumérer simplement quelque-soit la position dans le set...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    DATA essai ;
       SET essai ;
       ARRAY avar(*) var1-var20;
       IF attribut= 'aime' then do;
          do i=1 TO dim(avar);
              avar(i)=5;
          end;
       end;
    run;
    Bon courage !

Discussions similaires

  1. UPDATE plusieurs colonnes sql
    Par vitali216 dans le forum Requêtes
    Réponses: 2
    Dernier message: 24/01/2014, 15h00
  2. UPDATE sur plusieurs colonnes à la fois
    Par yuukuari dans le forum Requêtes
    Réponses: 8
    Dernier message: 18/11/2009, 14h46
  3. Update plusieurs colonnes et plusieurs conditions
    Par Ben1276 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 22/09/2009, 11h03
  4. Requete update plusieurs colonnes sql paradox
    Par vitch8 dans le forum Paradox
    Réponses: 1
    Dernier message: 06/03/2009, 17h35
  5. update plusieurs valeurs à la fois
    Par lesarbres dans le forum Langage SQL
    Réponses: 1
    Dernier message: 03/11/2006, 08h05

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