首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用度量值进行排序

在我们生成的许多报告中,我们经常需要一种方法来对数据进行评分或排名。例如,我们可能需要列出销售团队的销售总额,并将它们从最高销售额到最低销售额进行排名。排名可以作为计算列或度量值来完成。使用度量值时,排名将变为动态,并采用显示数据的表或视觉对象的筛选器上下文。

如果您希望允许用户选择不同的分类值(如产品类型),然后让报表自动对所选项目进行排名,则将排名计算为度量值可能很有用。当报表筛选器上下文更改时,将自动对项目进行重新排名。

好了,让我们进入数据!

打开 Power BI Desktop,使用我们的演示数据表“服装销售额”加载到数据模型中。

要了解排名的工作原理,我们必须首先了解 DAX 函数 ALLSELECTED。

为了说明 ALLSELECTED() 函数的工作原理,我们将进行两个度量并将它们放在一个简单的表中。

首先,在服装销售额表中创建销售额的总和。单击“主页”功能区上的“新建度量”。

输入以下度量公式:

总销售额 = SUM('服装销售额'[销售额])

现在,使用下图中所示的选定列创建一个Table视觉对象。

我们可以看到所有种类的项目都已加在一起形成总数。为“种类”列添加切片器视觉对象,请参阅下面的示例。

添加切片器后,我们可以选择各种项目并正确查看表筛选器。

备注:如果要在切片器中选择多个项目,请按住 按Ctrl键并单击要选择的多个项目。这就是我选择上图中多个项目的方式。

现在,让我们做一个执行相同计算的度量,但这次我们将应用 ALLSELECTED() DAX 函数。单击“主页”功能区上的“新建度量”,然后输入以下 DAX 公式。

销售额(筛选器上下文) = CALCULATE(SUM('服装销售额'[销售额]),ALLSELECTED('服装销售额'))

将此新度量添加到现有表中。

在这个新公式中,我们正在计算所有服装销售的总和,但使用从我们的过滤器中选择的所有商品的过滤器上下文。请注意,在我们的切片器中未选择任何内容,对于表中“销售额(筛选器上下文)”列的每一行,所有 总销售额 的总和是相同的。这是因为我们更改了总和计算的筛选器上下文。

从切片器中选择牛仔裤裤子。请注意,我们的结果相同,但总数不同。使用 ALLSELECTED 计算的总额忽略了牛仔裤和裤子的筛选器上下文,并计算了所有选定销售额的总和。

最后,我们现在将添加排名。为了计算排名,我们使用 DAX 函数 RANKX()。

创建一个新度量值并添加以下内容:

排名=RANKX(ALLSELECTED('服装销售额'[种类]),CALCULATE(SUM('服装销售额'[销售额])))

将新度量值 “排名”添加到表视觉对象,基于从切片器视觉对象中选择的信息进行自动排名。

注意:当我们使用 RANKX 函数时,我们从"服装销售额"表中调用了一个特定的列,即 "种类"列。如果仅指定表名,则此度量值将不起作用。我们使用类别的过滤上下文来执行排名操作。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/Os28uXE0UgkiVwEbUeUg-g7g0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券