Folks,
I'm getting the following error 180-322 when I'm running this Macro. From reading online it appears the most logical reason is that I'm missing a semi colon. however, from looking at my code I can't seem to see what the error is.
So I'm creating a new dataset which stacks two datasets on top of each other and then aggregates two variables to create a new variable.
It appears to do it, but I get this every year.
Any help would be most welcome.
%macro survey;
%do year = 2011 %to 2015;
data combine_&year.;
set mywork.combined_sample_&year._5 survey18plus_&year.;
totalincome=sum(of nat_totinc_admin_personal,indoincome);
Dispinc=sum(of nat_dispinc_admin_personal,indodisp);
run;
%end;
%mend;
%survey (2011);
%survey (2012);
%survey (2013);
%survey (2014);
%survey (2015);
36 %survey (2014);
_
180
ERROR 180-322: Statement is not valid or it is used out of proper order.
The macro is built to process all 5 years. Just call it once and stop trying to tell the macro what year to use:
%survey
The macro is built to process all 5 years. Just call it once and stop trying to tell the macro what year to use:
%survey
Compare the macro signature:
%macro survey;
With the way you are calling it:
%survey (2011);
There is a difference.
Don’t miss the livestream kicking off May 7. It’s free. It’s easy. And it’s the best seat in the house.
Join us virtually with our complimentary SAS Innovate Digital Pass. Watch live or on-demand in multiple languages, with translations available to help you get the most out of every session.
Check out this tutorial series to learn how to build your own steps in SAS Studio.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.