BookmarkSubscribeRSS Feed
cho16
Obsidian | Level 7

Hi Team,

 

I am trying to run the below macro code and it gives an error.

 

I couldnt figure out the error. Could you please help me

 

%macro roster;

proc sql;

create table NON_RESPONDERS_BULLET_7_P as

select t1.* from DSS_HRA_Healthfirst_Roster t1

where (t1.EFFECTIVE_DATE < intnx('year',today(),-1,'S') OR t1.EFFECTIVE_DATE > intnx('year',today(),-1,'E'))

and (t1.PRODUCT_PBP CONTAINS 'LIP1' OR t1.PRODUCT_PBP CONTAINS 'MAX1')

and ((t1.LAST_SURVEY_DATE1 BETWEEN intnx('year',&start3mnth,-15) and intnx('year',&end3month,-15))

%do i = -14 %to -2;

or (t1.LAST_SURVEY_DATE1 BETWEEN intnx('year',&start3mnth,&i) and intnx('year',&end3month,&i))

%end;

or (t1.LAST_SURVEY_DATE1 BETWEEN intnx('year',&start3mnth,&i) and intnx('year',&end3month,&i)));

quit;

%mend roster;

 

%roster

 

ERROR 22-322: Syntax error, expecting one of the following: !, !!, &, *, **, +, ',', -, /, <,
              <=, <>, =, >, >=, ?, AND, CONTAINS, EQ, EQT, GE, GET, GT, GTT, LE, LET, LIKE,
              LT, LTT, NE, NET, OR, ^=, |, ||, ~=.

 

Thanks

 

1 REPLY 1
ballardw
Super User

Please refrain from posting the same question in multiple locations. If you respond to a question about the issue in one thread then that information is NOT available to others that may be looking at the other version.

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
  • 1 reply
  • 1039 views
  • 0 likes
  • 2 in conversation