BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
nickspencer
Obsidian | Level 7

I have a SAS dataset as follows

ID    main_city        city1           city2   city3   city4
123 Newyork        Dallas      Chicago    SF  Atlanta
234 Dallas            Chicago   Newyork   Dallas Atlanta
345 Chicago         Newyork   Atlanta     Austin Boston
456 Denver           Denver     Baltimore Miami  Chicago

 

 

I want a field called city in the output which should have the value of null if none of city1-city4 matches with main city but will have the value of main city if it matches with any of the values of city1-city4.The example output should be as follows.

ID     City        Value1       Value2     Value3     Value4

123                  Dallas  Chicago     SF       Atlanta

234   Dallas     Chicago Newyork  Dallas  Atlanta

345                  Newyork  Atlanta    Austin   Boston

456  Denver    Denver     Baltimore  Miami   Chicago

1 ACCEPTED SOLUTION

Accepted Solutions
novinosrin
Tourmaline | Level 20
data want;
set have;
array t(*) city1-city4;
if main_city in t then city=main_city;
run;

View solution in original post

2 REPLIES 2
ChrisNZ
Tourmaline | Level 20

Like this?

city=ifc(whichc(main_city, of city1-city4), main_city, ' ');

novinosrin
Tourmaline | Level 20
data want;
set have;
array t(*) city1-city4;
if main_city in t then city=main_city;
run;

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

How to Concatenate Values

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 2 replies
  • 761 views
  • 2 likes
  • 3 in conversation