VS 2010报告服务分组

时间:2012-04-04 06:28:20

标签: visual-studio-2010 sql-server-2008 reporting-services grouping

我想将组的列表以及数据加载到两个单独的数据表中(或者一个,但我不认为这是可能的)。然后我想要应用这样的分组:

A
B
Bar
C
Car

数据

Ale
Beer
Bartender
Barry
Coal
Calm
Carbon

分组后的最终结果应该是这样的。

*A
  Ale
*B
  *Bar
    Bartender
    Barry
  Beer
*C
  Calm
  *Car
    Carbon
  Coal

我只有一个分组列表,而不是级别或其他任何内容。属于特定组的项目是以与组名称相同的字母开头的项目。缩进不是必须的。希望我的例子澄清我需要什么,但我无法命名因此我无法在谷歌上找到任何类似的东西。

这里的关键是:

1. Grouping by a provided list of groups
2. There can be unlimited layers of grouping

2 个答案:

答案 0 :(得分:1)

由于每个记录都有它的子节点,因此查询也应该为每条记录占用一个父亲。然后在高级分组选项卡中有一个很好的技巧。选择父列可以递归地生成尽可能多的更高级别的组。我在http://blogs.microsoft.co.il/blogs/barbaro/archive/2008/12/01/creating-sum-for-a-group-with-recursion-in-ssrs.aspx

中了解到了这一点

答案 1 :(得分:0)

我建议通过以下查询报告:

select gtop.category top_category,
       gsub.category sub_category,
       dtab.category data_category
from groupTable gtop
join groupTable gsub on gsub.category like gtop.category + '%'
left join dataTable dtab on dtab.category like gsub.category + '%'
where len(gtop.category) = 1 and
      not exists
      (select null 
       from groupTable gchk
       where gsub.category = gtop.category and
             gchk.category like gsub.category + '%' and
             gchk.category <> gsub.category and
             dtab.category like gchk.category + '%')             

- top_category和sub_category上的报告组以及两个组的标题。当sub_category = top_category时,您可能希望隐藏sub_category标题行。