1.) Create new variable in dataset that can be sorted 1 2012-1 2 2012-2 3 2012- 4 2012-10 5 32012-11 6 2012-12 Try to use "proc sql" to sort variables in dataset and create a new macro variable "var_YEAR_MONTH". proc sql noprint; select "'"|| trim(left(YEAR_MONTH)) || "'" into : var_YEAR_MONTH separated by " " from INJ_SUMMARY_2 order by no_YEAR_MONTH; quit; 2.) You can use substring or scan function to get only numbers in proc sql like: order by int(input(scan(YEAR_MONTH,1,'-')||scan(YEAR_MONTH,2,'-'),8.)); Then put that variable in axis with order: symbol1 i=join color=red v=dot; symbol2 i=join ci=green v=square; axis1 label=(a=90 'Sum'); axis2 label=(a=90 'Orders'); axis3 label=('Month') order=(&var_YEAR_MONTH) VALUE=(ANGLE=-45); legend1 label=none; title 'Multiple Plot Lines'; proc gbarline data=INJ_SUMMARY_2; bar YEAR_MONTH / raxis=axis1 sumvar=VOLUME width=10 maxis=axis3; plot / sumvar=ORDERS raxis=axis2; run;quit;
... View more