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

使用MIN函数的DAX列总计结果不符合预期问题求助

Power BI DAX总计错误修复方案

原始数据

姓名类别物品金额
Garyfoodrice1
Garyfoodsugar5
Garyfurniturechair8
Garyfurnituretable4
Johnfoodrice3
Johnfoodsugar5
Johnfurniturechair6
Johnfurnituretable7

期望输出

姓名食品家具总计
Gary123648
John163955

当前问题

使用以下DAX公式计算食品、家具金额时,列总计结果显示为36和42,不符合预期:

SWITCH(
    TRUE(),
    MIN(Sheet1[Category]) = "Food", SUM(Sheet1[Amount]) * 2,
    MIN(Sheet1[Category]) = "Furniture", SUM(Sheet1[Amount]) * 3
)

需求为:按人员姓名分组,将Food类别金额总和乘以2,Furniture类别金额总和乘以3。

问题原因

原公式用MIN(Sheet1[Category])判断类别,在总计行上下文里,MIN会返回整个Category列的最小值(即"Food"),导致总计行仅计算所有金额总和乘以2,而非分别计算Food和Furniture类别的加权值再求和,因此结果错误。

正确解决方案

1. 分别创建食品、家具度量值

创建食品度量值:

食品 = SUMX(FILTER(Sheet1, Sheet1[Category] = "food"), Sheet1[Amount]) * 2

创建家具度量值:

家具 = SUMX(FILTER(Sheet1, Sheet1[Category] = "furniture"), Sheet1[Amount]) * 3

创建总计度量值(可选,直接在视觉对象中相加也可):

总计 = [食品] + [家具]

2. 原理说明

  • SUMX会遍历筛选后的行,先计算符合条件的金额总和,再乘以对应系数,无论在姓名分组行还是总计行,都会正确执行分组计算逻辑。
  • 总计行自动汇总每个姓名的食品、家具加权值,得到正确的总计结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 14:37:23