I have something like attached. Is there a way to change the y axis to % while keeping the annotated actual count above the bars? (i.e. change response to pct but the 56.5, 62.8 etc above the bars?)

Percent of what? I don't understand how this applies to heights.
crude example, shouldn't have used heights... just used it as the visualization. pretend it is count data. Want % each bar contributes to the total count (if the heights were counts)
I think you need to pre-summarize the data so that the input data contains a Count for each category. Then you can use STAT=PCT to set the Y axis and use DATALABEL=Count to specify the bar labels:
/* create bar chart of counts by age */
proc means data=sashelp.class;
class age;
var height;
output out=ClassSummary N=Count;
run;
proc sgplot data=ClassSummary;
vbar age / freq=Count stat=pct datalabel=Count;
run;
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
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.