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 conditionnelle avec nombre de colonnes non constant


Sujet :

SAS Base

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 33
    Points : 34
    Points
    34
    Par défaut Somme conditionnelle avec nombre de colonnes non constant
    Bonjour,
    je souhaite calculer le nombre mensuel d’occurrence à condition que deux années correspondent. J'ai écris le petit code ci-dessous.
    Comment puis je paramétrer ce code pour effectuer le même travail quel que soit le nombre de colonnes en entrée?
    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
     
    DATA table0;
    format an_surv an_ouv mois;
    input an_surv an_ouv mois CL012008 CL022008 CL032008;
    cards;
    2008 2008 1 1 5 56
    2008 2008 2 10 7 45
    2008 2008 2 100 35 22
    2008 2009 2 1000 42 13
    2009 2009 2 150 17 5
    2010 2011 3 300 23 200
    ;
    run;
    proc sql;
    CREATE TABLE table1 AS
    SELECT distinct an_ouv,an_surv, mois, sum(CL012008) AS somme_012008, sum(CL022008) AS somme_022008, sum(CL032008) AS somme_032008
    FROM table0
    where an_surv=an_ouv
    group by an_ouv, mois;
    run;
    Nb: le resultat de cette table est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    an_ouv	an_surv	mois	somme_012008	somme_022008	somme_032008
    2008	2008	1	1	5	56
    2008	2008	2	110	42	67
    2009	2009	2	150	17	5
    Merci d'avance pour votre aide.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Attaché statisticien
    Inscrit en
    Mai 2011
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Attaché statisticien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2011
    Messages : 687
    Points : 1 581
    Points
    1 581
    Par défaut
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    PROC SUMMARY DATA=table0(where=(an_surv=an_ouv));
    CLASS an_surv an_ouv mois;
    VAR CL: ;
    TYPES an_surv*an_ouv*mois;
    OUTPUT OUT=resultat SUM=;
    RUN;
    si j'ai bien compris ton problème somme par an_surv an_ouv et mois lorsque an_surv=an_ouv sur les variables CLxxxxx

    bon courage.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 33
    Points : 34
    Points
    34
    Par défaut Merci
    Merci beaucoup c'est exactement ce que je cherchais!

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/04/2015, 12h59
  2. utiliser UNION avec un nombre de colonnes non égal
    Par swissmade dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 20/08/2007, 11h03
  3. [BO] Nombre de colonnes non valide
    Par LaPanic dans le forum Débuter
    Réponses: 2
    Dernier message: 07/08/2007, 14h18
  4. JTable avec nombre de colonne dynamique
    Par fileaxfog dans le forum Composants
    Réponses: 3
    Dernier message: 17/05/2007, 14h07
  5. [MEGA DEBUTANT] Compter le nombre de colonne non vide
    Par drikse dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/09/2006, 10h59

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