DAX如何忽略某些切片器?

时间:2021-06-25 02:17:04

标签: powerbi dax

我有一张如下表:

BU  Value   Date    Measure Agg_Lvl_1   Agg_Lvl_2   Agg_Lvl_3
AA  10  01/01/2021  Sale    Firm    COO A
AB  20  01/04/2021  Sale    Firm    Non-COO A
AC  32  01/05/2021  Sale    Firm    COO A
BA  32  01/01/2021  Sale    Firm    Non-COO B
BB  43  01/04/2021  Sale    Firm    Non-COO B
BC  19  01/08/2021  Sale    Firm    Non-COO B
CA  11  01/11/2021  Sale    Firm    Non-COO C
CB  16  01/12/2021  Sale    Firm    Non-COO C
CC  18  01/13/2021  Sale    Firm    COO C
D   18  01/01/2021  Sale    Ext Non-CIO D
AA  10  01/01/2021  non-Sale    Ext Non-CIO A
AB  20  01/04/2021  non-Sale    Firm    Non-CIO A

我需要按期间计算每个 BU 对 Firm Sale 的贡献: 贡献 = Sum(Table(Value) where Measure ='Sale' & BU ='slicer select') / Sum(Table(Value) where Measure ='Sale' & BU ='Firm' 这个“贡献”度量也应该对应于日期切片器

我尝试了不同的 DAX 方法,但我得到的只是 1 的贡献(我认为切片器/过滤器设置不正确)。有人帮忙吗?

例如1/1/2021 - 1/4/2021之间的AA贡献=(10+20)/(10+20+32+18)=12.5%

1 个答案:

答案 0 :(得分:1)

您可以尝试如下所示的函数ALLEXCEPT-

contribution = 
CALCULATE(
    SUM(Table_name[value]),
    FILTER(
        ALLEXCEPT(Table_name,Table_name[Date],Table_name[BU]),
        Table_name[measure] = "Sale"
    )
)
/
CALCULATE(
    SUM(Table_name[value]),
    FILTER(
        ALLEXCEPT(Table_name,Table_name[Date]),
        Table_name[measure] = "Sale"
            && Table_name[BU] = "Firm"
    )
)