1

グループのリストとデータを2つの別々のデータテーブル(または1つ)にロードしたいのですが、それが可能かどうかはわかりません。次に、次のようなグループ化を適用します。

グループ

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
4

2 に答える 2

1

すべてのレコードには子があるため、クエリでは各レコードの父親も取得する必要があります。次に、高度なグループ化タブに優れたトリックがあります。父親の列を選択すると、必要な数の上位レベルのグループが再帰的に生成されます。私はそれについてhttp://blogs.microsoft.co.il/blogs/barbaro/archive/2008/12/01/creating-sum-for-a-group-with-recursion-in-ssrs.aspxで学びました

于 2012-04-10T10:28:27.843 に答える
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の見出し行を非表示にすることをお勧めします。

于 2012-04-04T11:23:54.710 に答える