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

如何在SAS中对含缺失值的两个变量执行求和运算?

解决SAS中变量相加时缺失值导致结果缺失的问题

SAS中数值缺失值(.)参与算术运算时,结果会自动变为缺失值,这就是你直接相加后出现缺失的原因。以下两种方法可以解决这个问题:

方法一:使用SUM函数(推荐)

SUM函数会自动忽略缺失值,仅对非缺失的变量值求和,代码修改如下:

DATA FINAL.NEW_DATA;
SET FINAL.FULL_DATA;
FV_QTY = SUM(NUT_VEG_QTY, NUT_FRUITS_QTY); * 忽略缺失值,仅计算非缺失值的和;
RUN;
  • 当其中一个变量缺失、另一个有值时,返回有值变量的数值;
  • 当两个变量都有值时,返回两者的和;
  • 当两个变量都缺失时,返回缺失值(.)。

方法二:用COALESCE函数将缺失值替换为0后相加

如果需要把缺失值直接当作0处理,可以用COALESCE函数将缺失值替换为0,再执行加法:

DATA FINAL.NEW_DATA;
SET FINAL.FULL_DATA;
FV_QTY = COALESCE(NUT_VEG_QTY, 0) + COALESCE(NUT_FRUITS_QTY, 0); * 缺失值替换为0后相加;
RUN;
  • 这种方式下,即使两个变量都缺失,结果会返回0,这是和SUM函数的核心区别,可根据你的业务需求选择。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 05:35:28