Reputation: 3
I am using ODS to output an rtf file with graphs for each warehouse, using the warehouse ID as the by value. I need to organize the graphs in ascending order of rejected products per 100 produced. I was reordering the graphs manually in Word, but now I am being asked to produce this for the top 20 warehouses instead of the top 5 and would prefer not to do this manually. I've created a variable (norder) to indicate the ranking of each warehouse, but if I sort by this or try to use it as a by value, it messes up the graphs. I have also tried the NOTSORTED option, but this did not work. Is there an easy way to do this? Below is my code:
proc transpose data=WIDE_war
out=Long_war(rename=(Col1=Value))
name=source;
by norder ID name county zipcode date;
var defect1 defect2;
run;
proc sort data=long_war; by ID name zipcode county; run;
OPTIONS orientation=landscape nodate;
ods rtf file="C:\Users\....Top_10_Warehouse.rtf" STYLE=Styles.rtf bodytitle STARTPAGE=NO;;
ods listing close;
ods noproctitle ;
ODS ESCAPECHAR='^';
title; footnote;
title;
ods graphics on / height=7in width=9in;
ods graphics/noborder;
/*Table*/
/*List name, ID, number of products produced, number of defects, the rate of defects per 100 units produced */
/*sort by descending order of the last number */
ods rtf text= "^{style[fontweight=bold just=c fontsize=14pt]Warehouses with the greatest number of defects per 100 units produced}";
proc sort data=req4; by descending rejrat2; run;
proc print data=req4 noobs label;
var ID name ZIPcode County;
var mean_prod newdefects rejrat2 /style(data)={ width=1in};
run;
* time trend plots;
ods rtf startpage=NOW;
ods rtf text= "^{style[fontweight=bold just=c fontsize=14pt] Trend plot of the warehouses listed in the above table since June 01, 2020}";
proc sgplot data=long_war;
by ID name county ;
title1 "ID= #byval(ID) ";
title2 "Name: #byval(name) ";
title3 "County: #byval(county) ";
vbar date/ response=Value group=source groupdisplay=stack grouporder=data NOOUTLINE;
xaxis type=linear thresholdmin=0 label="Date"
values=('01jun20'd to '13dec20'd by 7)
labelattrs=(size=12pt weight=bold)
valueattrs=(size=13pt);
yaxis min=0 label="Count" INTEGER grid
labelattrs=(size=12pt weight=bold)
values=(0 to 35 by 5)
valueattrs=(size=13pt) fitpolicy=thin offsetmin=0 ;
label Source = "Defects by type"
Value = "Count";
options NOBYLINE;
run;
ods rtf close;
ods listing ;
Upvotes: 0
Views: 114