Ordonner par volume sur PROC TABULATE
Bonjour,
Soit la proc tabulate ci-dessous me donnant le volume d'identifiant opération par matricule...SAS guide me permet de classer par nom ou matricule mais pas par volume...faut il un order by? et à quel endroit?
Merci!
Code:
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
| PROC TABULATE
DATA=WORK.QUERY_FOR_GEC_PREMIUM_NAT_X
;
VAR "Identifiant opération"n;
CLASS "Matricule agent créé"n / ORDER=DATA MISSING;
CLASS "Nom Prenom"n / ORDER=DATA MISSING;
CLASS DSCS / ORDER=UNFORMATTED MISSING;
TABLE /* Dimension de page */
DSCS,
/* Dimension de ligne */
'Nom Prenom'n*
'Matricule agent créé'n*
N,
/* Dimension de colonne */
'Identifiant opération'n ;
;
RUN;
/* -------------------------------------------------------------------
Fin du code de la tâche.
------------------------------------------------------------------- */
RUN; QUIT;
TITLE; FOOTNOTE; |
Ordonner par volume sur PROC TABULATE
Bonjour,
Je ne suis pas sure de comprendre votre question mais la proc tabulate accepte une option order=data | formatted | freq | unformatted comme la proc freq.
Code:
proc tabulate data=work.query_for_gec_premium_nat_x order=freq;
Cordialement,
PS : Pensez à utiliser les balises [CODE] autour de votre code, ça facilite la lecture.
1 pièce(s) jointe(s)
Ordonner par volume sur PROC TABULATE
Bonjour,
Pouvez-vous copier-coller le résultat que vous obtenez ?
Pour les balises [CODE], il faut entourer le code par Pièce jointe 311339 ou sélectionner le texte et cliquer sur le signe http://www.developpez.net/forums/att...ions/titre.jpg. (Vous pouvez éditer vos précédents messages.)
Cordialement,
3 pièce(s) jointe(s)
Ordonner par volume sur PROC TABULATE
Bonjour,
Le programme que vous avez indiqué produit un tableau par DSCS. Le programme pour obtenir votre sortie serait plutôt celui-ci :
Code:
1 2 3 4
| PROC TABULATE DATA=WORK.PROD_CHEK order=freq;
CLASS LB_TYP_OPE2 DSCS;
TABLE (LB_TYP_OPE2*DSCS) all,N;
RUN; |
Pièce jointe 311700
La difficulté vient du fait que votre tableau de fréquences dépend de deux variables (équivalent d'un tableau croisé). Je pense que le plus simple est de concaténer les deux variables :
Code:
1 2 3 4 5 6 7 8 9
| data PROD_CHEK;
set PROD_CHEK;
LB_TYP_OPE2_DSCS = compbl(LB_TYP_OPE2 || " / " || DSCS);
run;
PROC TABULATE DATA=WORK.PROD_CHEK order=freq;
CLASS LB_TYP_OPE2_DSCS;
TABLE LB_TYP_OPE2_DSCS all,N;
RUN; |
Pièce jointe 311702
Je joins le fichier m'ayant servi de test.
Cordialement,