Help using Base SAS procedures

Proc sql macro

Accepted Solution Solved
Reply
Contributor
Posts: 32
Accepted Solution

Proc sql macro

Anyone  who can help, I am having some trouble with some proc sql code.

&sty is defined earlier as a global macro variable as follows:

CALL SYMPUTX('STY',("2003"),'G');

The code I'm using is:

PROC SQL;

CREATE TABLE SENSLOPE AS

SELECT STATION, SEASON, MONTH, _&STY., _&STY.+1, _&STY.+1 - _&STY.  AS D_&STY.+1,

   FROM SKDATA

   GROUP BY STATION, SEASON, MONTH;

QUIT;

RUN;

Obviously this is a case of garbage in garbage out as I am getting the following messages. I'm not very familiar with sql coding and combining macro codes with it but any clues would help. It may or may not be obvious that  my next step in this program is to macroize this thing to make multiple comparisons of multiple columns (one each for different years) across multiple rows although I have yet to try that here. Any additional suggestions along those lines short of writing the code for me would be helpful. Thanks in advance.

NOTE: Line generated by the macro variable "STY".

1       D_2003

        ------

        22

        76

ERROR 22-322: Syntax error, expecting one of the following: !, !!, &, (, *, **, +, ',', -, '.', /, <, <=, <>,

              =, >, >=, ?, AND, BETWEEN, CONTAINS, EQ, EQT, GE, GET, GT, GTT, LE, LET, LIKE, LT, LTT, NE, NET,

              OR, ^=, |, ||, ~=.

ERROR 76-322: Syntax error, statement will be ignored.


Accepted Solutions
Solution
‎07-10-2015 04:44 PM
Contributor
Posts: 32

Re: Proc sql macro

Thanks PG that worked!

View solution in original post


All Replies
Respected Advisor
Posts: 4,931

Re: Proc sql macro

Add %eval() and remove ending comma from column list

SELECT STATION, SEASON, MONTH, _&STY., _%eval(&STY+1), _%eval(&STY+1) - _&STY.  AS D_%eval(&STY+1)


PG

PG
Solution
‎07-10-2015 04:44 PM
Contributor
Posts: 32

Re: Proc sql macro

Thanks PG that worked!

🔒 This topic is solved and locked.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 263 views
  • 0 likes
  • 2 in conversation