Hello SAS Experts
Can someone from SAS explain me whats going on with SAS in the following log message
SYMBOLGEN: Macro variable ZZ resolves to 11
SYMBOLGEN: Macro variable MDT11 resolves to 9
SYMBOLGEN: Macro variable XX resolves to 5
MLOGIC(RPT): %IF condition (5<=&&mdt&zz<=8 and 4<&xx<=8) is TRUE
how is 9<=8 in the above message?
The Macro Language does not handle expressions like 4<&xx<=8, instead you have to code this using an AND, see also SAS(R) 9.4 Macro Language: Reference, Third Edition
The Macro Language does not handle expressions like 4<&xx<=8, instead you have to code this using an AND, see also SAS(R) 9.4 Macro Language: Reference, Third Edition
Macro language handles combinations such as 5 <= 9 <= 8 from left to right. It resolves as if you had added parentheses:
(5 <= 9) <= 8
So 5 <= 9 resolves to either 0 (if false ) or 1 (if true), both of which are less than 8.
Thanks all for this insight..good to know!
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 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.