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.

sas-innovate-2026-white.png



April 27 – 30 | Gaylord Texan | Grapevine, Texas

Registration is open

Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!

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
  • 1145 views
  • 0 likes
  • 2 in conversation