Yeah, sorry I was not accurate. What I have is this: What I want is this: The code to produce output is: data in;
infile datalines delimiter=',';
input region $ country $ status $ Total $ GroupA $ GroupB $ ord;
datalines;
Asia ,Taiwan ,Asia ,xx (xx%) ,xx (xx%) ,xx (xx%) ,1
Asia ,Taiwan ,Taiwan ,xx (xx%) ,xx (xx%) ,xx (xx%) ,1
Asia ,Taiwan ,town1 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,1
Asia ,Taiwan ,town2 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,1
Asia ,Taiwan ,town3 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,1
Asia ,Taiwan ,town4 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,1
Asia ,Taiwan ,town5 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,1
Asia ,Taiwan ,town6 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,1
Europe ,Belgium ,Europe ,xx (xx%) ,xx (xx%) ,xx (xx%) ,2
Europe ,Belgium ,Belgium ,xx (xx%) ,xx (xx%) ,xx (xx%) ,2
Europe ,Belgium ,town1 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,2
Europe ,Belgium ,town2 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,2
Europe ,Belgium ,town3 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,2
Europe ,Belgium ,town4 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,2
Europe ,Belgium ,town5 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,2
Europe ,Belgium ,town6 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,2
Europe ,France ,France ,xx (xx%) ,xx (xx%) ,xx (xx%) ,3
Europe ,France ,town1 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,3
Europe ,France ,town2 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,3
Europe ,France ,town3 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,3
Europe ,France ,town4 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,3
Europe ,Germany ,Germany ,xx (xx%) ,xx (xx%) ,xx (xx%) ,4
Europe ,Germany ,town1 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,4
Europe ,Germany ,town2 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,4
Europe ,Germany ,town3 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,4
Europe ,Germany ,town4 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,4
Europe ,Germany ,town5 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,4
Europe ,Germany ,town6 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,4
Europe ,Germany ,town7 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,4
Europe ,Germany ,town8 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,4
Europe ,Greece ,Greece ,xx (xx%) ,xx (xx%) ,xx (xx%) ,5
Europe ,Greece ,town1 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,5
Europe ,Greece ,town2 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,5
Europe ,Greece ,town3 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,5
Europe ,Greece ,town4 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,5
Europe ,Greece ,town5 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,5
Europe ,Greece ,town6 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,5
Europe ,Israel ,Israel ,xx (xx%) ,xx (xx%) ,xx (xx%) ,6
Europe ,Israel ,town1 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,6
Europe ,Israel ,town2 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,6
Europe ,Israel ,town3 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,6
Europe ,Israel ,town4 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,6
Europe ,Israel ,town5 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,6
Europe ,Israel ,town6 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,6
Europe ,Italy ,Italy ,xx (xx%) ,xx (xx%) ,xx (xx%) ,7
Europe ,Italy ,town1 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,7
Europe ,Italy ,town2 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,7
Europe ,Italy ,town3 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,7
Europe ,Italy ,town4 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,7
Europe ,Italy ,town5 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,7
Europe ,Italy ,town6 ,xx (xx%) ,xx (xx%) ,xx (xx%) ,7
;run;
OPTIONS ORIENTATION=landscape nodate nonumber nocenter papersize=A4 helpbrowser=sas;
ODS escapechar='#';
ODS RTF bodytitle nogtitle startpage=yes
file="C:\table.rtf";
ods listing close;
proc report data=in nowd split="~" out=pom;
columns region country ord status Total GroupA GroupB;
define region/noprint;
define country/noprint;
define ord/order noprint;
define status/display style(column)=[indent=35 cellwidth=9.16cm] "Region -~ Country~ Site";
define total/display style(column)=[indent=0 cellwidth=4.47cm] "Region";
define GroupA/display style(column)=[indent=0 cellwidth=4.47cm] "GroupA";
define GroupB/display style(column)=[indent=0 cellwidth=4.47cm] "GroupB";
/*indentation region - country - town*/
compute status;
if status = region then do;
status = catx(" ", status, "-");
call define(_col_, "style", "style=[indent=0]");
end;
if status = country then do;
call define(_col_, "style", "style=[indent=20]");
end;
endcomp;
compute before ord;
line ' ';
endcomp;
run;
ods rtf close;
... View more