字段SSRS 2005中的不同值的总和

时间:2012-03-01 21:11:34

标签: sql reporting-services field distinct

我正在使用SSRS报告构建器,该构建器正在使用调用SQL Server 2000数据库的数据集。

查询获取了几个不同字段的总和,并且还提取了与该客户端编号有关的所有记录。我想得到总和的总和,但由于细节行,它已经结束了。基本上我想要的是不同总和列值的总和。

=Sum(Fields!tot.Value, "table1_Group3")

我看到你可以通过小组获得总和,我尝试了上面的表达式,但它返回时出现错误:

The Value expression for the textbox 'tot' has a scope parameter that is not 
    valid for an aggregate function...

table1_Group3是保存报表中总和值的组的名称。

有关如何在此报告中将distinct值提升为sum的任何建议。

3 个答案:

答案 0 :(得分:0)

我想你需要写sum(distinct columnName)

答案 1 :(得分:0)

=Sum(Fields!tot.Value, "table1_Group3")

上面的代码将为您提供当前“table1_Group3”中所有行的“tot”总和。这意味着此表达式仅在table1_Group3中的某处有意义。否则,SSRS不知道该组的当前实例是哪个。

听起来你想在多个组中加总这个值,但只从组的每个实例中取一个“tot”。 (你确定该组中的所有行都具有相同的“Tot?”)

如果tot是返回数据中其他字段的总和,则只需在公式中添加这些字段即可。这可能还有一些简化SQL查询的好处。

其他一些可行的选项:     - 更改SQL查询,以便每组只有一行获取Tot字段集。     - 使用报告中的嵌入代码来保持每个组仅添加一次的运行总计,例如在组头中。

(如果升级到2008R2 SSRS是一个选项,那么可以在这里使用查找功能,甚至可以回顾相同的数据集。)

答案 2 :(得分:0)

使用sql server上的临时表将查询/数据集更改为sum(distinct tot)

相关问题