如何在SAS中创建一个同时考虑更多字段的字段

时间:2016-04-18 08:41:28

标签: sas dataset

我在SAS中有一个名为n的{​​{1}}字段的表格。每个字段都可以是“OK”或“KO”。如果每个检查都是“OK”,我想生成一个“OK”的字段,如果其中一个检查是“KO”,我想生成“KO”。我该怎么办?

提前致谢

2 个答案:

答案 0 :(得分:3)

使用WHICHC()函数以及布尔检查来查看它是否大于零。如果您有命名约定,则不需要声明数组。

 Flag = whichc('KO', of check1-checkN) >0;

编辑:

If WHICHC('KO', of check1-checkN)>0 then flag = 'KO';
Else flag='OK';

答案 1 :(得分:0)

最简单的方法是声明数组,并做一个简单的“做”。穿过田野。 在这段代码中,我添加了一个告诉程序停止扫描检查的步骤,如果其中一个字段有" KO"。 我已经设置了一些样本数据,其中n = 4。

data dataset;
input ID $ check1 $ check2 $ check3 $ check4 $;
cards;
A OK OK OK OK
B OK OK OK KO
C KO OK OK OK
D KO KO KO OK
;
run;

data dataset;
set dataset;
array check_array{4} check1-check4;
do i=1 to 4;
if result ne "KO" then do;
if check_array{i}="OK" then result="OK"; else result="KO";
end;
end;
run;