微软BI 之SSRS 系列 - 巧用 RunningValue 函数在分组中排序并设置 RANK 排名
2015-04-08 11:08 BIWORK 阅读(3836) 评论(1) 编辑 收藏 举报开篇介绍
经常有像类似于这样的排序需求,以及设置分组下的排序序号。比如此图中要求城市 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 博客推荐栏中快速看到这些文章。