Hi All,
I have came across following expression.
IF 0 then set abc;
how does this if 0 then set statement works
request you to explain with examples
Well, 0 is false so the SET statement never executes. You would get the same result by coding:
if 5=4 then set abc;
However, the statement still has an effect over the results of the DATA step. SAS executes DATA steps in two phases. During the first phase, it looks through all the statements, checks for syntax errors, and sets up storage space for all the variables that the DATA step will process. Just the presence of the SET statement (even if it never executes) forces SAS to define all the variables that are part of ABC. All the variable names, lengths, types, etc. will become part of the new data set being constructed.
Well, 0 is false so the SET statement never executes. You would get the same result by coding:
if 5=4 then set abc;
However, the statement still has an effect over the results of the DATA step. SAS executes DATA steps in two phases. During the first phase, it looks through all the statements, checks for syntax errors, and sets up storage space for all the variables that the DATA step will process. Just the presence of the SET statement (even if it never executes) forces SAS to define all the variables that are part of ABC. All the variable names, lengths, types, etc. will become part of the new data set being constructed.
Thanks a lot for quick response
The "if 0 then set" logic ensures that the code compiles (prepares variables, etc), but it never executes.
It's a very effective way of ensuring the structure of your target data set mimics the structure of your source data set, even if your source data set structure changes over time.
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 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.