BookmarkSubscribeRSS Feed
jcis7
Pyrite | Level 9

Hi, I'm new to macros and cannot figure out why this doesn't work:

I have a bunch of questions I'm running the chi-square test on comparing two groups so I'm trying to create a macro.

The question names are:

q1_volun

q1_sec

etc....


I ran the code without the macro and it worked fine using the question names.

center pagesize=45 nonumber nodate symbolgen;


%macro analysis(question);

proc freq data=q1;

tables group*&question./chisq;

title "&question. - Chi-Sq - verifies info";

run;

%mend analysis;
%analysis (q1_vol);

%analysis (q1_sec);

Any help you can give is much appreciated!  Thanks!


4 REPLIES 4
RW9
Diamond | Level 26 RW9
Diamond | Level 26

Hi,

You would need to be more specific, what doesn't work, what errors/warnings in the log, maybe also what data are you using, provide a datastep with some test data.  The code seems fine.

Astounding
PROC Star

The macro looks fine, especially if the same code ran without using a macro.  One thing is suspect, though.  You have a line:

center ... symbolgen;

These are options, so the word OPTIONS should be there:

options center ... symbolgen;

Could that be the problem?

jcis7
Pyrite | Level 9

Thank you everyone! I closed out SAS and opened it and it miraculously worked. 

Haikuo
Onyx | Level 15

If you don't want to restart your SAS, here is some magic strings sometimes may work for you:

*))%*))*/;

;;;;

%mend;

options notes;

run cancel; quit;

proc unk; run;

 

Haikuo

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 4 replies
  • 1771 views
  • 0 likes
  • 4 in conversation