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.
Thanks PG that worked!
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
Thanks PG that worked!
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.