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 :

Somme des valeurs d'une variable


Sujet :

SAS Base

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    526
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 526
    Points : 224
    Points
    224
    Par défaut Somme des valeurs d'une variable
    Salut,

    J'ai une table avec plusieurs variables V1 V2 ..Vn contenant chacune plusieurs valeurs.
    Je voudrais faire la somme des valeurs de chacune des variables, cad obtenir
    S1=somme des valeurs de V1
    S2=somme des valeurs de V2
    ...

    Cependant quand je fais S1=sum(V1), il me recopie entièrement V1 dans S1
    Est-ce que qq voit le pb?

    Merci.

  2. #2
    Membre actif
    Femme Profil pro
    Analyste en Intelligence d'Affaires (BI)
    Inscrit en
    Avril 2008
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste en Intelligence d'Affaires (BI)
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 245
    Points : 290
    Points
    290
    Par défaut
    Citation Envoyé par stefsas Voir le message
    Salut,

    J'ai une table avec plusieurs variables V1 V2 ..Vn contenant chacune plusieurs valeurs.
    Je voudrais faire la somme des valeurs de chacune des variables, cad obtenir
    S1=somme des valeurs de V1
    S2=somme des valeurs de V2
    ...

    Cependant quand je fais S1=sum(V1), il me recopie entièrement V1 dans S1
    Est-ce que qq voit le pb?

    Merci.
    Bonjour,

    si tu fais cela dans une data il va forcement te mettre la même car à priori si tu utilises sum c'ets pour sommer plusieurs valeurs.
    si tu veux le total de ta variable je te conseillèrai plutot une proc summary ou une proc means (plus simple).
    cependant si tu veux faire la somme tout en gardant les données lignes à lignes une proc sql fera l'affaire dans ce cas la somme se repetera sur toutes les lignes!

  3. #3
    Membre émérite

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Points : 2 329
    Points
    2 329
    Par défaut
    Citation Envoyé par MDsas Voir le message
    Bonjour,

    si tu fais cela dans une data il va forcement te mettre la même car à priori si tu utilises sum c'ets pour sommer plusieurs valeurs.
    si tu veux le total de ta variable je te conseillèrai plutot une proc summary ou une proc means (plus simple).
    cependant si tu veux faire la somme tout en gardant les données lignes à lignes une proc sql fera l'affaire dans ce cas la somme se repetera sur toutes les lignes!
    Avec la proc SQL on peut faire des calculs comme la somme des variables
    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
     
    data t;
    format a 3.;
    input a;
    cards;
    1
    2
    3
    ;
    run;
    proc sql;
    create table add as
    select sum(a) as somme_a
    from t;
    quit;
    cependant si tu veux faire la somme tout en gardant les données lignes à lignes une proc sql fera l'affaire dans ce cas la somme se repetera sur toutes les lignes
    C'est spécial 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
     
    data t;
    format a 3.;
    input a;
    cards;
    1
    2
    3
    ;
    run;
    proc sql;
    create table add as
    select *,sum(a) as somme_a
    from t;
    Si tu ne mets pas * tu n'aura pas les autres valeurs de la table.

    Ce mécanisme ne fonctionne que sur SAS.
    En SQL ansi c'est une erreur de syntaxe.

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

Discussions similaires

  1. transmission des valeurs d'une variable d'une fonction a une autre
    Par Invité dans le forum GTK+ avec C & C++
    Réponses: 7
    Dernier message: 22/07/2009, 23h05
  2. [A-00] Somme des valeurs d'une liste
    Par Slici dans le forum VBA Access
    Réponses: 2
    Dernier message: 27/02/2009, 11h37
  3. Faire la somme des lignes d'une variable
    Par maxwell86 dans le forum Shell et commandes GNU
    Réponses: 11
    Dernier message: 18/12/2008, 18h45
  4. Stockage d'un historique des valeurs d'une variable temporaire
    Par keketteboy dans le forum VBA Access
    Réponses: 3
    Dernier message: 01/07/2008, 17h52
  5. Réponses: 9
    Dernier message: 18/02/2008, 11h25

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