開篇介紹
經常有像類似於這樣的排序需求,以及設置分組下的排序序號。比如此圖中要求城市 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 博客推薦欄中快速看到這些文章。