我想将组的列表以及数据加载到两个单独的数据表中(或者一个,但我不认为这是可能的)。然后我想要应用这样的分组:
组
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
答案 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标题行。