ASP.net 3.5 と SQL Server 2008 を使用した Reporting Services 2008 のレポートがあります。レポートには 2 つのグループと詳細行があります。
これが現在の形式です。
Outer Group
Inner Group
Detail Row
詳細行は領収書の項目を表し、領収書には複数の項目を含めることができます。各領収書は、特定の支払い方法で支払われました。したがって、外側のグループは支払いの種類ごとにグループ化され、内側のグループは領収書の ID ごとにグループ化され、詳細行は特定の領収書の各項目になります。
生データの結果セットには 2 つの重要な列があります: 受領額と適用額です。受領金額は、領収書に記載されているすべてのアイテムに対して集められた合計金額です。適用された金額は、受け取った合計金額から各アイテムが得た金額です。
サンプル結果セット:
ReceiptID Item ItemID AmountReceived AmountApplied Payment Method
------------------------------------------------------------------------------------------
1 Book 1 $200.00 $40.00 Cash
1 CD 2 $200.00 $20.00 Cash
1 Software 3 $200.00 $100.00 Cash
1 Backpack 4 $200.00 $40.00 Cash
Inner Group は、AmountReceived を $200 として正しく表示します。ただし、Outer Group では AmountReceived が $800 と表示されます。これは、この場合は 4 アイテムのカウントである各詳細行から外れていると思われるためです。
私が望むのは、受信金額が $200 であることを外部グループで確認することです。SUM 関数のスコープを内部グループに制限しようとしましたが、エラーが発生しました
scope パラメーターは、含まれるグループの名前、含まれるデータ領域の名前、またはデータセットの名前のいずれかに等しい文字列定数に設定する必要があります。
この問題を解決する方法について何か提案はありますか?