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