【发布时间】:2016-11-14 17:44:27
【问题描述】:
我正在尝试在描述字段 (descr) 中搜索关键字,如果存在则将该字段定义为匹配项(它匹配的关键字并不重要)。我遇到了一个问题,do 循环正在遍历数组的所有条目,并且 .我不确定这是因为我的 do 循环不正确还是因为我的 index 命令不正确。
data JE.KeywordMatchTemp1;
set JE.JEMasterTemp;
if _n_ = 1 then do;
do i = 1 by 1 until (eof);
set JE.KeyWords end=eof;
array keywords[100] $30 _temporary_;
keywords[i] = Key_Words;
end;
end;
match = 0;
do i = 1 to 100 until(match=1);
if index(descr, keywords[i]) then match = 1;
end;
drop i;
run;
【问题讨论】:
-
当然,它会遍历数组的所有条目,因为这是你告诉它要做的。你想让它做什么?如果找到匹配项,您是否希望提前退出循环?
-
糟糕,编辑了代码,我的剪贴板中一定有旧版本。我有一个做直到而不是做。
标签: string sas do-loops datastep