|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité régulier
![]() Inscription : novembre 2011 Messages : 20 ![]() |
Bonjour,
Suite à ce post : http://www.developpez.net/forums/d11...squer-colonne/ J'ai une proc report comme suit : Code :
J'ai donc essayé de changer PCTSUM par ROWPCTSUM mais j'obtiens ce message d'erreur : Code :
|
||||
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() Inscription : novembre 2009 Messages : 77 ![]() |
C'est normal rowpctsum n'existe pas en proc report.
Le concept de "row" en proc report n'existe pas, ou en tout cas est différent de celui de proc tabulate et donner un sens à la stat rowpctsum n'est pas possible. Ce mot n'existant pas en proc report, proc report voit cela comme le nom d'une colonne computed. Tu dois calculer ce pct toi même, soit avant en faisant des groupes, soit dans le proc report comme: proc report DATA=DATA nowd; COLUMNS niv fin fin2 ('ATCDG' atcdg atcdgpctsum) ('ATCDC' atcdc atcdcpctsum) ('TAB' tab tabpctsum) dummy; define niv / GROUP noprint descending; define fin / GROUP NOPRINT descending; define fin2 / COMPUTED "Etablissements" ; define atcdgpctsum / '%' format=NLPCTN12.2; define atcdcpctsum / '%' format=NLPCTN12.2; define tabpctsum / '%' format=NLPCTN12.2; define dummy / computed noprint; compute dummy; tot = atcdg.sum + atcdc.sum + tab.sum; atcdgpctsum = atcdg.sum / tot; atcdcpctsum = atcdc.sum / tot; tabpctsum = tab.sum / tot; endcomp; break after niv / summarize; rbreak after / summarize; COMPUTE fin2 / LENGTH=20 ; SELECT (UPCASE(_break_)) ; WHEN ("NIV") fin2 = PUT(niv, fin.); WHEN ("_RBREAK_") fin2 = PUT(999, fin.) ; OTHERWISE fin2 = PUT(fin, fin.) ; END ; endcomp; run; |
|
|
10
|
Copyright © 2000-2012 - www.developpez.com