In the proc report and with group keyword, variable that follow the same value can be displayed only at the first observation, but is there an option specification that displays "last" instead of "first"?
For example with this SAS official blog,
"Canada", "Pacific" of the region subject to the group keyword are displayed on the first line of the group.
Normal group displays Like this.
proc report data=shoes nowd;
title 'REPORT Default Behavior';
column region subsidiary product,(sales sales=savg);
define region / group
style(column)=Header;
define subsidiary / group
style(column)=Header;
define product / across 'Product Sales';
define sales / sum 'Sum' f=dollar10.;
define savg / mean 'Mean' f=dollar10.;
rbreak after / summarize style=Header;
run;
What I want is like this.Look position of Canada and Pacific.
Please let me know the option / technique to display like this.
Hi:
You need to change the vertical adjustment to "bottom" in order to change the position of the text in the spanning row cell. So you will need to change the VJUST attribute, as shown in this code.
cynthia
proc sort data=sashelp.shoes out=shoes;
by region subsidiary product;
where region in ('Canada' 'Pacific') and
product contains 'Casual';
run;
proc report data=shoes nowd spanrows;
title 'VJUST=M';
column region subsidiary product,(sales sales=savg);
define region / group
style(column)=Header{vjust=m};
define subsidiary / group
style(column)=Header;
define product / across 'Product Sales';
define sales / sum 'Sum' f=dollar10.;
define savg / mean 'Mean' f=dollar10.;
rbreak after / summarize style=Header;
run;
proc report data=shoes nowd spanrows;
title 'VJUST=B';
column region subsidiary product,(sales sales=savg);
define region / group
style(column)=Header{vjust=b};
define subsidiary / group
style(column)=Header;
define product / across 'Product Sales';
define sales / sum 'Sum' f=dollar10.;
define savg / mean 'Mean' f=dollar10.;
rbreak after / summarize style=Header;
run;
Hi:
You need to change the vertical adjustment to "bottom" in order to change the position of the text in the spanning row cell. So you will need to change the VJUST attribute, as shown in this code.
cynthia
proc sort data=sashelp.shoes out=shoes;
by region subsidiary product;
where region in ('Canada' 'Pacific') and
product contains 'Casual';
run;
proc report data=shoes nowd spanrows;
title 'VJUST=M';
column region subsidiary product,(sales sales=savg);
define region / group
style(column)=Header{vjust=m};
define subsidiary / group
style(column)=Header;
define product / across 'Product Sales';
define sales / sum 'Sum' f=dollar10.;
define savg / mean 'Mean' f=dollar10.;
rbreak after / summarize style=Header;
run;
proc report data=shoes nowd spanrows;
title 'VJUST=B';
column region subsidiary product,(sales sales=savg);
define region / group
style(column)=Header{vjust=b};
define subsidiary / group
style(column)=Header;
define product / across 'Product Sales';
define sales / sum 'Sum' f=dollar10.;
define savg / mean 'Mean' f=dollar10.;
rbreak after / summarize style=Header;
run;
Hi,Cynthia
Thank you so much !!
It worked very good!
Sincerely,t_ar_taat
Don’t miss the livestream kicking off May 7. It’s free. It’s easy. And it’s the best seat in the house.
Join us virtually with our complimentary SAS Innovate Digital Pass. Watch live or on-demand in multiple languages, with translations available to help you get the most out of every session.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.