I have been trying Query Builder, but I cannot figure out how to use it in PROC REPORT and still retain all of the many format changes I have applied. Here is an example of the code and I just need to combine identical observations as the last task (I know this code is scrappy and inefficient, but it works hehe): PROC report data=hedge_report; columns (default_swap_ref_entity Issuer_id facility_id long_description) ("Swap Option Information" mature_date crf fix_rate1 n); define default_swap_ref_entity / order; define Issuer_ID / order; define Facility_ID / order format=facID.; define long_description / order; define mature_date / display; define CRF / display format=dollar.; define fix_rate1 / display format=percent.2; compute fix_rate1; do fix_rate1=(fix_rate1/100); end; endcomp; compute mature_date; if (today()-mature_date)<0 then do; call define("_C5_","style","STYLE={background=cx5bff5b font=('serif,Gill Sans MT',2)}"); call define("mature_date","format","active."); end; else if (today()-mature_date)>=730 then do; call define("_C5_","style","STYLE={background=cxff5b5b font=('serif,Times',2, bold)}"); call define("mature_date","format","expiry1plus."); end; else if (today()-mature_date)>=365 and (today()-mature_date)<730 then do; call define("_C5_","style","STYLE={background=cxff855b font=('serif,Times',2, bold)}"); call define("mature_date","format","expiry1plus."); end; else if (today()-mature_date)>=0 and (today()-mature_date)<365 then do; call define("_C5_","style","STYLE={background=cxffff5b font=('serif,Times',2, bold)}"); call define("mature_date","format","expiry01a."); end; endcomp; compute crf; if 0<=CRF<1000000 then do; call define("_C6_","style","STYLE={color=GREEN fontweight=bold}"); end; else if abs(CRF)>=1000000 then do; call define("_C6_","style","STYLE={color=GREEN fontweight=bold}"); call define("crf","format","ProfLoss."); end; else if CRF<0 then call define("_C6_","style","STYLE={color=RED fontweight=bold}"); endcomp; run;
... View more