【问题标题】:SAS let statement: refer to a cell value?SAS let 语句:引用单元格值?
【发布时间】:2012-06-20 20:07:57
【问题描述】:

在 SAS 中,是否可以将 %let 语句引用到位于数据库中的值?

例如,%let n=50 中 my n 的值取决于在我的一个数据库中计算的某个值,例如第一行加第一列。而且由于该值在我的循环中被修改了 100 次,我不想手动输入该值。

【问题讨论】:

    标签: sas let


    【解决方案1】:

    有几种方法可以做到这一点。这里有两个:

    proc sql;
     select a+b into :n
     from your_table
     where some_condition;
    quit;
    

    这会使用变量ab 的总和来填充宏变量&n。您指定的条件应仅适用于表格的一行。

    另一种方法:

    data tmp;
     set your_table;
     if _n_=1 then do;
      call symputn('n',a+b);
     end;
    run;
    

    【讨论】:

    • 啊完美!我对命令 symputn 和 symput 做了一些额外的阅读。事实上,我使用的是 symput 而不是 symputn - SAS 在使用 symputn 时不断给我一条错误消息。无论如何,一切正常!再次感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-09
    • 1970-01-01
    • 2018-08-30
    • 1970-01-01
    相关资源
    最近更新 更多