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

如何对两个变量的和执行PROC UNIVARIATE分析?

解决PROC UNIVARIATE计算变量和分布的报错问题

错误原因

PROC UNIVARIATE的VAR语句仅支持引用数据集中已存在的变量名,不能直接在该语句中使用SUM()函数或其他计算表达式,这就是你执行代码时出现错误的原因。

解决方案

有两种常用方式可以实现需求:

方案1:数据步预处理生成新变量

先通过DATA步创建包含两个变量之和的新变量,再用PROC UNIVARIATE分析这个新变量:

/* 创建包含求和变量的临时数据集 */
data temp_perf;
    set data.performance;
    /* 直接相加,若任一变量缺失则结果缺失 */
    total_amount = inc_Cash + out_wire;
    /* 可选:用SUM函数自动忽略缺失值,仅当两个变量都缺失时结果才为缺失 */
    /* total_amount = sum(inc_Cash, out_wire); */
run;

/* 对求和变量进行分布分析 */
proc univariate data=temp_perf;
    var total_amount;
quit;

方案2:用PROC SQL创建临时视图(无需生成物理数据集)

如果不想额外生成物理数据集,可以用PROC SQL创建临时视图,直接基于原数据集计算求和变量:

proc sql;
    create view perf_view as
    select *, inc_Cash + out_wire as total_amount
    /* 可选:替换为sum函数处理缺失值 */
    /* select *, sum(inc_Cash, out_wire) as total_amount */
    from data.performance;
quit;

proc univariate data=perf_view;
    var total_amount;
quit;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 01:33:19