SAS:为什么宏中的IN运算符不是默认值?

时间:2017-01-27 15:30:45

标签: sas sas-macro

来自Sample 35591

  

只有在%MACRO语句中设置MINOPERATOR选项或作为SAS®系统选项时,才能在%IF语句中使用IN运算符。

需要一个单独的宏处理选项似乎是一个不必要的复杂问题。当然,由于宏处理的性质,宏IN语法及其可处理的内容必须与DATA步IN不同。但是实现强制程序员跟踪两个不同的IN,尽管它们在逻辑上是相同的。

  1. 它们在逻辑上是否相同?
  2. 是否需要为宏IN单独选项,以提醒程序员与DATA step IN的差异?
  3. 或者,是否存在需要以这种方式实现宏IN的情况或向后兼容性问题?
  4. MINOPERATOR的文档。

1 个答案:

答案 0 :(得分:7)

Note说这只适用于SAS 9.2及更高版本。以前,没有用于MACRO处理的IN语句。宏是字符串,“IN”是有效字符串。该选项需要告诉宏处理器IN现在是一个关键字。如果它们只是使它成为关键词,那么可能包含“IN”的遗留代码就会破坏。

所以#3。