Hi experts,
I have one variable named as Country and it has values below
India
Unites States of America
United Arab Emirates
Need to create diffrent variables using these values example var1-india var2 United var3-States Var4-of var5-America etc....
and this needs to be dynamic ,( not with hardcoded) Please advice
Whatever you are intending to do with this data, there are probably better ways. But here is one way to get what you ask:
data each_word;
set have;
if country > ' ' then do _n_= 1 to countw(country);
word = scan(country, _n_);
total_words + 1;
output;
end;
run;
proc transpose data=each_word out=want (drop=_name_) prefix=var;
var word;
id total_words;
run;
Quick question: Why? 🙂
Second quick question, what is the question? Post example test data in the form of a datastep using a code window (its the {i}) and what the output should look like. Then explain any logic between. If it is just splitting a string up into component parts then:
data want;
set have;
array var{5} $200;
do i=1 to countw(your_string," ");
var{i}=scan(your_string,i," ");
end;
run;
Hi , This was my need , thanks
Whatever you are intending to do with this data, there are probably better ways. But here is one way to get what you ask:
data each_word;
set have;
if country > ' ' then do _n_= 1 to countw(country);
word = scan(country, _n_);
total_words + 1;
output;
end;
run;
proc transpose data=each_word out=want (drop=_name_) prefix=var;
var word;
id total_words;
run;
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.
Ready to level-up your skills? Choose your own adventure.