Power BI - 在矩阵总计上使用切片器

Power BI - Using a slicer on a Matrix Grand total

我一直在研究 this Power BI Report 并希望得到一些关于用于矩阵的切片器的帮助。

我需要切片器“MB Data Used”、“Calls Made”和“SMS Sent”来切片 Matrix Grand Total 字段(在最右侧)而不是值字段。我当前的切片器在值字段上工作得很好。

数据由 table:

填充
----------------------------------------------------
|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        |
----------------------------------------------------

链接到其他几个以获取相关数据。

我的目标是能够查看哪些 phone 数字在过去 X 个月内没有 data/call/sms 使用,而不是仅仅过滤掉包含 0 的数字。在这种情况下,当切片器都设置为 0,日期范围设置为 1/1/19-1/2/19,只有 ph_id 3 应该显示。

编辑: W.B。 - see this image

您需要为切片器使用另一个不相关的 table。创建这种 table 的最佳方法是使用建模选项卡中的假设参数选项(假设您有任何最新版本的 PBI Desktop)。

或者,如果您希望切片器基于实际数据的调用次数,您可以使用新 table 选项和以下公式创建切片器 table: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 个场景。一个 table 在单个单元格级别对切片器作出反应,另一个在总计级别对切片器作出反应。

让第一个 table 工作的关键如上所示,下面是第二个 table 的解决方案,它在总计级别过滤行:

创建一个将显示所有 dates/months 总和的度量,例如:

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