SAS does have Proc Transpose that often is helpful in rearranging data:
data have;
input ID Source_A Source_B;
datalines;
1 1 1
2 0 0
3 1 1
4 1 1
5 0 1
6 1 0
7 0 1
8 0 1
9 0 0
10 1 1
;
proc transpose data=have out=trans;
by id;
run;
proc sgplot data=trans;
vbar _name_ / response=col1 state=mean;
run;
And different types of values may call for slightly different plots:
proc sgplot data=trans;
vbar _name_ / group=col1 ;
label _name_ ='Source'
col1='Value'
;
run;
or
proc sgplot data=trans;
vbar _name_ / group=col1 groupdisplay=cluster;
label _name_ ='Source'
col1='Value'
;
run;