Hi! I am trying to learn PROC REPORT and am having difficulty getting my dates to print in the correct order. Here's my code:
PROC REPORT DATA = CAUTI_2016 NOWINDOWS ;
COLUMN DATE LOCATION, (CAUTI DRAIN_DAYS) ;
DEFINE DATE / GROUP ;
DEFINE LOCATION / ACROSS ;
RUN ;
DATE is currently formatted as MONYY5.
My output looks like this:
DATE CAUTI DRAIN_DAYS
APR16 0 198
AUG16 2 222
FEB16 0 235
JAN16 0 178
How can I get it to print in the correct order?
Thank you!
The first question with date type data is "Is your value actually a SAS date valued variable or character?".
Proc contents or examine data set columns to confirm which.
You may need to set ORDER=Internal ind the define statement (if SAS Date value)
If the value is not a SAS date value then you will be stuck with character sort orders and won't work mostly. So you would want to add a SAS date valued variable and use that with appropriate format and order.
The first question with date type data is "Is your value actually a SAS date valued variable or character?".
Proc contents or examine data set columns to confirm which.
You may need to set ORDER=Internal ind the define statement (if SAS Date value)
If the value is not a SAS date value then you will be stuck with character sort orders and won't work mostly. So you would want to add a SAS date valued variable and use that with appropriate format and order.
ORDER = INTERNAL worked!
Thank you!
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.