instead of SUB value 'Agree services and credit' i want to show TOTAL word in group by sum row the issue is each SUB value is repeat again in group by sum row ,please help how can i remove that value.
PROC REPORT DATA=CCG.RICAGO_WEEKLY_MIS_FINAL out=summary_table_result LIST
/*style=[cellwidth=.1 in rules=group frame=void] */
style(header)=[background= #BBDEFB foreground=black]
style(summary)=[background=white foreground=black font_weight=bold]
style={font_size=10pt font=('Calibri') width=600 cellpadding=2 borderwidth=0 bordercolor=white}
;
COLUMN SBU entity (Module) 'SBU Wise Total (All modules) 'n 'Ageing Report'n ;
DEFINE SBU / GROUP center style=[foreground=black font_weight=bold borderleftwidth=2 borderrightwidth=2] ;
define entity / group center style=[foreground=black font_weight=bold borderleftwidth=2 borderrightwidth=2] ;
DEFINE Module / ACROSS center style =[borderleftwidth=1 borderrightwidth=1];
/*DEFINE count / ACROSS style =[borderleftwidth=1 borderrightwidth=1];*/
DEFINE 'Ageing Report'n / ACROSS center style =[borderleftwidth=1 borderrightwidth=1 ];
define 'SBU Wise Total (All modules) 'n /computed center style=[font_weight=bold foreground=black ] ;
break after SBU /summarize dol dul skip;
COMPUTE SBU ;
IF _break_='_RBREAK_' THEN
CALL DEFINE('SBU','style','style=[pretext="Total "]');
ENDCOMP;
compute 'SBU Wise Total (All modules)'n;
'SBU Wise Total (All modules)'n=sum(input(_c2_,best32.),
input(_c3_,best32.),
input(_c4_,best32.),
input(_c5_,best32.),
input(_c6_,best32.),
input(_c7_,best32.),
input(_c8_,best32.)
);
IF 'SBU Wise Total (All modules) 'n ^= ' '
THEN CALL DEFINE(_COL_, "style", "STYLE=[BACKGROUND=#FBFCFC]");
/* call define(_row_,'style','style={borderrightwidth=4 borderrightcolor=black}'); */
endcomp;
endcomp;
compute entity;
count+1;
if mod(count,2) then do;
call define(_row_, "style", "style=[background=#E8EAF6]");
end;
else do;
call define(_row_, "style", "style=[background=#BDC3C7]");
END;
endcomp;
rbreak after / summarize;
RUN;
Hi:
That is an equally simple thing to do with an assignment statement instead of using the CATX function:
_BREAK_ holds the NAME of the variable at the break. In my case, I am testing to see if the break is for REGION. In your case, your test would be for the variable named in your BREAK statement.
Cynthia
Hi:
You don't show the grand total line at the RBREAK, does your PRETEXT work there?
Is SBU a character or numeric variable. I tend only to use the PRETEXT method with numeric variables. I generally use the simple method with character variables.
Here's an example of the simple method, without using PRETEXT or CALL DEFINE (highlighting was not part of SAS code. I added it to show which statements impacted which report rows):
Cynthia
Thanks for @Cynthia_sas,
Your demo Example is related to my issue but i dont want to show 'Total For Asia ' entire word want to show only Total instead of 'Total For Asia ' .
SBU column is character datatype . i have show the grand total Below but i have not paste entire image for that reason you are not able to show below grand total .
Hi:
That is an equally simple thing to do with an assignment statement instead of using the CATX function:
_BREAK_ holds the NAME of the variable at the break. In my case, I am testing to see if the break is for REGION. In your case, your test would be for the variable named in your BREAK statement.
Cynthia
Thanks Again @Cynthia_sas ,
This code is working fine i am getting expected output.
Thanks Again,
Anil Patil
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
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.