The log from your code shows:
6694 proc report data=have;
6695 column month n;
6696 define month / group format=monyyyy.;
ERROR: The format MONYYYY was not found or could not be loaded.
6697 run;
So, you should not get any PROC REPORT output. However, this does not match your subject line ... I suspect you have not shown us the actual code you are using. Please from now on, show us the actual code used.
The fix for months out of order, to force PROC REPORT to use the months in order, is
define month / group format=monyy. order=internal;
Without ORDER=INTERNAL, SAS puts things in alphabetical order, meaning April is the first month, and usually people don't want that. Using ORDER=INTERNAL, SAS puts things in numerical order, and since month is a numeric variable, SEP22 comes before APR23, the order is what people expect.
--
Paige Miller