HI Sas Experts,
I wanted to remove the final bar from the waterfall chart. Please guide
Please check the attched image.
Yes there is.
You will need to use GTL to do this.
For a start you can use your Proc SGPLOT code and add the TMPLOUT= option. This will write out the GTL code to a file.
proc sgplot data=sashelp.class tmplout="c:\temp\sgplot.sas";
waterfall category=age response=height ;
run;
Then adapt the code like below. Check the doc for the WATERFALLCHART statement it has the DISPLAY= option.
ods path
(prepend) work.mytemplates (update)
;
proc template;
define statgraph sgplot_waterfall;
begingraph / collation=binary;
layout overlay / yaxisopts=(labelFitPolicy=Split) y2axisopts=(labelFitPolicy=Split);
WaterfallChart Category=Age Response=Height /
primary=true LegendLabel="Height" NAME="WATERFALL"
display=(
FILL
/* FINALBAR displays the “final” bar */
OUTLINE
CONNECT
)
;
endlayout;
endgraph;
end;
run;
proc sgrender data=sashelp.class template=sgplot_waterfall;
run;
Bruno
Yes there is.
You will need to use GTL to do this.
For a start you can use your Proc SGPLOT code and add the TMPLOUT= option. This will write out the GTL code to a file.
proc sgplot data=sashelp.class tmplout="c:\temp\sgplot.sas";
waterfall category=age response=height ;
run;
Then adapt the code like below. Check the doc for the WATERFALLCHART statement it has the DISPLAY= option.
ods path
(prepend) work.mytemplates (update)
;
proc template;
define statgraph sgplot_waterfall;
begingraph / collation=binary;
layout overlay / yaxisopts=(labelFitPolicy=Split) y2axisopts=(labelFitPolicy=Split);
WaterfallChart Category=Age Response=Height /
primary=true LegendLabel="Height" NAME="WATERFALL"
display=(
FILL
/* FINALBAR displays the “final” bar */
OUTLINE
CONNECT
)
;
endlayout;
endgraph;
end;
run;
proc sgrender data=sashelp.class template=sgplot_waterfall;
run;
Bruno
Hi Bruno,
Thats working fine, can i also get the values on the top of the each bar.(and I also want to get the space between each bar is there is anyway to do this).
Thank you very much.
Hi
Have a look at the doc for the WATERFALL statement, data values can usally be displayed with the DATALABEL option.
Bruno
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.