2010-06-16 43 views
1

我在使用ASP.net 3.5和SQL Server 2008的Reporting Services 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 

内组显示AmountReceived正确地为$ 200。但是,外部组显示金额接收为800美元,因为我相信它正在关闭每个详细信息行,在这种情况下是4个项目的计数。

我想要的是在Outer Group看到收到的金额是200美元。我尝试将我的SUM函数中的范围限制为内部组,但出现错误

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

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

回答

0

从显示的数据中,我期望内部组显示AmountReceived的总和为$ 800.00,因为有4行,每个ReceiptID 1和AmountReceived $ 200.00。

这表示您要么显示AmountReceived的值,要么显示内部组中AmountApplied的总和。如果“应用的金额”始终合计为“金额接收”,则在外部组中显示的最简单方法是使用“金额应用”的总和。

0

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

+0

我尝试添加“TableName_InnerGroupName”,我仍然收到相同的错误,但谢谢你的建议。 – Spoonybard 2010-06-16 16:42:01