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

ODS et reporting Discussion :

Proc Report - Somme en horizontal


Sujet :

ODS et reporting

  1. #1
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 289
    Points : 163
    Points
    163
    Par défaut Proc Report - Somme en horizontal
    Bonjour tout le monde,

    Savez-vous comment je peux avoir une colonne avec la somme totale pour chaque année.

    Voir code ci-dessous :

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    proc format;
    	picture sepmilliereuro	-999999999 -<0  = '000 000 009,99 €' (prefix = '-' decsep = ',')
    								0 - 999999999   = '000 000 009,99 €' (decsep = ',');
    	picture sepmillier 0-high = "000 000 009";
    run;
     
    data presta_popu; 
    	input pre_mnt_mutuelle pre_date_paiement code_perim $; 
    	format pre_date_paiement DATE9.;
    	cards;
    	2 17017 A
    	35 17517 A
    	82 17017 B
    	2 17517 B
    	35 18017 C
    	82 18017 A
    	;
    run;
     
    data presta_popu_an;
    	set presta_popu;
    	an = year(pre_date_paiement);
    run;
     
    proc report data = presta_popu_an
    	nowindows missing headline headskip;
    	column an code_perim , pre_mnt_mutuelle;
    	define an / display 'Année' group;
    	define pre_mnt_mutuelle / analysis 'Montant' format = sepmilliereuro.;
    	define code_perim / display 'Code Périmètre' across;
    	rbreak after / summarize skip dol;
    run;
    Merci.

    Ash_rmy.

  2. #2
    Membre chevronné
    Homme Profil pro
    Biostatisticien
    Inscrit en
    Juin 2009
    Messages
    1 206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Biostatisticien
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 206
    Points : 1 868
    Points
    1 868
    Par défaut
    le plus simple est de remplacer ta deuxième étape data par une proc sql pour calculer la somme par année.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    proc sql;
    	create table presta_popu_an	as
    	select *, year(pre_date_paiement) as an, sum(pre_mnt_mutuelle) as SOMME
    	from presta_popu
    	group by 4 
    	;
    quit;

    il faudra que tu modifies un peu ta report

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    747
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 747
    Points : 978
    Points
    978
    Par défaut
    Quelque chose comme cela ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    proc report DATA = presta_popu_an
    	nowindows missing headline headskip;
    	COLUMN an code_perim , pre_mnt_mutuelle sumAn;
    	define an / display 'Année' GROUP;
    	define pre_mnt_mutuelle / analysis 'Montant' format = sepmilliereuro.;
    	define code_perim / display 'Code Périmètre' across;
       define sumAn / computed;
    	rbreak after / summarize skip dol;
     
       compute sumAn;
          sumAn = sum(_c2_, _c3_, _c4_);
       endcomp;
    run;
    xav

  4. #4
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 289
    Points : 163
    Points
    163
    Par défaut
    merci bien !

    Ash_rmy.

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/03/2015, 17h53
  2. Dislpay et somme dans une proc report
    Par enicnath dans le forum ODS et reporting
    Réponses: 2
    Dernier message: 15/12/2011, 16h53
  3. Somme dans proc report
    Par ludo35 dans le forum SAS Base
    Réponses: 1
    Dernier message: 06/04/2011, 16h03
  4. Afficher les espaces dans une PROC REPORT
    Par Fatah93 dans le forum ODS et reporting
    Réponses: 6
    Dernier message: 07/05/2008, 22h30
  5. rave report (somme des champs par pages)
    Par mozcity dans le forum Composants VCL
    Réponses: 3
    Dernier message: 17/03/2006, 22h51

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