BookmarkSubscribeRSS Feed
Pramod_R
Calcite | Level 5

Hi,

I have a list of macro variables m1,m2,m3... etc each of it having values as given below:

value of &m1 is: name=Pramod

value of &m2 is: location=Bangalore

value of &m3 is: date=29nov2011

.

.

.

I want to convert each of these key value pairs into macro variable-value pairs. That is, I want macro variables and thier values as below:

value of &name is: Pramod

value of &location is: Bangalore

value of &date is : 29nov2011

etc..

Please let me know if you need more clarity on understanding the problem statement..

Thanks in advance!

Pramod

2 REPLIES 2
Linlin
Lapis Lazuli | Level 10

Is this what you want?

%let m1 =name=Pramod;

%let m2 =location=Bangalore;

%let m3 = date=29nov2011;

%macro test;

data look;

length mn $ 8 mv $ 12;

%do i=1 %to 3;

mn="%scan(&&m&i,1,'=')";

mv="%scan(&&m&i,2,'=')";

output;

%end;

run;

%mend;

%test

data _null_;

   set look;

   call symputx(mn,mv);

run;

%put _user_;

21   %put _user_;

GLOBAL LOCATION Bangalore

GLOBAL DATE 29nov2011

GLOBAL M1 name=Pramod

GLOBAL M2 location=Bangalore

GLOBAL M3 date=29nov2011

GLOBAL NAME Pramod

Linlin

data_null__
Jade | Level 19

%let m1=name=Pramod;

%let m2=location=Bangalore;

%let m3=date=29nov2011;

*simply;

%let &m1;

%put _user_;

*or automagically;

data _null_;

   set sashelp.vmacro(where=(SCOPE='GLOBAL' and name eq: 'M'));

   put _all_;

   call execute(cat('%let ',strip(value),';'));

   run;

%put _user_;

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
  • 2 replies
  • 2062 views
  • 0 likes
  • 3 in conversation