SAS-仅在列表

时间:2017-04-07 19:48:40

标签: database sas

我有一个宏,用户可以选择运行宏的文件。我想知道是否有办法只保留每个选定数据集中的一个变量,并且只有它出现在我的变量名称列表中。

例如,用户输入%LET TABLEN = revinfo;其中revinfo.sas包含可变收入但不包含收入利润或销售额。我只想要一个变量收入。

我尝试了多个keep语句,但如果它试图保留一个不存在的变量,则会出错。

data want;
SET have.&TABLEN;
    KEEP     income;
    KEEP     revenue;
    KEEP     profit;
    KEEP     sales;
RUN;

非常感谢, KK

1 个答案:

答案 0 :(得分:0)

这样做的最简单方法是假设你单独处理任何输入验证,或者将其留给用户,就是告诉SAS如果你试图保留一个不存在的变量就不要出错。您可以通过设置option dkricond = warn;nowarn而不是默认的error来实现此目的。

如果您沿着这条路走下去,我还建议您在更改此选项之前记下之前的设置,然后在其余的宏运行后将其更改回来。