Power BI 中突出显示矩阵的最大值与最小值

> 本文翻译自国际Power BI大师Alberto Ferrari的文章——《Highlighting the minimum and maximum values in a Power BI matrix》。本文介绍如何结合使用DAX和条件格式来突出显示Power BI中矩阵中的最小值和最大值。

条件格式在Power BI中是一个方便的功能;结合DAX,条件格式可以产生出色的效果。在此示例中,我们将展示如何通过设置所需单元格的格式来突出显示矩阵中的相关信息。

我们以Contoso公司在不同国家和地区的销售情况为例。如果我们想要找出某些品牌销售不佳的地理区域,则可以使用以下矩阵进行调查。

file

矩阵本身并没有突出最相关的信息,也没有在重要的地方引导我们的眼睛。Power BI中的条件格式可以改善数据可视化,用不同的背景颜色突出显示较高和较低的值。

file

然而,在某些情况下,我们需要在充满数字的矩阵中识别最好和最差的值。换句话说,我们希望突出显示具有最大值的单元格-上图中大陆和品牌的最佳组合,以及最小值-品牌和大陆的最差组合。下图显示了突出显示最佳/最差情况的矩阵。

file

我们可以通过将背景的条件格式与度量值进行结合来实现此效果。该度量值指示了当前单元格是矩阵中的最小值还是最大值。像稍后讨论的那样,我们可以使用相同的技术来突出显示具有任意业务规则的单元格。

我们需要一个MinMax度量用来在临时表中重建矩阵的全部结果。然后,它在所有计算的值中确定最小值和最大值。最后,它检查度量值在当前值是最小值、最大值还是任何其他值:

MinMax =
VAR Vals =
    CALCULATETABLE(
        ADDCOLUMNS (
            SUMMARIZE ( Sales, 'Product'[Brand], Store[Continent] ),
            "@SalesAmt", [Sales Amount]
        ),
        ALLSELECTED ()
    )
VAR MinValue = MINX ( Vals, [@SalesAmt] )
VAR MaxValue = MAXX ( Vals, [@SalesAmt] )
VAR CurrentValue = [Sales Amount]
VAR Result =
    SWITCH (
        TRUE,
        CurrentValue = MinValue, 1, -- 1 for MIN
        CurrentValue = MaxValue, 2  -- 2 for MAX
    )
RETURN
    Result

MinMax度量必须返回一个数值,否则它不能在条件格式面板中使用。MinMax度量仅对具有最小值的单元格返回1,对于具有最大值的单元格返回2,否则返回空白。

我们配置矩阵的条件格式,以便它使用MinMax度量提供的信息按照以下规则为单元格背景着色。
file

通过设置,我们获得了预期的结果。

我们使用此技术突出显示矩阵中的最小值和最大值。在其他报表中,您可以使用相同的方法突出显示基于不同业务规则的单元格。例如,即使报告仅显示汇总值,您也可以突出显示基础数据中是否存在大笔交易,或者可以突出显示参考值超出预定义阈值的差异。

因为度量值必须在内部重新生成矩阵中显示的确切值,所以用于条件格式设置的度量值在很大程度上取决于使用它的矩阵。例如,如果用户从列中删除Continent属性并将其替换为Year属性,则自定义格式规则将停止工作或可能返回意外结果。

如您所见,像MinMax这样的简单度量值可以显著提高报告的可用性。因此,它们是报表度量的理想选择,将它们构建在特定报表中的唯一目的就是改善报表查看者的体验。

  • PowerPivot工坊原创文章,转载请注明出处!

    如果您想深入学习微软Power BI,欢迎登录网易云课堂试听学习我们的“从Excel到Power BI数据分析可视化”系列课程。或者关注我们的公众号(PowerPivot工坊)后猛戳”在线学习”。


长按下方二维码关注“Power Pivot工坊”获取更多微软Power BI、PowerPivot相关文章、资讯,欢迎小伙伴儿们转发分享~

Power Pivot工坊