You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SAS代码中行首%符号的具体用法是什么?

SAS代码中%符号的作用说明

SAS里的%是SAS宏语言的专属标识,用来和普通的SAS执行语句做区分。SAS宏是SAS自带的预处理器,核心作用是实现代码复用、动态生成执行逻辑,所有带%前缀的语句都会先在宏预处理阶段执行,再生成最终的SAS运行代码。

你给出的几个示例里%的用法可以分为两类:

1 标识宏内置关键字

所有SAS宏语言的内置关键字都要加%前缀,用来实现宏层面的逻辑控制、调试输出等能力:

  • 示例1里的%if、%then、%do:是宏的条件控制语句,和普通SAS语句的if/then/do的区别是,它判断的对象是宏变量(你示例里的&i就是宏变量,带&前缀也是宏的特征),逻辑执行在预处理阶段,用来动态决定要生成的SAS代码内容。你贴的代码作用就是当宏变量i的取值大于0时,执行后续%do到对应%end之间的宏逻辑。
  • 示例2里的%put:是宏的日志输出语句,作用是把指定内容打印到SAS日志中,一般用来做宏执行的进度标记、调试排查问题,你示例的代码执行后会在SAS日志里输出##### calling formula这段内容。

2 标识自定义宏调用

如果%后面跟的是你自己定义的宏名称,就代表触发这个宏的执行,用来复用预定义的代码逻辑:

  • 示例2里的%formula():就是调用提前定义好的名为formula的自定义宏,自定义宏一般用%macro 宏名(参数); 逻辑代码; %mend;的格式封装,比如你可以把常用的统计公式、数据清洗规则封装成宏,后续要使用的时候只要写一行%宏名(参数)就能执行,不用重复编写大段重复代码。

内容的提问来源于stack exchange,提问作者Arcanesaw

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 16:45:03