DATA Step, Macro, Functions and more

Call Execute

Accepted Solution Solved
Reply
Contributor
Posts: 58
Accepted Solution

Call Execute

Hello, 

 

I am trying create a variable that would list names for my interaction variable. Specifically, I have a list of names of my IVs, and I want to create a list of names of my IVs by Gender. 

 

The table I have with IVs' names looks like this: 

 

IV_name

   Race

    Age

    SES

Education

 

 

The table I want should look like this:  

 

IV_name      Interaction_name

   Race         Race_BY_Gender

    Age           Age_BY_Gender

    SES          SES_BY_Gender

Education  Education_BY_Gender

 

Here is what I tried but it doesn't work...

 

data set2;
set set1;
call execute('Interaction_name = '||strip(IV_name)||'_BY_Gender;');
run;

 

What am I doing wrong? 

 

Thank you in advance. 


Accepted Solutions
Solution
3 weeks ago
SAS Super FREQ
Posts: 4,242

Re: Call Execute

Posted in reply to Amanda_Lemon

Just use straight concatenation. No need for CALL EXECUTE.

 

data set1;
length IV_name $10;
input IV_name $;
datalines;
Race
Age
SES
Education
;

data set2;
set set1;
Interaction_name = catt(IV_name, '_BY_Gender');
run;

proc print data=set2 ;run;

View solution in original post


All Replies
Solution
3 weeks ago
SAS Super FREQ
Posts: 4,242

Re: Call Execute

Posted in reply to Amanda_Lemon

Just use straight concatenation. No need for CALL EXECUTE.

 

data set1;
length IV_name $10;
input IV_name $;
datalines;
Race
Age
SES
Education
;

data set2;
set set1;
Interaction_name = catt(IV_name, '_BY_Gender');
run;

proc print data=set2 ;run;
Contributor
Posts: 58

Re: Call Execute

It works! Thank you so much!
☑ This topic is solved.

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

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