我的结果集如下:
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
谢谢!
答案 0 :(得分: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;