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 :

Totaux sous proc Report


Sujet :

ODS et reporting

  1. #1
    Membre actif
    Inscrit en
    Novembre 2003
    Messages
    543
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 543
    Points : 239
    Points
    239
    Par défaut Totaux sous proc Report
    bonjour,
    Le programme suivant permet d'obtenir une ventilation par tranche d'âge et sexe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    proc report data=sashelp.class (where=(Age in (11,12))) nowd headline;
       column Age Sex Height Weight;
       define Age   / group;
       define Sex  / group width=3;
       break after Age / suppress skip summarize;
       rbreak after / summarize;
    run;
    J'obtiens le résultat suivant, avec les totaux sur la dernière ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
            Age  Sex     Height     Weight
      ------------------------------------
             11  F         51.3       50.5
                 M         57.5         85
                          108.8      135.5
     
             12  F        116.1      161.5
                 M        181.1      310.5
                          297.2        472
     
                            406      607.5
    Or, je cherche aussi à obtenir le total ventilé par sexe, ce qui n'est pas le cas ici.
    Quelqu'un sait-il comment faire ?

  2. #2
    Membre actif Avatar de tdiallo
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Mai 2012
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2012
    Messages : 118
    Points : 264
    Points
    264
    Par défaut
    Bonjour,
    Au lieu d'utiliser une proc report, je te propose la proc tabulate ci-dessous
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    proc tabulate data=sashelp.class (WHERE=(Age IN (11,12)));
    	class sex age;
    	var Height Weight;
    	table (sex=' '  all='Total'),(age='Age'  all='Total') *(Height='Height ' * sum=" "  Weight='Weight' *sum=" ");
     
    run;

  3. #3
    Membre actif
    Inscrit en
    Novembre 2003
    Messages
    543
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 543
    Points : 239
    Points
    239
    Par défaut
    Merci, mais c'est précisément la proc report que je veux utiliser.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Statisticien/développeur BI
    Inscrit en
    Janvier 2012
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Statisticien/développeur BI
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2012
    Messages : 326
    Points : 1 142
    Points
    1 142
    Par défaut
    Bonjour,

    Si tu veux absolument passer par une proc report, je peux te proposer de passer par des blocs compute ...

    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
    proc report DATA=sashelp.class (WHERE=(Age IN (11,12))) nowd headline;
       COLUMN Age Sex Height Weight;
       define Age   / GROUP;
       define Sex  / GROUP width=3;
    	break after Age / suppress skip summarize;
       rbreak after / summarize;
    	compute after sex ;
    		if sex="F" then do;
    			TOTAL_HEIGHT_F=height.sum;
    			TOTAL_WEIGHT_F=weight.sum;
    			end;
    		else do;
    			TOTAL_HEIGHT_M=height.sum;
    			TOTAL_WEIGHT_M=weight.sum;
    			end;
    	endcomp;
    	compute after ;
    		line'';
    		line @10 'total M :' @35 TOTAL_HEIGHT_F 5.1 @50 TOTAL_WEIGHT_F 5.1;
    		line @10 'total F :' @35 TOTAL_HEIGHT_M 5.1 @50 TOTAL_WEIGHT_M 5.1;
    	endcomp;
    run;

  5. #5
    Membre actif
    Inscrit en
    Novembre 2003
    Messages
    543
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 543
    Points : 239
    Points
    239
    Par défaut
    Ok, merci c'est ce que je cherchais.

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

Discussions similaires

  1. Tableau avec sous-totaux dans Rave Report
    Par jackvpt dans le forum Rave
    Réponses: 4
    Dernier message: 21/12/2010, 23h53
  2. datediff sous crystal report
    Par HULK dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 16/09/2005, 08h56
  3. [CR 8.5] Jointure Externe sous Crystal report
    Par alpachico dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 28/06/2005, 14h06
  4. Pb d'arrondi sous Crystal Report
    Par blutch19 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 21/02/2005, 15h51
  5. [RAVE] Creation d'un sous-etat sous RAVE Report
    Par ms91fr dans le forum Rave
    Réponses: 1
    Dernier message: 25/10/2004, 11h12

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