根据所选过滤器动态减去两个列值,并根据该值选择一个波段 - Power BI DAX

问题描述 投票:0回答:1

我们需要在 Power BI 上绘制图表,其中 X 轴上有一个区域,Y 轴上有属于该区域的客户数量 我们有一个前端过滤器,其值为 Type1 、 type2 、 type3 (注意:此过滤器启用了多选选项)

当选择任何类型时,应从所选类型列中减去TotalValuebyCustomer(列D)。

这是我们的桌子:

enter image description here

选择类型1时 对于 C01 D 栏 - E 栏,即; 15-5 =10 频段应为 6 至 10 。 对于 C02 D 栏 - E 栏,即; 16-1 =15 频段应为 10+

图表应显示 1 名客户处于 6 至 10 频段以及 1 名客户处于 10+ 频段

选择类型2时 对于 C01 D 栏 - F 栏,即; 15-10=5 频段应为 1-5 对于 CO2 D 栏- F 栏,即; 16-12=4 频段应该是 1-5
图表应显示 1-5 范围内 2 位客户的数量

选择类型3时 对于 C01 D 列 - G 列,即; 15-13=2 频段应为 1-5 对于 C02 柱 D-柱 G,即; 16-10=6 频段应该是 6 到 10
图表应显示 1 至 5 频段中的 1 名客户和 6 至 10 频段中的 1 名客户

同时选择类型 1 和类型 2 时 对于 C01 D 列 -[E 列 + F 列],即; 15-(5+10)=0 带应为 0 对于 CO2 D 列-[E 列 + F 列],即; 16-(1+12)=3 频段应该是 1 到 5
图表应显示 0 频段中的 1 名客户和 1 至 5 频段中的 1 名客户

预期输出:

powerbi dax measure
1个回答
0
投票

你可以试试这个

  1. 删除无用的列并删除重复的

enter image description here

  1. 选择前两列并取消透视其他列

enter image description here

然后我们会有乐队桌

enter image description here

最后,您需要创建一个措施

 MEASURE =
VAR _list =
    DISTINCT ( 'Table'[Attribute] )
VAR _tbl =
    ADDCOLUMNS (
        SUMMARIZE (
            FILTER ( 'Table', 'Table'[Attribute] IN _list ),
            'Table'[Customer],
            'Table'[Total ValuedbyCustomer],
            "total", SUM ( 'Table'[Value] )
        ),
        "result", [Total ValuedbyCustomer] - [total]
    )
RETURN
    COUNTROWS (
        FILTER (
            _tbl,
            [result] >= MAX ( Band[Left] )
                && [result] <= MAX ( Band[Right] )
        )
    )

enter image description here

enter image description here

enter image description here

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.