小编dev*_*von的帖子

宏中的步长在sas中循环

所以我想为我的宏函数运行嵌套循环.这是我的代码,看起来SAS不喜欢by -1.无论如何,我编码这个让第二个循环减少步骤-1?在这种情况下,我yearMix = 1982yearMax = 1994.

%Macro theLoop;
    %Do I = &yearMin+1 %to &YearMax-1;
        %Do J = &YearMax-1 %to &I by -1;
            %Meaw;
        %END;
    %END;
%MEND theLoop;
%theLoop;
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误:

错误:在%EVAL函数或%IF条件中找到了一个字符操作数,其中需要一个数字操作数.条件是:&I by -1
ERROR:%DO J循环的%TO值无效.
错误:宏THELOOP将停止执行.

loops sas sas-macro

2
推荐指数
1
解决办法
397
查看次数

在SAS中挣扎着传递宏观价值

最初,我有这样的代码.

data newFile;
set File;
   If Gender NE 'Female' then delete;
   If Group NE 10 then delete;
   If Age GT 30 then delete;
run;
Run Code Online (Sandbox Code Playgroud)

它工作得很好.但我希望能够从顶部更改这些条件,因此我添加了宏变量.到目前为止,我有这个

&let macGender = 'Female';
&let macGroup = 10;
&let macAge = 30;

data newFile;
set File;
   If Gender NE &macGender then delete;
   If Group NE &macGroup then delete;
   If Age GT &macAge then delete;    
run;
Run Code Online (Sandbox Code Playgroud)

它似乎不像原始代码那样工作.我甚至试过这样的事情

sas sas-macro

1
推荐指数
1
解决办法
65
查看次数

标签 统计

sas ×2

sas-macro ×2

loops ×1