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

Hello all together,

 

I am working with time quarters and I do need to add or substract quarters from an indexquarter.

Is there any way to do this in SAS?

 

My data contains an ID and an index date. With this index date I can define the year and the quarter of that index date.

Using the function yyq I can define the quarter of the index year as sas date value.

 

Now I would like to add two quarters to the index quarter. (E.g. two quarters of follow-up of a patient)

 

My Programm Looks like:

 

data two;

set one;

year_index=year(indexdate);

quarter_index_help=qtr(indexdate);

quarter_index=yyq(year_index,quarter_index_help); /* SAS date value with quarter and year */

 

future_index=quarter_index+2; /* That's what I want to do, add two quarters */

run;

 

Thanks for help

sasstats

1 ACCEPTED SOLUTION

Accepted Solutions
Vish33
Lapis Lazuli | Level 10
try:
future_index=put(intnx('qtr',quarter_index,2),2.);

View solution in original post

2 REPLIES 2
Vish33
Lapis Lazuli | Level 10
try:
future_index=put(intnx('qtr',quarter_index,2),2.);
sasstats
Fluorite | Level 6

Hello,

 

thanks a lot!

 

In my datastep your syntax worked in the following way:

future_index=intnx('qtr',quarter_index,2);

format future_index yyq.;

 

But then it did what I wanted.

 

sasstats

 

sas-innovate-wordmark-2025-midnight.png

Register Today!

Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.


Register now!

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
  • 2 replies
  • 3498 views
  • 1 like
  • 2 in conversation