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

问题描述 投票:0回答:3

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

%sysfunc(%trim(&text.))

或 %trim(&text.)

或者 %sysfunc(修剪(&文本。))

正确的语法是什么?

sas sas-macro
3个回答
2
投票

关于 SYSFUNC 或非 SYSFUNC 的基本规则:

如果您正在运行此页面(SAS 函数和调用例程词典)中的函数,那么您可以使用

SYSFUNC

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

%
并且不要使用
SYSFUNC

在某些情况下,

%trim
就是其中之一,您可以执行两者 - 获得或多或少相同的结果(SYSFUNC和自动调用宏的工作方式可能存在细微差别,特别是与宏引用相关) .


2
投票

没有宏功能修剪。因此,这取决于您是否要调用 SAS 提供的自动调用宏

%TRIM()
,还是要使用函数
TRIM()
。如果是后者,那么您需要使用
%SYSFUNC()
将其嵌套在宏函数
%SYSFUNC(TRIM())
中。


0
投票

谢谢。我想知道,因为在一个地方我看到在宏调用中像 %trim 一样使用修剪。也许它是一个名为trim的宏。但我不确定。感谢您提供此信息。

  • 博士。阿比吉特·萨法伊
© www.soinside.com 2019 - 2024. All rights reserved.