2017-01-19 7 views
-1

"Color"列を含む以下のデータを想像してみてください。可能な値は赤、青、黄です。グループの合計値はデータに含まれていません

Other fields Color A B C 
-------------------------------- 
    ...   Red  1 3 0 
    ...   Red  0 1 6 
    ...   Yellow 3 4 5 

これはTablixコンポーネントに表示されます。それの後、私はすべての可能な色を含む、色によって集計する:

Color A B C 
----------------- 
Red  1 4 6 
Blue  0 0 0 <-- how to create this row? 
Yellow 3 4 5 

私は、新しいTablixのコンポーネントを挿入色別グループ、および合計を残して、詳細グループを非表示にします。もちろん、データに欠けている色は含まれていません。

どうすればいいですか?潜在的な解決策に

制限:

  • 必要であれば、私は、だけで色の名前で別のデータセットを作成することができます。
  • 元のクエリ(A、B、Cの数量を取得)を変更することはできません。
  • サブクエリを色の名前で結合したクエリと、数量を取得するサブクエリを結合した新しいデータセットを作成することはできません。後者は非常に高価で、私はユーザーに2倍の時間を待たせることはありません。
  • VBコードが必要な場合は、レポートコードにしか入れることができません。
+0

データセットにBlueの行が含まれていますか? – BishNaboB

+0

@BishNaboBデータセットにはBlueの行が含まれていないため、要約に含めるのが問題です。 – angus

+0

しかし、パラメータに応じて、それらを含めることができ、別の色が欠落する可能性があります。私は、レポートを実行するときにどの色が欠けているのか正確にはわかりません。 – angus

答えて

1

すべての潜在的な色の一覧を返すクエリを実行できます。そのデータセットへのtablixリンクを作成し、colorカラムでグループ化します。 lookupset(Color、Color、ThingToSummarise、 "Dataset")の行に沿ってlookupset()を実行できます。これは、色が一致するすべての行の配列/オブジェクトを返します。その後、VBを使用して集約する必要があります。合計するにはhttps://social.msdn.microsoft.com/Forums/sqlserver/en-US/609759d2-15e4-4837-86dd-30bb420db116/sum-array-values-returned-by-lookupset-ssrs-2008-r2を参照してください。

関連する問題