BookmarkSubscribeRSS Feed
SAS_NUBI2015
Calcite | Level 5

Hello together,

I've a question based on SAS date and time interval about selection of quarters via pattern:

I try to select the the quarters from year 2014 until current quarter (20152). The output is some thing like that:

20142

20143

20144

20151

20152

As I understood the SAS function 'YYQ' the return value is like YYQ or YYYYQ. Because the saved format of quarters is YYYYQ in my table is, I tried the following syntaxs without success:

Attempt 1: WHERE T1.V_quarter_date >= yyq(year(date()))-1,qtr(date()));

Attempt 2: WHERE T1.V_quarter_date >= (yyq(year(date))-1,intnx('Q',today(),0,'S'));

The another possibility was in my opinion as follows:

WHERE T1.V_quarter_date >= (input( ((year(date))-1) || intnx('Q',today(),0,'S')),best5.);     //converting char to num

What is wronge in my syntax?

Thank you.

3 REPLIES 3
Ksharp
Super User

You can not use yyq() in that way if V_quarter_date  is a DATE type variable.

WHERE T1.V_quarter_date between '01JAN2014'd and '28FEB2015'd  ;

SAS_NUBI2015
Calcite | Level 5

Hello together,

the right solution ist:

where 

T1.V_quarter_date >= (input( put((intnx('Q',today(),-1,'beginning')),yyqn5.),5.);

Thanx again.

hackathon24-white-horiz.png

The 2025 SAS Hackathon Kicks Off on June 11!

Watch the live Hackathon Kickoff to get all the essential information about the SAS Hackathon—including how to join, how to participate, and expert tips for success.

YouTube LinkedIn

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

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
  • 1530 views
  • 6 likes
  • 3 in conversation