You could split the strings somehow and use INSET as a workaround (thanks to @Rick_SAS for the test data):
data Questions;
length Q Q1 Q2 $100;
Q = "The first question. Do you think it is very long?";
Q1 = "The first question";
Q2 = "Do you think it is very long?";
Val = "Yes"; Count = 16;
output;
Val = "No "; Count = 14;
output;
Q = "The second question. Do you think it is quite long?";
Q1 = "The second question";
Q2 = "Do you think it is quite long?";
Val = "Yes"; Count = 12;
output;
Val = "No "; Count = 18;
output;
run;
proc sgpanel data=Questions;
panelby Q / noheader;
vbar Val / freq=Count;
inset q1 q2 / nolabel position=top textattrs=(size=10);
rowaxis offsetmax=0.15;
run;
... View more