使用 MIN 时,DAX 列总计未给出预期总计

问题描述 投票:0回答:1
姓名 类别 项目 金额
加里 食物 米饭 1
加里 食物 5
加里 家具 椅子 8
加里 家具 桌子 4
约翰 食物 米饭 3
约翰 食物 5
约翰 家具 椅子 6
约翰 家具 桌子 7
姓名 食物 家具 总计
加里 12 36 48
约翰 16 39 55

大家好 尝试编写此 Dax,但 power bi 中的列总计给了我错误的总计。它给出的总数为 36 和 42,但事实并非如此。

Dax 应该按人名对类别进行分组,并将食品类别总数乘以 2,家具类别总数乘以 3。

这是我的达克斯:

SWITCH(
    TRUE(),
    MIN(Sheet1[Category]) = "Food", SUM(Sheet1[Amount]) * 2,
    MIN(Sheet1[Category]) = "Furniture", SUM(Sheet1[Amount]) * 3
)
powerbi switch-statement dax measure
1个回答
0
投票

嗯,我想说结果完全符合你的测量结果。 DAX 公式的问题在于它无法正确处理总计。带有

SWITCH
SUM
语句逐行运行,但不会调整类别级别的总计。为了获得正确的总计,您可以尝试使用首先在类别级别进行分组和聚合的度量,然后应用乘数。

尝试以下方法:

Total Amount = 
SUMX(
    VALUES(Sheet1[Category]),
    SWITCH(
        TRUE(),
        Sheet1[Category] = "Food", CALCULATE(SUM(Sheet1[Amount]) * 2),
        Sheet1[Category] = "Furniture", CALCULATE(SUM(Sheet1[Amount]) * 3),
        0
    )
)
© www.soinside.com 2019 - 2024. All rights reserved.