Help using Base SAS procedures

Selection of quarters

Reply
Occasional Contributor
Posts: 12

Selection of quarters

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.

Super User
Posts: 9,691

Re: Selection of quarters

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  ;

Occasional Contributor
Posts: 12

Re: Selection of quarters

Hello together,

the right solution ist:

where 

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

Thanx again.

Ask a Question
Discussion stats
  • 3 replies
  • 286 views
  • 6 likes
  • 3 in conversation