微软BI 之SSRS 系列 - 巧用 RunningValue 函数在分组中排序并设置 RANK 排名

本文介绍如何在分组数据中实现基于特定字段的排序及排名功能,通过使用RunningValue函数,可以在各分组内为记录分配排名序号。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开篇介绍

经常有像类似于这样的排序需求,以及设置分组下的排序序号。比如此图中要求城市 City 在省份下按照 Internet Sales Amount 总销售额进行排序,并标识在各省份下的排名。

实现过程

先把分组做好,然后添加新的一列 Rank。

在 City 分组的 Group Properties 中,它的排序是按照 SUM 聚合 Internet Sales Amount 来排序的。

在 Rank 位于 City 一行的表达式中使用 RunningValue 函数。

下面表达式的作用是在指定的 StateProvince 组下,计算去重之后 City 的数量,那么第一行就是 1,第二行累加就变成 1+1 = 2 了,这样就实现了排序 RANK NO。

关于 RunningValue 函数的使用可以参考:https://msdn.microsoft.com/zh-cn/library/dd255229.aspx

返回在给定作用域中计算的、由表达式指定的所有非 Null 数值的运行聚合。RunningValue(expression, function, scope)

在本示例中,可以将 Scope 变成 Nothing, 或者 Country 来看看不同作用域下 RunningValue 的变化情况。

更多 BI 文章请参看 BI 系列随笔列表 (SSIS, SSRS, SSAS, MDX, SQL Server)  如果觉得这篇文章看了对您有帮助,请帮助推荐,以方便他人在 BIWORK 博客推荐栏中快速看到这些文章。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值