;with cols as
(
SELECT 1 colID, 'C1' col
--UNION SELECT 2, 'C2'
)
, rows as
(
SELECT 1 RowID, 'R1' row, null ParentID
UNION SELECT 2, 'R2', 1
UNION SELECT 3, 'R3', 2
UNION SELECT 4, 'R4', 2
UNION SELECT 5, 'R5', 1
UNION SELECT 6, 'R6', 1
)
,data
AS
(
SELECT 3 RowID, 1 as Amount
UNION SELECT 4 RowID, 2 as Amount
)
SELECT r.RowID, r.row, c.colID, c.col, d.Amount, r.ParentID
FROM rows r
CROSS JOIN cols c
LEFT JOIN data d on d.RowID = r.RowID
(6行と今の1列)、このデータを検討値Iは、次のレイアウトを使用してマトリックス制御にこれを適用すると図示のように出力を取得します。金額が親行にどのようにロールアップされていないかに注目してください。これは今は大丈夫です。今
、私は(まあ、MSDN、ブログで文書化、など)の発現を使用することができますロールアップするための値を取得するために
=Sum(Fields!Amount.Value, "RowGroup", recursive)
これは今では、私がしたい正確に何を私に与えます値は、親行にロールアップ:
をしかし、私のデータセットは動的な列だけでなく、行を持っていますが、 2番目(または3番目など)の列が導入されると、再帰的な合計は期待どおりに機能しません。現在の列の範囲内にとどまるのではなく、すべての列を合計し、それらの値を親行までロールします。示すように:
私は値が与えられただけの行と列の現在の範囲内でロールアップを取得します。
これは私を困惑させたので、どんな指針も大変ありがたいです。
おかげ