将语句迭代地放在if语句中

时间:2014-01-10 05:07:11

标签: sas

我需要在循环中编写以下查询。有可能吗?

if a1 > 0
 or a2 > 0
 or a3 > 0
 or a20 > 0 then some_variable =dummy;

我无法在宏定义中迭代地思考这个逻辑。问的问题只是一个快照。实际数字变化至200

1 个答案:

答案 0 :(得分:0)

由于你之前提出的问题并且你的问题听起来像SAS一样,我现在正试着猜测这是

如果它使用常规数据步变量,则可以在数组中执行此操作。

data want;
set have;
array a a1-a200;
if max(of a[*]) > 0 then some_variable=dummy;
run;

max会给出200个变量中最大的数量,如果是> 0然后你很高兴去。如果您的布尔条件更复杂,则可能需要遍历数组。