Hi,
I am using a macro to run PROC FREQs for a descriptive statistics table to be used in a paper. I am trying to run the same PROC FREQ for different IDs, so I am using a where statement within the macro. The code I am using is pasted below - when I run this code, SAS tells me "keyword parameter ID was not defined within the macro." I appreciate any help!!
%macro analysis(dataset,variable,condition);
proc freq data=&dataset;
tables &variable;
where &condition;
run;
%mend analysis;
%analysis(biweekly,amount_food_consumed,ID="LION-1");
The macro call:
%analysis(biweekly,amount_food_consumed,ID="LION-1");
Is referencing a macro parameter named ID, but the macro does not define a parameter named id.
Call the CONDITION parameter by name instead.
%analysis(biweekly,amount_food_consumed,condition=ID="LION-1");
Or add parentheses into the condition value.
%analysis(biweekly,amount_food_consumed,(ID="LION-1"));
That worked - thank you so much!
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.