Sas 输入函数不接受??在where=dataset选项中使用时的修饰符
我的过程打印中有以下声明:Sas 输入函数不接受??在where=dataset选项中使用时的修饰符,sas,Sas,我的过程打印中有以下声明: where ZBTESTCD = 'NEOPSTYP' and missing(input(zbdtc,??e8601dt.)); 当我运行SAS时,它会发出一个错误: ERROR: Syntax error while parsing WHERE clause. ERROR 22-322: Expecting a format name. ERROR 200-322: The symbol is not recognized and will be
where ZBTESTCD = 'NEOPSTYP' and missing(input(zbdtc,??e8601dt.));
当我运行SAS时,它会发出一个错误:
ERROR: Syntax error while parsing WHERE clause.
ERROR 22-322: Expecting a format name.
ERROR 200-322: The symbol is not recognized and will be ignored.
当在数据步骤的if
中使用时,同样的条件缺失(输入(zbdtc,?e8601dt.)
工作正常
这是记录在案的行为吗?比在proc调用之前使用datastep更好的解决方法是什么?双?
用于抑制数据步骤中\u错误
的设置。所以它在WHERE子句中没有任何意义,尤其是在PROC而不是数据步骤中使用的WHERE子句
只需使用一个?
??还是
指定可选问号(?)和双问号
标记(??)修改器,该修改器可抑制两个错误的打印
读取无效数据值时的消息和输入行。这个
修饰符抑制无效数据消息。这个修饰语也
抑制无效数据消息,并防止
当输入无效数据时,自动变量_ERROR u被设置为1
阅读
请粘贴数据语句的完整标题。语法是不同的,这取决于它是在SET语句中还是在独立语句中。为什么这样说?(除了是where=(…)
无论如何,如果这是你的意思,那将是另一个错误。)@Joe我这么说是因为我想看完整的代码。不,我不记得所有的错误代码。