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.

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

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