【问题标题】:SAS %_eg_WhereParam ERRORSAS %_eg_WhereParam 错误
【发布时间】:2016-12-14 10:32:32
【问题描述】:

我有一个提示,用户可以在其中从动态列表中选择多个值。提示创建的宏变量称为promptList。 现在我只想选择用户在提示中选择的数据。 因此,假设用户运行程序并从提示中选择值 A、C 和 D,这些值都转到 promptList 宏变量。为了过滤数据,我写了以下内容:

SELECT 
  var1,
  var2, 
  var3

    FROM 
      table1

    WHERE 
      %_eg_WhereParam(var1, promptList, IN, type = C);

理论上应该只选择具有 var1 值的数据 A、C 或 D。但是,就在日志中 whereParam 语句的下方,我收到了以下错误:

ERROR 79-322: Expecting a SELECT.
ERROR 76-322: Syntax error, statement will be ignored.

我在这里缺少什么?另外,有没有更好的方法来访问宏变量中的这个值列表?找不到任何合适的文档。

【问题讨论】:

    标签: sql macros sas prompt enterprise-guide


    【解决方案1】:

    我只是用查询生成器完成的,查询生成器生成的代码如下所示:

    %_eg_WhereParam(var1, promptList, IN, type = S, IS_EXPLICIT = 0);
    

    所以 S(假设 String)和 IS_EXPLICIT = 0 成功了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-18
      • 2018-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-27
      相关资源
      最近更新 更多