2017-03-17 2 views
0

私はこのようになり、データ・セットを持っている:複数の列の値が特定の数未満かどうかを確認する方法

ID C1 C2 C3 C4....C50 
A 23 0 50 0......4 
B 10 0 0 0......1 

目標は、列のいずれかのかどうかを確認することです:C1-C50は、各IDのための20の下の値を持っています。私はこのコードを使用しましたが、正確なフラグ変数を教えてくれません。

data want; 
set have; 
array c c1-c50; 
min_num=0; 
do i=1 to 50; 
if c[i] < 20 then flag=0; else flag=1; 
end; 
drop i; 
run; 

答えて

1

elseをディーリングする必要があります。不足している場合は、それらのいずれかが1にそれを20以上に設定されているならば、0でそれを開始し、そしてだろう

data want; 
    set have; 
    array c c1-c50; 
    min_num=0; 
    flag = 0; 
    do i=1 to 50; 
    if c[i] ge 20 then flag=1; 
    end; 
    drop i; 
run; 

が可能であり、あなたはそれをチェックし、それが20アンダーとしてカウントする必要はありません別々に、.<20が真である(欠けているものが最小のものであり、すべてがそれ未満である)。もちろん


、あなただけmax ...

data want; 
    set have; 
    flag = (max(of c1-c50) < 20) = 0; 
run; 
を使用することができます
関連する問題