Help using Base SAS procedures

Finding codes using Arrays

Accepted Solution Solved
Reply
Super Contributor
Posts: 1,041
Accepted Solution

Finding codes using Arrays

We are trying to find the codes of interest in a list of codes(wide)

proc format;
value $Diabetes
'90', '91'=1
other=0;
value $CAD
'94'=1
other=0;
run;

data have;

ID  code1 code2 code3 code4 code5 code6
111      90    91    92            93    94     95


WANT(After using arrays)
ID  code1 code2 code3 code4 code5 code6    new1 new2 new3  new4  new5  new6
111    90         91    92        93    94       95          90    91      94

Thanks


Accepted Solutions
Solution
‎11-07-2013 12:34 PM
PROC Star
Posts: 7,471

Re: Finding codes using Arrays

Posted in reply to robertrao

Here is one possibility:

proc format;

  value $Diabetes

  '90', '91'=1

  other=0;

  value $CAD

  '94'=1

  other=0;

run;

data want;

  input (ID  code1 code2 code3 code4 code5 code6) ($);

  array new(6) $;

  array old $ code1-code6;

  _n_=0;

  do over old;

    if put(old,$diabetes.) or put(old, $CAD.) then do;

      _n_+1;

      new(_n_)=old;

    end;

  end;

  cards;

111  90    91    92    93    94     95

;

View solution in original post


All Replies
Solution
‎11-07-2013 12:34 PM
PROC Star
Posts: 7,471

Re: Finding codes using Arrays

Posted in reply to robertrao

Here is one possibility:

proc format;

  value $Diabetes

  '90', '91'=1

  other=0;

  value $CAD

  '94'=1

  other=0;

run;

data want;

  input (ID  code1 code2 code3 code4 code5 code6) ($);

  array new(6) $;

  array old $ code1-code6;

  _n_=0;

  do over old;

    if put(old,$diabetes.) or put(old, $CAD.) then do;

      _n_+1;

      new(_n_)=old;

    end;

  end;

  cards;

111  90    91    92    93    94     95

;

🔒 This topic is solved and locked.

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

Discussion stats
  • 1 reply
  • 201 views
  • 0 likes
  • 2 in conversation