%let a=cat; %macro animal(a=frog); %let a=bird; %mend; %animal(a=pig) %put a is &a;
Here keyword marco parameter 'a=' create a LOCAL macro variable &a in macro "%animal".
So the GLOBAL macro variable &a. would not be updated.
But in your macro,you don't have it, therefore you only have a GLOBAL macro variable and this GLOBAL macro variable would be updated.
Here is some additional documentation:
https://blogs.sas.com/content/sgf/2015/02/13/sas-macro-variables-how-to-determine-scope/
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
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.
Ready to level-up your skills? Choose your own adventure.