DATA Step, Macro, Functions and more

Using numeric macro variable within character values

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 14
Accepted Solution

Using numeric macro variable within character values

Hi,

 

I have several datasets named like file_1, file_2, ..., file_20. I need to define a variable named model in each dataset with the value of model_i, in which i represents the number associated with each file. For example, I need to have model=model_1; in file_1 dataset.

 

I tried the following code, but it doesn't work.

 

%macro modeltype;

%do i=1 %to 20;

data file_&i;

set file_&i;

model="model_&i";

run;

%end;

%mend;

%modeltype;

 

I appreciate any suggestion to fix this code.

 

Thanks.

 

 


Accepted Solutions
Solution
‎12-15-2017 01:10 PM
Super User
Posts: 6,530

Re: Using numeric macro variable within character values

[ Edited ]
Posted in reply to DavyJones

With a small change your code should be fine.  Add this line before the SET statement:

 

length model $ 8;

 

That way, if you ever combine the files, you will have MODEL defined the same way in all files.

 

Now you didn't really say with "didn't work" means.  So if there's some other problem, you might have to provide a detail or two.  For example, perhaps MODEL already exists in the incoming files, possibly as a numeric variable.

View solution in original post


All Replies
Solution
‎12-15-2017 01:10 PM
Super User
Posts: 6,530

Re: Using numeric macro variable within character values

[ Edited ]
Posted in reply to DavyJones

With a small change your code should be fine.  Add this line before the SET statement:

 

length model $ 8;

 

That way, if you ever combine the files, you will have MODEL defined the same way in all files.

 

Now you didn't really say with "didn't work" means.  So if there's some other problem, you might have to provide a detail or two.  For example, perhaps MODEL already exists in the incoming files, possibly as a numeric variable.

Occasional Contributor
Posts: 14

Re: Using numeric macro variable within character values

Posted in reply to Astounding
Thanks. After specifying the length, the variable was properly defined.
☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 127 views
  • 0 likes
  • 2 in conversation