SAS %_eg_WhereParam 错误
SAS %_eg_WhereParam ERROR
我有一个提示,用户可以在其中 select 来自动态列表的多个值。提示创建的宏变量称为promptList。
现在我只想 select 用户在提示中选择的数据。
因此,假设用户运行程序,并且 selects 值 A、C 和 D 来自提示,所有这些都转到 promptList 宏变量。为了过滤数据,我写了以下内容:
SELECT
var1,
var2,
var3
FROM
table1
WHERE
%_eg_WhereParam(var1, promptList, IN, type = C);
理论上应该只有 select 具有 var1 值的数据 A、C 或 D。然而,就在日志中 whereParam 语句的下方,我收到了这些错误:
ERROR 79-322: Expecting a SELECT.
ERROR 76-322: Syntax error, statement will be ignored.
我在这里错过了什么?另外,有没有更好的方法来访问宏变量中的这个值列表?找不到任何合适的文档。
我只是用查询生成器完成的,查询生成器生成的代码如下所示:
%_eg_WhereParam(var1, promptList, IN, type = S, IS_EXPLICIT = 0);
所以 S(假设是 String)和 IS_EXPLICIT = 0 成功了。
我有一个提示,用户可以在其中 select 来自动态列表的多个值。提示创建的宏变量称为promptList。 现在我只想 select 用户在提示中选择的数据。 因此,假设用户运行程序,并且 selects 值 A、C 和 D 来自提示,所有这些都转到 promptList 宏变量。为了过滤数据,我写了以下内容:
SELECT
var1,
var2,
var3
FROM
table1
WHERE
%_eg_WhereParam(var1, promptList, IN, type = C);
理论上应该只有 select 具有 var1 值的数据 A、C 或 D。然而,就在日志中 whereParam 语句的下方,我收到了这些错误:
ERROR 79-322: Expecting a SELECT.
ERROR 76-322: Syntax error, statement will be ignored.
我在这里错过了什么?另外,有没有更好的方法来访问宏变量中的这个值列表?找不到任何合适的文档。
我只是用查询生成器完成的,查询生成器生成的代码如下所示:
%_eg_WhereParam(var1, promptList, IN, type = S, IS_EXPLICIT = 0);
所以 S(假设是 String)和 IS_EXPLICIT = 0 成功了。