You will need to explore using PROC TRANSPOSE against your data, and also since you have a DATE variable, you will need to investigate using INTNX to reset your DATE variable creating a MONTH_START_DATE variable, with an output FORMAT suitable to your display needs.
From my experience, it's best to keep your SAS date variable intact when possible. That's your decision though.
Also, I would not consider using the MONTH function at all -- reconsider an alternative approach where you assign a character variable to the first three characters of the month period using a PUT function and the SAS format MONNAME3. and also use the UPCASE function.
As usual, with the SAS language, several technical approaches exist to solve a particular problem or quest.