BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Ujjawal
Quartz | Level 8

I have a macro that returns important variables. The demo output file from the macro looks like below :

ClusterVariablesR Square
1ABCD0.5
2DEFG0.7
3ASSD0.04
4ADFG0.0555

On average, the macro returns 200-300 variables from 1.2k variables. I want spearman correlation to be run on only on these returning 200 variables. I have a macro for spearman correlation. I want to merge both these two macros.

ods select none;

ods output spearmancorr=sp hoeffdingcorr=hoef;

proc corr data=&dataset spearman hoeffding rank;

var &vars;

with attrition;

run;

1 ACCEPTED SOLUTION

Accepted Solutions
ballardw
Super User

If the output you show is in a dataset then:

proc sql noprint;

     select variables into : vars separated by ' '

     from <your dataset with the variables>;

quit;

Will create a space separated list suitable for use in a VAR statement.

View solution in original post

1 REPLY 1
ballardw
Super User

If the output you show is in a dataset then:

proc sql noprint;

     select variables into : vars separated by ' '

     from <your dataset with the variables>;

quit;

Will create a space separated list suitable for use in a VAR statement.

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

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!

Register Now

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
  • 1 reply
  • 1070 views
  • 0 likes
  • 2 in conversation