DATA Step, Macro, Functions and more

Creating Macro variables from list

Reply
Frequent Contributor
Posts: 86

Creating Macro variables from list

Hi

Let's say we have a variable

%let Group = AA BB CC DD;

I would like to produce GROUP_1, GROUP_2 , GROUP_3, GROUP_4.

To start with :

I had a count with of all the words in Group with Countw and I got 4.

Now, next, I tried within a macro

Data _null_;

%do i = 1 %to &num_count;

   Group_&i. = %qscan(%bquote(&group), &i.,',');

  call symput("Group_&i." Group_&i.);

Run;

Am I doing right?

Trusted Advisor
Posts: 1,137

Re: Creating Macro variables from list

hi,

please try the below code, as per your if we consider &num_count eq to 4 then

%let num_count=4;

%put &num_count;

Data test;

    do i = 1 to &num_count;

    group="group_"||strip(put(i,1.));

    output;

    end;

   

Run;

proc sql noprint;

    select group into :grp separated by ',' from test;

quit;

%put &grp;

Thanks,

Jag

Thanks,
Jag
Frequent Contributor
Posts: 86

Re: Creating Macro variables from list

Posted in reply to Jagadishkatam

Thanks for reply. My system was down for some weeks so, could not reply.. Thanks, I have got the solution.

Ask a Question
Discussion stats
  • 2 replies
  • 168 views
  • 3 likes
  • 2 in conversation