Sas 在宏中调用宏函数的正确语法

Sas 在宏中调用宏函数的正确语法,sas,sas-macro,Sas,Sas Macro,假设我编写了一个SAS宏,在该宏中,我希望调用宏函数TRIM。 我是否需要写: %sysfunc(%trim(&text.)) 或%trim(&text.) 或 %sysfunc(修剪(&text.)) 正确的语法是什么?没有宏功能微调。因此,这取决于您是要调用SAS提供的自动调用宏%TRIM(),还是要使用函数TRIM()。如果是后者,则需要使用%SYSFUNC(TRIM())将其嵌套在宏函数%SYSFUNC()中,没有宏函数TRIM。因此,这取决于您是要调用SAS提供的自动调用宏%TRIM(

假设我编写了一个SAS宏,在该宏中,我希望调用宏函数TRIM。 我是否需要写:

%sysfunc(%trim(&text.))

或%trim(&text.)

或 %sysfunc(修剪(&text.))


正确的语法是什么?

没有宏功能微调。因此,这取决于您是要调用SAS提供的自动调用宏
%TRIM()
,还是要使用函数
TRIM()
。如果是后者,则需要使用
%SYSFUNC(TRIM())
将其嵌套在宏函数
%SYSFUNC()
中,没有宏函数TRIM。因此,这取决于您是要调用SAS提供的自动调用宏
%TRIM()
,还是要使用函数
TRIM()
。如果是后者,则需要将其嵌套在宏函数
%SYSFUNC()
中,使用
%SYSFUNC(TRIM())

有关SYSFUNC与否的基本规则:

如果您是从运行函数,则使用
SYSFUNC

如果它位于或相关页面(“自动调用宏”与此相关),则使用
%
,而不使用
SYSFUNC


在某些情况下,
%trim
是其中之一,您可以同时执行这两项操作-获得大致相同的结果(SYSFUNC宏和autocall宏的工作方式可能会有细微差异,特别是与宏引用相关的差异)。

有关SYSFUNC与否的基本规则:

如果您是从运行函数,则使用
SYSFUNC

如果它位于或相关页面(“自动调用宏”与此相关),则使用
%
,而不使用
SYSFUNC


在某些情况下,
%trim
是其中之一,您可以同时执行这两项操作-获得大致相同的结果(SYSFUNC宏和autocall宏的工作方式可能有细微差异,特别是与宏引用相关的情况)。

%SYSFUNC(trim(&text.)是正确的。%SYSFUNC(trim(&text.))是的。我两者都能做到,这让我很困惑……非常感谢!这两件事我都能做到,这让我很困惑……非常感谢!