【问题标题】:Insert a variable number of rows插入可变数量的行
【发布时间】:2015-04-06 03:27:56
【问题描述】:

目前,我的宏正在运行以插入恒定数量的行:

%MACRO ADD_PERIOD;

%DO P = 1 %TO 39;

我能否修改这个宏或创建一个新宏来运行它,而不是 39 次,而是用另一个表中的变量替换循环数?

谢谢!

【问题讨论】:

    标签: loops macros sas datastep


    【解决方案1】:

    使用call symput 将该变量(my_var) 转换为macro 变量(loop_var)

    data _null_;
    set your_table;
    call symput("loop_var", my_var);
    run;
    

    并使用& 将宏变量解析到您的代码中

    %MACRO ADD_PERIOD;
    
    %DO P = 1 %TO &loop_var;
    

    您也可以将该宏变量作为参数传递给您的宏。

     %MACRO ADD_PERIOD(loop_var);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-05
      • 2014-12-19
      • 2021-06-20
      • 1970-01-01
      • 2010-09-12
      • 2014-01-30
      • 1970-01-01
      相关资源
      最近更新 更多