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

SAS DI Studio用户自定义代码创建宏的调试及值打印方法咨询

SAS DI Studio 自定义代码节点宏变量调试与取值打印方法

宏变量取值打印方法

  • 日志打印法(最便捷)
    直接在自定义代码中加入%PUT语句即可将宏变量值输出到节点运行日志,示例如下:
    /* 打印单个指定宏变量 */
    %PUT test宏变量取值为:&test.;
    /* 一次性打印所有用户自定义宏变量的键值对 */
    %PUT _USER_;
    
    运行节点后,打开节点运行日志,搜索对应输出内容即可查看到宏变量的实际取值。
  • 数据集输出法(可视化更强)
    如果不想翻阅日志,可以将宏变量取值写入输出数据集,运行节点后直接打开数据集查看即可,示例代码:
    data macro_check;
      test_val = symget('test');
      runYear_val = symget('runYear');
    run;
    
    记得将该macro_check数据集设置为自定义代码节点的输出对象,运行节点后直接打开数据集就能看到对应宏变量的取值。

补充:runYear宏变量的正确语法修正

你给出的%let runYear = if month < 6 then year(today) - 1 else year(today)写法不符合SAS宏语法规则,无法正常生成所需取值,可修改为以下可执行版本:

%let runYear = %sysfunc(ifn(
  %sysfunc(month(%sysfunc(today()))) < 6,
  %sysfunc(year(%sysfunc(today()))) - 1,
  %sysfunc(year(%sysfunc(today())))
));

自定义代码通用调试技巧

  • 调试阶段右键点击对应自定义代码节点,选择仅运行当前节点,无需运行整个作业流,大幅节省调试时间
  • 运行后优先查看日志中的ERROR、WARNING提示,宏变量未生效的问题通常会有「未解析的宏变量引用」类提示,可快速定位问题
  • 复杂逻辑建议拆分步骤验证:比如计算runYear前,先单独打印月份、当前年的宏变量取值,确认单步逻辑正确后再合并整体逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 10:45:00