Here is an example to transpose data to a cross tab report using proc report and proc tabulate.
data input ;
do _n_ = 26 to 31 ;
do year = 2009 to 2012 ;
date = put( mdy( 12, _n_, 2012 ), yymmdd10. ) ;
value = round( ranuni( 1 ) * 1000, .01 ) ;
output ;
end ;
end ;
run ;
The below image contains the results of both procedures. The top result is from proc report followed by proc tabulate.
ods listing close ;
ods pdf file = "c:\temp\xtab.pdf" startpage = no style = sasweb ;
proc report data = input nowd ;
column date year, value ('Daily Total' value = value2) ;
define date / group '' ;
define year / across '' ;
define value / analysis sum '' format = dollar10.2 ;
define value2 / analysis sum '' f = dollar10.2 ;
rbreak after / dol skip summarize ;
compute after ;
date = 'Total' ;
endcomp ;
run ;
proc tabulate data = input ;
class date year ;
var value ;
table
date = '' all = 'Total'
, ( year = '' all = 'Daily Total' ) * value = ''
* sum = '' * f = dollar10.2 ;
run ;
ods pdf close ;
ods listing ;


No comments:
Post a Comment