【问题标题】:DAX how to Ignore certain slicers in measure?DAX如何忽略某些切片器?
【发布时间】:2021-06-25 02:17:04
【问题描述】:

我有一张如下表:

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 对公司销售的贡献: 贡献 = 总和(表(值),其中 Measure ='Sale' & BU ='slicer select')/ 总和(表(值),其中 Measure ='Sale' & BU ='Firm' 这个“贡献”度量也应该对应于日期切片器

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

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

【问题讨论】:

    标签: powerbi dax


    【解决方案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"
        )
    )
    

    【讨论】:

    • 成功了,ALLEXCEPT 是关键!谢谢拉巴尼!
    • 不客气!很高兴看到它的工作和帮助:)
    猜你喜欢
    • 2021-10-25
    • 2019-10-29
    • 2018-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-02
    相关资源
    最近更新 更多