请考虑此示例SAS宏代码:
%MACRO reports;
%IF &SYSDAY = Monday %THEN %DO;
%END;
%MEND reports;
Run Code Online (Sandbox Code Playgroud)
宏中的每个单词都需要以%?为前缀吗?这个%符号究竟意味着什么?
%是一个宏触发器,以及&.它将下一个符号标识为宏语言元素的一部分.这可能是宏调用(%reports();),宏语句(%if),宏注释(%*)或其他宏语言元素.
了解SAS宏语言的工作方式对于理解这里的差异非常重要. %IF例如,指示SAS宏处理器做某事. IF是常规SAS代码,将被放入SAS数据步骤(或其他).花些时间了解宏语言正在做什么 - 它的全部意义 - 完全理解它.
而且,正如SAS中的许多内容一样,Ian Whitlock可以比我更好地解释它.