在一次Power BI可视化中应用顶部和底部N

时间:2019-03-19 20:26:21

标签: powerbi top-n

可以将Power BI上的图表和视觉图像过滤到前n条记录中,以使报表报告更加轻松。但是,如果我想报告最高和最低记录(例如:前10美元和最低10美元金额),则需要放置两个图像。这样会占用更多的报告空间,并破坏页面的凝聚力。

有没有一种方法可以在一张图中选择两个数据子集进行这种报告?

2 个答案:

答案 0 :(得分:2)

这是我放在一起的样本数据。

Data

最重要的是,我为Total Amount创建了一个简单的度量。

Total Amount = SUM(Data[Amount])

为此,我创建了一个新的度量,该度量实际上会将每行标记为在前3名或后3名中(您可以更改数字以满足您的需求)。

此度量首先检查Total Amount的值,然后“删除”具有空白值的任何值(通过将标志设置为空白来“删除”,因此永远不会包括在任何过滤等中)。

TopBottom = 
    IF(
        ISBLANK([Total Amount]),
        BLANK(),
        IF(
            RANKX(ALL(Data), [Total Amount], , ASC) <= 3 || RANKX(ALL(Data), [Total Amount], , DESC) <= 3,
            1,
            0
        )
    )

一旦有了排名标志度量,就可以将其添加到视觉中,然后过滤到度量为1的位置。

Filter

完成所有操作后,您应该只看到显示您关心的条目的视觉效果。这是带有标记可见的数据的完整列表,以及应用过滤器时的结果表。

Result

答案 1 :(得分:0)

将此视为对已接受答案的轻微改进。有了这个,您就不需要在要更改要查看的数量时更改公式。

您唯一需要更改的控件是过滤器。

RankTopBottom = RANKX(ALL(Data), [Total Amount], , ASC) * 
                RANKX(ALL(Data), [Total Amount], , DESC)

它使用与接受答案基本相同的原理,但是我们不使用IF,而是将两个排名相乘。最小的值将是边缘,最强的值将是中间。

因此,在过滤时,请使用“底部” N,并选择一个偶数。 (或者,如果您想使用“ N”,请添加一个负号)

乘以反秩的快速结果:

Inverse rank multiplication