我一直在研究 this Power BI Report 并希望获得有关用于矩阵的切片器的帮助。
我需要切片器“MB Data Used”、“Calls Made”和“SMS Sent”来切片 Matrix Grand Total 字段(最右侧)而不是值字段。我目前的切片器在值字段上工作得很好。
数据由表格填充:
----------------------------------------------------
|ph_id | month | data_used | calls_made | sms_sent |
| 1 | 1/1/19| 123 | 0 | 33 |
| 2 | 1/1/19| 87 | 22 | 0 |
| 3 | 1/1/19| 0 | 0 | 0 |
| 1 | 1/2/19| 0 | 55 | 33 |
| 2 | 1/2/19| 87 | 22 | 77 |
| 3 | 1/2/19| 0 | 0 | 0 |
----------------------------------------------------
链接到其他几个以获取相关数据。
我的目标是能够查看哪些电话号码在过去 X 个月内没有使用数据/通话/短信,而不仅仅是过滤包含 0 的电话号码。在这种情况下,当切片器都设置为0 并且日期范围设置为 1/1/19-1/2/19,只应显示 ph_id 3。
编辑: 韦伯- see this image
答案 0 :(得分:0)
您需要为切片器使用另一个不相关的表。创建此类表的最佳方法是使用建模选项卡中的假设参数选项(假设您有任何最新版本的 PBI 桌面)。
或者,如果您希望切片器基于来自实际数据的调用次数,您可以使用新表选项和以下公式创建切片器表:CallSlicer = GENERATESERIES(MIN(Data[calls_made]), MAX(Data[calls_made]), 1)
。末尾的表示步长,因此您可以调整它,例如,如果您希望用户以 10 或 20 为增量使用切片器。
现在,当您使用生成的 CallSlicer 列时,如下所示:
您可以像这样过滤结果:Your filtered measure = CALCULATE([your_measure], FILTER(Data, Data[calls_made] >= MIN(CallSlicer[CallSlicer]) && Data[calls_made] <= MAX(CallSlicer[CallSlicer])))
。然后在矩阵视觉中使用过滤的度量。
编辑: 这是一个工作示例:https://1drv.ms/u/s!AmqvMyRqhrBpgtRGGbJ6w-b66uBENQ?e=67JduS
我已经更新了示例 - 现在它显示了 2 个场景。一张表在单个单元格级别对切片器做出反应,另一张表在总计级别对切片器做出反应。
让第一个表工作的关键如上所示,下面是第二个表的解决方案,它在总计级别过滤行:
创建一个显示所有日期/月份总和的度量,例如:
CallSumTotal =
VAR tab =
FILTER (
CALCULATETABLE (
SUMMARIZE ( Data, Data[id], "calls_made", SUM ( Data[calls_made] ) ),
ALLSELECTED ( Data[month] )
),
[calls_made] >= MIN ( CallSlicer[Value] )
&& [calls_made] <= MAX ( CallSlicer[Value] )
)
RETURN
SUMX ( tab, [calls_made] )
现在在矩阵中使用常规总和度量,但为 CallSumTotal 创建一个视觉级别过滤器并将其设置为 is not blank