首页 > 解决方案 > Power BI 仪表板,其中核心筛选条件是数值字段的析取

问题描述

我们正在尝试实现一个显示各种表格、指标和地图的仪表板,其中数据集是客户列表。主要过滤条件是两个数字字段的分离。我们希望用户能够选择一个阈值[field 1]和一个单独的阈值[field 2],然后施加条件[field 1] >= <threshold> OR [field 2] >= <threshold>

之后,我们还希望允许各种其他交互式切片器,以便用户可以进一步限制数据,例如按国家或客户经理。

Power BI 自然会AND在所有筛选器之间强加,并且没有一种简洁的方式来指定OR. 您能否建议一种使用两个数字字段定义计算的方法,然后将其用作同一交互式仪表板屏幕中的过滤器?或者,有没有办法在显示仪表板之前首先提示用户输入两个阈值——所以当他们点击Submit那个参数设置屏幕时,他们会被带到主仪表板屏幕,并且已经应用​​了分离?

添加以回应评论:

数据可以很简单:那里没有复杂性。复杂性在于让用户界面启用析取。

假设数据是包含客户 ID、国家/地区、性别、过去 12 个月的交易总额以及过去 12 个月的购买次数的客户列表。我希望最终用户(没有技术技能)指定总价值(例如 1,000 美元)和购买次数(例如 10 次)的最低阈值,然后将数据集限制为过去 12 个月内交易总值的数据集> 1,000 美元或过去 12 个月的购买次数 > 10。

之后,我想让用户在仪表板上查看数据集(例如,使用表格和图表)并从那里选择其他过滤器(例如,性别=男性,国家/地区=澳大利亚)。

标签: powerbi

解决方案


据我所知,目前 Power BI 中没有这样的内置切片器功能。然而, Power BI 论坛中有一个建议要求这样的功能。如果您愿意使用Power Query Editor,很容易获得您正在寻找的值,但仅适用于您的限制或阈值的硬编码值。

让我向您展示如何使用符合您描述结构的合成数据集:

数据集:

CustomerID,Country,Gender,TransactionValue12,NPurchases12
51,USA,M,3516,1
58,USA,M,3308,12
57,USA,M,7360,19
54,USA,M,2052,6
51,USA,M,4889,5
57,USA,M,4746,6
50,USA,M,3803,3
58,USA,M,4113,24
57,USA,M,7421,17
58,USA,M,1774,24
50,USA,F,8984,5
52,USA,F,1436,22
52,USA,F,2137,9
58,USA,F,9933,25
50,Canada,F,7050,16
56,Canada,F,7202,5
54,Canada,F,2096,19
59,Canada,F,4639,9
58,Canada,F,5724,25
56,Canada,F,4885,5
57,Canada,F,6212,4
54,Canada,F,5016,16
55,Canada,F,7340,21
60,Canada,F,7883,6
55,Canada,M,5884,12
60,UK,M,2328,12
52,UK,M,7826,1
58,UK,M,2542,11
56,UK,M,9304,3
54,UK,M,3685,16
58,UK,M,6440,16
50,UK,M,2469,13
57,UK,M,7827,6

桌面桌:

在这里,您可以看到使用两个切片器的输入表和子集表。如果论坛建议得到实施,希望将如下子集更改为"OR"场景应该很容易:

在此处输入图像描述

交易价值 > 1000 或数量或购买 > 10 使用 Power Query:

如果你使用Edit Queries > Advanced filter你可以这样设置:

在此处输入图像描述

下面的最后一步Applied Steps将包含以下公式:

= Table.SelectRows(#"Changed Type2", each [NPurchases12] > 10 or [TransactionValue12] > 1000

现在您的原始输入表将如下所示:

在此处输入图像描述

现在,如果我们能够将硬编码的 10 和 1000 替换为动态值,例如来自切片器,我们就可以了!但不是...

我知道这不是你要找的,但这是我能找到的最好的“否定答案”。我想我和你一样希望有一个更好的解决方案!


推荐阅读