c****s 发帖数: 63 | 1 在SAS 中,
%macro batches(annotator);
%do i=3 %to 5;
data A_&annotator._batch&i;
set &annotator..long_merged_batch&i;
%if cl_mentionclass = "Document_Quality" and st_mentionslot = "b.
skimming_ease" %then %do;
value=substr(stringSlotMentionValue,1,1);
output B_&annotator._batch&i;
%end;
run;
%end;
%mend batches;
%batches(Connie);
上面的code中,为什么%if。。%then %do 在这个code中不起作用呢?结果就像是完全
忽略了%if中的条件,而且也没有产生新的variable, 'value'
请问这是怎么回事呀?
万分感谢!!!! | z**k 发帖数: 378 | 2 呵呵,你好像没有搞清楚SAS的compile顺序吧,Macro compilation优先于SCL的
【在 c****s 的大作中提到】 : 在SAS 中, : %macro batches(annotator); : %do i=3 %to 5; : data A_&annotator._batch&i; : set &annotator..long_merged_batch&i; : %if cl_mentionclass = "Document_Quality" and st_mentionslot = "b. : skimming_ease" %then %do; : value=substr(stringSlotMentionValue,1,1); : output B_&annotator._batch&i; : %end;
|
|