05-07-2012 02:12 PM
Dear SAS users,
I am a beginner user to SAS macros. I would like to start with simple %let statements. Below is my data step with the %let. Please advise as to how I can fix the error. The error message from sas is below the data step.
Thank you! let
data s&group_1; (dataset name should be called s1_1)
set s&group_2; (dataset name should be called s1_2)
924 %let group=1;
WARNING: Apparent symbolic reference GROUP_1 not resolved.
925 data s&group_1;
ERROR 22-322: Syntax error, expecting one of the following: a name, a quoted string, (, /, ;,
_DATA_, _LAST_, _NULL_.
ERROR 200-322: The symbol is not recognized and will be ignored.
05-07-2012 02:29 PM
Macro variable resolves in the unit called 'token'. There are some default boundaries for tokens, but '_' was not one of them, macro processor will try to resolve 'group_1' instead of 'group'.So you need to manually add in your boundaries to define your token, namely '.'
data s&group._1; (dataset name should be called s1_1)
set s&group._2; (dataset name should be called s1_2)