BookmarkSubscribeRSS Feed
sachin01663
Obsidian | Level 7

Hi,

I have around 80 columns (Col1 to Col80). These columns have city names. I need to look through all columns and see if there in city 'London'.

I have done this by Concatinating the column values and looking for string 'London' but I am hoping there must be an easier way.

The other alternative I was thinking was arrays but I don't want to create another 80 variables or change the values of existing ones.

Thanks as always.

S

2 REPLIES 2
RW9
Diamond | Level 26 RW9
Diamond | Level 26

Hi,

Well, you don't need to create new variables in the array:

data have;

  col1="New York"; col2="London"; output;

run;

data want;

  set have;

  array col{2};

  if find(cats(of col{*}),"London")>0 then Flag="Y";

run;

KachiM
Rhodochrosite | Level 12

Yet other ways ..

data _null_;

     set have;

     array k _character_;

     if 'London' IN k then put 'Found';

run;

You can use:

whichC('London', of k

  • );
  • hackathon24-white-horiz.png

    2025 SAS Hackathon: There is still time!

    Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

    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.

    SAS Training: Just a Click Away

     Ready to level-up your skills? Choose your own adventure.

    Browse our catalog!

    Discussion stats
    • 2 replies
    • 1081 views
    • 0 likes
    • 3 in conversation