1

我在 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 函数中的范围限制为内部组,但出现错误

范围参数必须设置为字符串常量,该常量等于包含组的名称、包含数据区域的名称或数据集的名称。

有没有人对如何解决这个问题有任何建议?

4

2 回答 2

0

从显示的数据来看,我希望内部组将 AmountReceived 的总和显示为 800.00 美元,因为有 4 行,每行都有 ReceiptID 1 和 AmountReceived 200.00 美元。

这表明您要么显示 AmountReceived 的值,要么显示内部组中 AmountApplied 的总和。如果 AmountApplied 的总和总是与 AmountReceived 相加,那么在外部组中显示这一点的最简单方法是使用 AmountApplied 的总和。

于 2010-06-16T15:42:23.850 回答
0

你确定你在 sum 函数的范围内得到了正确的内部组的名称吗?它需要用双引号字符 (") 括起来,并且需要与组的报告名称相匹配,默认情况下通常类似于 table1_Group2 - 尝试编辑组以进行检查。

于 2010-06-16T15:45:58.950 回答