A SAS programmer writes a macro to generate model code. The macro uses %LET inside the macro definition. What is the scope of macro variables created with %LET inside a macro?
Select an answer to reveal the explanation.
Short Explanation and Infographic
Here's the deal — b is correct because %LET inside a macro definition creates a local macro variable by default, scoped to that macro invocation. The variable is created in the macro's local symbol table and deleted when the macro ends.
Full explanation below image
Full Explanation
B is correct because %LET inside a macro definition creates a local macro variable by default, scoped to that macro invocation. The variable is created in the macro's local symbol table and deleted when the macro ends. A is wrong unless %GLOBAL is explicitly used. C is wrong because session scope (global) requires %GLOBAL declaration. D is wrong because macro variables are a SAS language concept, not CAS thread-scoped variables.