1

我想加载组的列表以及数据到两个单独的数据表(或一个,但我不认为这是可能的)。然后我想申请分组如下:VS 2010报告服务分组

A 
B 
Bar 
C 
Car 

数据

Ale 
Beer 
Bartender 
Barry 
Coal 
Calm 
Carbon 

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

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

我只有一个分组列表,而不是关卡或其他任何东西。属于某一组的项目是以组名开头的相同字母开头的项目。缩进不是必须的。希望我的例子能说明我需要什么,但我无法命名,所以我无法在google上找到类似的东西。

这里的关键事情是:

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

您的组列表是否来自关系数据源(例如SQLServer),如果是这样,它是否与数据使用的数据库相同? – 2012-04-04 09:12:43

+0

是的,是的。 :) – 2012-04-04 10:26:38

回答

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标题行。

+0

恐怕会有无限层次的群体。此外,顶级类别的名称也可能比1长。我设法找到解决方法。感谢您的帮助:) – 2012-04-05 14:24:11

+0

@AndriusNaruševičius:您可以将您的解决方法作为单独的答案发布吗?它可以帮助其他有类似问题的人。 :) – 2012-04-06 10:42:26

+0

我做到了:)谢谢。 – 2012-04-10 10:28:50