BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
_maldini_
Barite | Level 11

I'm trying to calculate the difference in years between two dates using the YRDIF function and the following syntax:

 

DATA want;
  SET have;
  Yrdif_test = YRDIF(Part_RDATE, BH_Accomplished_Date, "Actual");
RUN;


I am getting an "invalid argument" warning and all the values are missing. 

 

The informats for these two dates are different.

Part_RDATE = mmddyy10

BH_Accomplished_Date=mdyampm25.2 (includes time)

 

The documentation makes no reference to differences in informats, or dates where one includes time.

 

A portion of the data is attached. As is the log. Thanks for your help.

 

1 ACCEPTED SOLUTION

Accepted Solutions
SASKiwi
PROC Star

The documentation states that both start and end dates are both SAS date values not datetime. This should correct your statement:

 

DATA want;
  SET have;
  Yrdif_test = YRDIF(Part_RDATE, datepart(BH_Accomplished_Date), "Actual");
RUN;

View solution in original post

1 REPLY 1
SASKiwi
PROC Star

The documentation states that both start and end dates are both SAS date values not datetime. This should correct your statement:

 

DATA want;
  SET have;
  Yrdif_test = YRDIF(Part_RDATE, datepart(BH_Accomplished_Date), "Actual");
RUN;
How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 4463 views
  • 1 like
  • 2 in conversation