0

私は次のような結果セットを持っています:

  Name number reg_type1 reg_type2 reg_type3 reg_type4 reg_type5 reg_type6 reg_type7
  aaa   123       Y         N       Y          N          Y       N         N
  bbb   234       N         N       Y          N          Y       N         N
  ccc   456       Y         N       Y          Y          N       Y         Y

そして、次のような結果セットが必要です:

  Name   number      level1       level2        level3      level4      level5 
  aaa     123       reg_type1    reg_type3     reg_type5    NULL         NULL
  bbb     234       reg_type3    reg_type5        NULL      NULL         NULL
  ccc     456       reg_type1    reg_type3     reg_type4    reg_type6   reg_type7

ありがとう!!

4

1 に答える 1

1

(タイトルではなく) 質問の内容に答えるには、配列を使用して簡単に行うことができます。

data have;
input Name $  number (reg_type1-reg_type7) ($);
datalines;
aaa   123       Y         N       Y          N          Y       N         N
bbb   234       N         N       Y          N          Y       N         N
ccc   456       Y         N       Y          Y          N       Y         Y
;;;;
run;
data want;
set have;
array regs reg:;
length level1-level5 $15;
array level[5] $;
_l = 1;
do _t = 1 to dim(regs);
 if regs[_t]='Y' then do;
   level[_l]=vname(regs[_t]);
   _l = _l+1;
 end;
end;
run;
于 2013-07-25T02:56:39.540 に答える