程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SSRS:報表中分組聚合的展開和收起效果與處理不規則層次結構的技巧

SSRS:報表中分組聚合的展開和收起效果與處理不規則層次結構的技巧

編輯:關於SqlServer

報表中分組聚合的展開和收起效果與處理不規則層次結構的技巧(沒有子元素的時候不展開, 刪除+符號)

分組聚合的展開和收起效果在SSRS Report中非常常用,並且有時還要處理一些比較特別的情況。比 如分組合並時有的層次結構是不規則的,有的組有兩層,遇到這種情況應該如何處理?

注意到下面的這個需求,如果 France 下面沒有其它的子層級,就不顯示 + 號,如果 United States - Utah/Minnesota 州沒有城市的子層次那麼它們也不顯示 + 號.

這樣的需求在 SSRS Report 中會偶爾碰到,可以理解為如何處理非對稱層次結構中的顯示和隱藏問 題.

下面展示的技巧先回顧了如何垂直分組,使用的是Table這個控件,而沒有使用Tablix. 最後展現了 在沒有子層次結構的時候如何不顯示 + 號,以免給用戶以誤導做出無謂的點擊。

使用的Demo數據庫是 AdventureWorks2012, 為了展示不規則層次帶來的問題,把Dataset中的SQL給 故意寫成這樣-

SELECT CountryRegionName,
            CASE WHEN CountryRegionName = 'France' THEN ''
                  ELSE StateProvinceName END AS StateProvinceName,
            CASE WHEN CountryRegionName = 'France' THEN ''
                   WHEN City = 'Nevada' THEN ''
                   WHEN City = 'Duluth' THEN ''
                 ELSE City END AS City,
            SalesQuota,
            SalesYTD,
            SalesLastYear 
FROM Sales.vSalesPerson
WHERE CountryRegionName IN ('United States','United Kingdom','France')

下面開始先創建一個報表,以及添加DataSource, DataSet和 Table控件並填充數據

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved