Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > ODS et reporting
ODS et reporting Forum d'entraide sur les fonctionnalités de reporting de SAS : gérer les sorties et graphiques de SAS
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/01/2012, 11h06   #1
Membre du Club
 
Inscription : juillet 2002
Messages : 156
Détails du profil
Informations forums :
Inscription : juillet 2002
Messages : 156
Points : 40
Points : 40
Envoyer un message via MSN à foxrol
Par défaut PROC REPORT : Mise en forme des résultats

Bonjour j'ai un petit problème de mise en forme et j'espères que vous allez m'aider à le résourder.
En effet (voir fichier joint), j'ai une table issue d'un proc report avec le code ci-dessous:
Code sas :
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=TABLE.Ref_pdtcode1 split="~"  missing;
	COLUMN Famcat GROUPE SOUS_GROUPE FAMSTAT pdtcode Bestp  Sales_&an. Evol_sales nb_cust_&an. Evol_cust qty_&an. Evol_qty Margin_&an. Evol_margin  Sales_&an1. nb_cust_&an1. qty_&an1. Margin_&an1. ;
	define Famcat 		/ 'FAMCAT' GROUP ORDER LEFT style(COLUMN)=&style_column_famcat. style(header)=&style_header_famcat.;
	define GROUPE 		/  GROUP ORDER RIGHT style(COLUMN)=&style_column_famcat. style(header)=&style_header_famcat.;
	define SOUS_GROUPE 	/  GROUP ORDER RIGHT style(COLUMN)=&style_column_famcat. style(header)=&style_header_famcat.;
	define FAMSTAT 		/  GROUP ORDER RIGHT style(COLUMN)=&style_column_famcat. style(header)=&style_header_famcat.;
	define pdtcode 		/ 'No.' GROUP ORDER LEFT style(COLUMN)=&style_column_famcat. style(header)=&style_header_famcat.;
	define Bestp 		/ 'BP' GROUP ORDER RIGHT style(COLUMN)=&style_column_famcat. style(header)=&style_header_famcat.;
	define Sales_&an. 	/ 'Sales Y' analysis sum  style(COLUMN)=&style_sales. style(header)=&style_header_famcat.;
	define Evol_sales 	/ 'Evol.Sales' computed  style(COLUMN)=&style_column_famcat. style(header)=&style_header_famcat.;
	define nb_cust_&an. / 'Cust Y'   style(COLUMN)=&style_cust. style(header)=&style_header_var.;
	define Evol_cust 	/ 'Evol.Cust' computed style(COLUMN)=&style_cust. style(header)=&style_header_var.;
	define qty_&an. 	/ 'Qty Y' analysis sum  style(COLUMN)=&style_cust. style(header)=&style_header_famcat.;
	define Evol_qty 	/ 'Evol Qty' computed  style(COLUMN)=&style_column_famcat. style(header)=&style_header_famcat.;
	define Margin_&an. 	/ 'Gros Margin ~ Y' analysis sum  style(COLUMN)=&style_sales. style(header)=&style_header_famcat.;
	define Sales_&an1. 	/ 'Sales Y-1' analysis sum  style(COLUMN)=&style_sales. style(header)=&style_header_famcat.;
	define nb_cust_&an1./ 'Cust Y-1' style(COLUMN)=&style_cust. style(header)=&style_header_var.;
	define qty_&an1. 	/ 'Qty Y-1' analysis sum style(COLUMN)=&style_cust. style(header)=&style_header_var.;
	define Margin_&an1. / 'Gros Margin ~ Y-1' analysis sum style(COLUMN)=&style_sales. style(header)=&style_header_var.;
	break after FAMSTAT /ol skip summarize;
run;

Mon problème se situe donc au niveau du:
Code sas :
1
2
 
break after FAMSTAT /ol skip summarize;
, je voudrais avoir la somme sur la colonne Sales Y mais pas sur la colonne Cust Y(je voudrais en fait qu'elle soit vide), je ne l'ai pourtant pas définie en analysis sum comme les autres et pourtant la somme est tout de même effectuée.

Merci pour votre aide.
Images attachées
Type de fichier : jpg dev.JPG (140,9 Ko, 13 affichages)
foxrol est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2012, 14h13   #2
Expert Confirmé
 
Avatar de olivier.decourt
 
Homme Olivier Decourt
Formateur en informatique
Inscription : avril 2008
Messages : 1 467
Détails du profil
Informations personnelles :
Nom : Homme Olivier Decourt
Âge : 34
Localisation : France

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Conseil

Informations forums :
Inscription : avril 2008
Messages : 1 467
Points : 2 828
Points : 2 828
Bonjour.
Toutes les variables numériques sont par défaut en rôle ANALYSIS SUM. C'est pour cela que ta colonne "CUST Y" est gérée ainsi, même si tu ne l'indiques pas.
Tu peux ajouter un bloc COMPUTE pour vider les cases que tu ne souhaites pas voir calculées au moment de tes sous-totaux.
Code :
1
2
3
4
5
6
7
8
9
10
11
PROC REPORT DATA=sashelp.class NOWD ;
  COLUMNS age sex weight height ;
  DEFINE age / GROUP ;
  DEFINE sex / GROUP ;
  DEFINE weight / ANALYSIS MEAN ;
  DEFINE height / ANALYSIS MEAN ;
  BREAK AFTER age / SUMMARIZE OL SKIP ;
  COMPUTE AFTER age ;
    height.mean = . ;
  ENDCOMP ;
RUN ;
Bon courage.
Olivier
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 25/01/2012, 15h05   #3
Membre du Club
 
Inscription : juillet 2002
Messages : 156
Détails du profil
Informations forums :
Inscription : juillet 2002
Messages : 156
Points : 40
Points : 40
Envoyer un message via MSN à foxrol
Merci Olivier.
foxrol est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h02.


 
 
 
 
Partenaires

Hébergement Web