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 03/02/2011, 16h15   #1
Membre éclairé
 
Avatar de Filippo
 
Homme Philippe
Statisticien
Inscription : mai 2004
Messages : 654
Détails du profil
Informations personnelles :
Nom : Homme Philippe
Âge : 38
Localisation : France, Eure (Haute Normandie)

Informations professionnelles :
Activité : Statisticien

Informations forums :
Inscription : mai 2004
Messages : 654
Points : 396
Points : 396
Par défaut [Proc Tabulate] répéter occurences identiques d'une ligne

Bonjour,
J'utilise une proc tabulate pour éditer un tableau avec un croisement de variables.

Code :
1
2
3
4
proc tabulate DATA=query;
		class Metier EmploiEnClair Niveau;
		TABLE Metier*EmploiEnClair ALL='TOTAL', Niveau*n='' ALL='TOTAL';
run;
Est-il possible de répéter les occurences de la première colonne (de métier) même quand elle sont identiques pour plusieurs EmploiEnClair ?

Merci.

__________________
"Le sage ne dit pas ce qu'il sait alors que le sot ne sait pas ce qu'il dit"
Filippo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 16h57   #2
Rédacteur
 
Homme Stéphane
Consultant et formateur SAS et Cognos
Inscription : avril 2009
Messages : 1 791
Détails du profil
Informations personnelles :
Nom : Homme Stéphane
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Consultant et formateur SAS et Cognos
Secteur : Conseil

Informations forums :
Inscription : avril 2009
Messages : 1 791
Points : 4 012
Points : 4 012
je ne pense pas.
__________________
N'oubliez pas de cliquer sur lorsque votre problème est réglé !

Moteur de recherche dans les papiers SAS
datametric est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 17h07   #3
Membre éclairé
 
Avatar de Filippo
 
Homme Philippe
Statisticien
Inscription : mai 2004
Messages : 654
Détails du profil
Informations personnelles :
Nom : Homme Philippe
Âge : 38
Localisation : France, Eure (Haute Normandie)

Informations professionnelles :
Activité : Statisticien

Informations forums :
Inscription : mai 2004
Messages : 654
Points : 396
Points : 396
Ok,
merci Stéphane.

__________________
"Le sage ne dit pas ce qu'il sait alors que le sot ne sait pas ce qu'il dit"
Filippo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 17h26   #4
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 823
Points : 2 823
Il faudrait plutôt chercher dans la procédure REPORT, avec un bloc COMPUTE pour répéter les valeurs sous-entendues de METIER, et un rôle ACROSS pour avoir ton tableau croisé.
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 09h47   #5
Membre éclairé
 
Avatar de Filippo
 
Homme Philippe
Statisticien
Inscription : mai 2004
Messages : 654
Détails du profil
Informations personnelles :
Nom : Homme Philippe
Âge : 38
Localisation : France, Eure (Haute Normandie)

Informations professionnelles :
Activité : Statisticien

Informations forums :
Inscription : mai 2004
Messages : 654
Points : 396
Points : 396
Merci Olivier,
je vais regarder la proc report
__________________
"Le sage ne dit pas ce qu'il sait alors que le sot ne sait pas ce qu'il dit"
Filippo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 09h56   #6
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 823
Points : 2 823
Hello !
Voici une petite ébauche pour que ta proc Report ressemble à Tabulate...
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
OPTION ORIENTATION=LANDSCAPE ;
PROC TABULATE DATA=sashelp.shoes ;
  CLASS product region subsidiary ;
  TABLE region*subsidiary ALL="TOTAL", product*N="" ALL="Total";
RUN ;
PROC REPORT DATA=sashelp.shoes NOWD ;
  COLUMNS region subsidiary product N ;
  DEFINE region / GROUP ;
  DEFINE subsidiary / GROUP ;
  DEFINE product / ACROSS ;
  DEFINE N / "Total" ;
  RBREAK AFTER / SUMMARIZE ;
  COMPUTE BEFORE region ; /* 1e ligne de chaque région */
    memoire_region = region ; /* RETAIN implicite */
  ENDCOMP ;
  COMPUTE region ;
    IF MISSING(region) THEN region = memoire_region ;
	IF _break_="_RBREAK_" THEN region = "TOTAL" ;
  ENDCOMP ;
RUN ;
Jusqu'au RBREAK, ça reste encore compréhensible (enfin si tu es familier de la proc Report). Ensuite, les blocs COMPUTE interviennent une fois que le tableau est constitué, avant de l'afficher. C'est une espèce d'étape DATA sur le tableau. Le COMPUTE BEFORE est l'équivalent d'un IF FIRST dans une étape DATA ; le COMPUTE tout court s'exécute à toutes les observations.
Bon courage.
Olivier
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 04/02/2011, 09h59   #7
Membre éclairé
 
Avatar de Filippo
 
Homme Philippe
Statisticien
Inscription : mai 2004
Messages : 654
Détails du profil
Informations personnelles :
Nom : Homme Philippe
Âge : 38
Localisation : France, Eure (Haute Normandie)

Informations professionnelles :
Activité : Statisticien

Informations forums :
Inscription : mai 2004
Messages : 654
Points : 396
Points : 396
Merci beaucoup Olivier,
je n'en demandais pas autant, je vais me documenter plus sur la proc report.

Bonne journée.

__________________
"Le sage ne dit pas ce qu'il sait alors que le sot ne sait pas ce qu'il dit"
Filippo 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 06h01.


 
 
 
 
Partenaires

Hébergement Web