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

I would like to change the following to statement to check for months rather than days:

datdif(index_date,treated_date,'act/act')

What would I need to change so that  datdiff can back in months between the diagnosis and Index date rather than days.

Many thanks.

1 ACCEPTED SOLUTION

Accepted Solutions
RichardinOz
Quartz | Level 8

@RW9

Not sure why "you would need to check if yearpart different from yearpart other date first".  INTCK() handles full SAS dates.

@lisahoward

INTCK('MONTH', index_date,treated_date, 'SAME')

The SAME alignment counts each month from the same day as the day of the start month

Richard

View solution in original post

3 REPLIES 3
RW9
Diamond | Level 26 RW9
Diamond | Level 26

Hi,

Have a look at the INTCK function as this does all the different intervals - QTR, YEAR, MONTHS etc.

Just to note, you would need to check if yearpart different from yearpart other date first.

RichardinOz
Quartz | Level 8

@RW9

Not sure why "you would need to check if yearpart different from yearpart other date first".  INTCK() handles full SAS dates.

@lisahoward

INTCK('MONTH', index_date,treated_date, 'SAME')

The SAME alignment counts each month from the same day as the day of the start month

Richard

lisahoward
Calcite | Level 5

Thank you All.

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

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
  • 3 replies
  • 2612 views
  • 0 likes
  • 3 in conversation