SSRS:报表中分组聚合的展开和收起效果与处理不规则层次结构的技巧2014-03-23 cnblogs BIWORK报表中分组聚合的展开和收起效果与处理不规则层次结构的技巧(没有子元素的时候不展开, 删除+符号)分组聚合的展开和收起效果在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.vSalesPersonWHERE CountryRegionName IN ("United States","United Kingdom","France")
下面开始先创建一个报表,以及添加DataSource, DataSet和 Table控件并填充数据