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!
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.