字段 SSRS 2005 中不同值的总和

问题描述 投票:0回答:3

我正在开发 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
的任何建议。

sql reporting-services field distinct
3个回答
0
投票
=Sum(Fields!tot.Value, "table1_Group3")

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

听起来您想对多个组中的该值求和,但只从组的每个实例中取一个“tot”。 (您确定该组中的所有行都有相同的“Tot?”)

如果 tot 是返回数据中其他字段的总和,则只需在公式中将它们相加即可。这还可能具有简化 SQL 查询的额外好处。

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

(如果可以选择升级到 2008R2 SSRS,那么可以在此处使用 Lookup 函数,甚至可以回顾相同的数据集。)


0
投票

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


-1
投票

我想你需要写

sum(distinct columnName)

© www.soinside.com 2019 - 2024. All rights reserved.