BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
MaryA_Marion
Lapis Lazuli | Level 10

I am preparing a data set which I will later add (stack) to another. I have the following code:

 

%global lname state;
%let lname=Churchill;
%let state=VA;
data insert;
LastNamePart=&lname;
state=&state;
run;
proc print; run;

Expected Results are two columns and 1 row
LastNamePart State
Churchill VA

I am getting an error that LastNamePart and state are not initialized.
Proc print is outputing 1 row and 4 variables.
LastNamePart Churchill State VA

Why? How to fix?

MM

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
Kurt_Bremser
Super User

When the macro variables are resolved, you get this code:

LastNamePart=Churchill;

The text Churchill is interpreted as a variable name. Add the necessary quotes for string literals to your code:

LastNamePart="&lname";

View solution in original post

2 REPLIES 2
Kurt_Bremser
Super User

When the macro variables are resolved, you get this code:

LastNamePart=Churchill;

The text Churchill is interpreted as a variable name. Add the necessary quotes for string literals to your code:

LastNamePart="&lname";
MaryA_Marion
Lapis Lazuli | Level 10
I like your explanation. Otherwise, I look for code to implement without knowing why...Thanks. MM