如何在不同的表(Reporting Services)中使用总计2总计的值?

时间:2010-06-03 03:57:12

标签: sql-server reporting-services

在报表设计中,我有2个表(Current和Proposed)结构如下:

当前

Parameter | Value | Rate | Total

Value ...

建议

Parameter | Value | Rate | Total

Value ...

表格的每个底部(表格页脚),我有一个名为“Total:”的东西,它是Total字段的总和。我称这些文本框是txtbxCurrent和txtbxProposed,格式已经是货币。

这件事情还不错。

但是现在我需要总共获得这些txtbxCurrent和txtbxProposed。我该怎么做呢?我能否接受这个的价值?

BTW ..我正在使用Ms SQL Server 2005(ReportViewer - 客户端)

此处我的SINGLE数据集如下所示:

RecID | ReportView | Type | Parameter | Value | Rate | Total
1, 'Detail', CURRENT, 'Param1', 100, 0.1, 10
1, 'Detail', CURRENT, 'Param2', 200, 0.2, 10
1, 'Detail', PROPOSED, 'Param1', 100, 0.2, 20
1, 'Detail', PROPOSED, 'Param2', 200, 0.2, 20

我唯一可以想到的是,我可以附加另一个ReportView,例如'Ttl',但我只是想知道我可以从当前数据集中做到。

由于

4 个答案:

答案 0 :(得分:2)

你能创建一个只包含第三个表的总数的新表吗?

例如:

表1 表2 表3(仅具有表1 +表2的总和)

您也可以使用参数存储要添加的总数,但第3个表格很容易创建。

答案 1 :(得分:1)

为什么不使用sum功能?您可以使用sum函数为每个数据集添加这些值并将其添加到新文本框中。

编辑:

如果txtbxCurrent = Sum(Fields!Total.Value, "CurrentDS")且txtbxProposed = Sum(Fields!Total.Value, "ProposedDS")

然后你可以使用它:

Sum(Fields!Total.Value, "CurrentDS") + Sum(Fields!Total.Value, "ProposedDS")

答案 2 :(得分:1)

如果您对两个表使用单个数据集,那么如何将它们分别限制为当前值和建议值?

如果每个表都有一个表级过滤器,最简单的方法可能是添加第三个没有表级过滤器的表,只有一个表脚行,只包含

Sum(Fields!Total.Value)

或者,重写报表以使用单个表(按ReportView分组)可能更有效,页脚包含组页脚和表尾页级别的总和。

答案 3 :(得分:1)

如果要计算两个或更多不同表的总行数,请使用以下表达式: = Sum(1,“DataSet1”)+ Sum(1,“DataSet2”) 通过使用1,您只需求1-s而不是实际字段值,这将为您提供行数。