我在 Reporting Services 2008 中有一个使用 ASP.net 3.5 和 SQL Server 2008 的报告。该报告有 2 个分组和一个详细信息行。
这是当前格式:
Outer Group
Inner Group
Detail Row
详细信息行代表收据上的一个项目,一个收据可以有多个项目。每张收据都是用某种付款方式支付的。因此,外部组按付款类型分组,内部组按收据 ID 分组,详细信息行是给定收据的每个项目。
我的原始数据结果集有两个重要的列:收到的金额和应用的金额。收到的金额是收据上所有项目的总收款金额。应用金额是每个项目从收到的总金额中获得的金额。
样本结果集:
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
内部组将收到的金额正确显示为 200 美元。但是,外部组将 AmountReceived 显示为 800 美元,因为我相信它会超出每个明细行,在这种情况下是 4 个项目的计数。
我想在外部组中看到收到的金额是 200 美元。我尝试将 SUM 函数中的范围限制为内部组,但出现错误
范围参数必须设置为字符串常量,该常量等于包含组的名称、包含数据区域的名称或数据集的名称。
有没有人对如何解决这个问题有任何建议?