如何去除SAS日志中的违禁与受限语句提示信息
SAS 验证环节违禁/受限消息解决方案
触发原因
- 这类仅在顶级验证环节出现的提示,本质是你所在项目配置的CDISC标准合规校验规则触发的:基础验证只校验输出结果的格式、值范围合理性,顶级验证会校验你是否修改了SDTM/ADaM标准域的核心变量结构、预设衍生逻辑
- 重命名变量、新增where过滤条件触发提示,是因为规则默认不允许对标准域核心变量做自定义修改,也不允许无依据过滤原始观测
- 你写的
if AEOUT = "fatal" then AEOUT1 = "FA";触发违禁提示,是因为AEOUT是AE域的标准结局变量,自定义衍生AEOUT1属于非标准变量,不在项目预设的允许衍生变量白名单内
解决方法
- 先核对项目的CDISC执行规范,确认自定义衍生变量的命名要求,大部分项目要求自定义变量必须加统一前缀(比如
ZZ_),避免和标准变量命名冲突 - 如果这个衍生逻辑是AE列表输出的必需逻辑,走项目的衍生规则申请流程,把该逻辑加入项目标准ADaM衍生规则库,同步更新验证规则的白名单即可
- 临时调试阶段需要临时屏蔽提示的,可以在对应代码行前加验证工具的忽略声明,以常用的Pinnacle 21验证工具为例,语法如下:
/* P21_IGNORE: [对应提示里的规则ID] 自定义衍生AE结局编码用于列表输出 */ if AEOUT = "fatal" then ZZ_AEOUT1 = "FA";
注意:忽略声明里必须填写你收到的违禁提示对应的规则ID,避免误屏蔽其他有效校验
- 如果是where过滤条件触发的提示,在代码行前加注释说明过滤逻辑的依据(比如对应方案第几章的分析集定义、排除标准),多数验证工具会识别合规的依据说明自动放行
- 不要直接修改、重命名标准变量,如需调整建议用
rename语句生成带自定义前缀的新变量,不要覆盖原始标准变量的值
内容的提问来源于stack exchange,提问作者Rupali Khandalkar
相关产品推荐
相关产品推荐

