DATA Step, Macro, Functions and more

Invalid argument to function MONTH ?

Accepted Solution Solved
Reply
Frequent Contributor
Posts: 105
Accepted Solution

Invalid argument to function MONTH ?

Hello all,

I am getting "invalid argument" error to both the MONTH() function and YEAR() function, but I am confused because I don't see why the argument is invalid. The variable is "month_date" and here are two example observations:

month_date
31Jul2010 0:00:00
31Jul2010 0:00:00

in SAS column properties the data format is listed as "DATETIME20." -- Why is this not a valid format for these functions which state in their documentation that they accept datetime variables? I must be missing something here..

-Thank you!


Accepted Solutions
Solution
‎10-15-2013 10:58 AM
Trusted Advisor
Posts: 1,607

Re: Invalid argument to function MONTH ?

When a SAS variable month_date is actually date/time values, then the following code does not work

month(month_date)

However, the following code should work

month(datepart(month_date))

View solution in original post


All Replies
Solution
‎10-15-2013 10:58 AM
Trusted Advisor
Posts: 1,607

Re: Invalid argument to function MONTH ?

When a SAS variable month_date is actually date/time values, then the following code does not work

month(month_date)

However, the following code should work

month(datepart(month_date))

Frequent Contributor
Posts: 105

Re: Invalid argument to function MONTH ?

Excellent, easy enough. Thank you!

Super Contributor
Posts: 339

Re: Invalid argument to function MONTH ?


I don't see anywhere in MONTH and YEAR documentation that it accepts datetime variables. It only mentions it accepts date variables. As pointed out by Paige, datepart(datetimevariable) is the way to output a date out of a datetime and should fix your issue.

There is a clear distinction between dates (number of days since 01JAN1960) and datetimes (number of seconds since 01JAN1960).

☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

Discussion stats
  • 3 replies
  • 1202 views
  • 3 likes
  • 3 in conversation