1

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 パラメーターは、含まれるグループの名前、含まれるデータ領域の名前、またはデータセットの名前のいずれかに等しい文字列定数に設定する必要があります。

この問題を解決する方法について何か提案はありますか?

4

2 に答える 2

0

表示されたデータから、内側のグループは、それぞれ 4 つの行があり、ReceiptID が 1 で AmountReceived $200.00 であるため、AmountReceived の合計が $800.00 であると予想されます。

これは、内側のグループで AmountReceived の値または AmountApplied の合計を表示していることを示しています。AmountApplied が常に AmountReceived に加算される場合、これを外部グループで表示する最も簡単な方法は、AmountApplied の合計を使用することです。

于 2010-06-16T15:42:23.850 に答える
0

sum 関数のスコープ内で正しい内部グループの名前を取得していますか? 二重引用符 (") で囲む必要があり、レポートのグループの名前と一致する必要があります。これは通常、デフォルトで table1_Group2 のようなものです。確認するには、グループを編集してみてください。

于 2010-06-16T15:45:58.950 に答える