在MACRO中跳过2

时间:2015-02-10 20:40:13

标签: sas sas-macro

我想跳过以下宏中的两个数据集:

%macro bulk_ODI_extract(low_id,high_id);
    %do loop_match=&low_id %to &high_id; 
        %ODI_commentary(&loop_match,2);
    %end;
%mend bulk_ODI_extract;

%bulk_ODI_extract(749781,749787);

因此,最终数据集应包括749781,749783,749785和749787,同时跳过749782,749784和749786.

1 个答案:

答案 0 :(得分:6)

使用%by语句设置循环迭代的间隔。

%macro bulk_ODI_extract(low_id,high_id);
    %do loop_match=&low_id %to &high_id %by 2; 
        %ODI_commentary(&loop_match, 2);
    %end;
%mend bulk_ODI_extract;
%bulk_ODI_extract(749781,749787);