根据ssrs报告中的名称仅汇总列中的某些值

时间:2013-09-02 06:45:45

标签: sql sql-server reporting-services ssrs-2008

默认情况下,SUM - 汇总所有列值。但在我的情况下,我有一个按名称分组的报告。名称可以包含多个开始日期的单个商品。因此,报告必须显示所有不同开始日期的每个条目,即同名,报价,玩家唯一的区别是日期。所以对于前者,当你总结玩家时,每个名字只需要考虑一个条目。因为,即使它有多个开始日期,其他条目也是相同的并且是重复的。

enter image description here

enter image description here

预期结果应该是,

enter image description here

10美元的报价相同10美元,所以应该只加一次。同样对于玩家等,但我需要如上所示的显示,应显示每个条目。

如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

如果你想做的就是避免聚合组总行中的值,就像在你的例子中一样,只需从表达式中删除聚合,即更改:

=Sum(Fields!Players.Value)

为:

=Fields!Players.Value

这只返回Scope中的第一个Players值 - 因为它对于每一行都是相同的值,这应该没问题。

如果您需要进一步将此值汇总为总行数,则可以选择几种方法。

对于2008R2及更高版本,您可以使用嵌套聚合作为报表中的表达式 - 例如:

=Sum(Max(Fields!Players.Value,"MyGroup"))

对于2008及以下版本,您需要将聚合值添加到数据集中的每一行,并根据需要在报告中使用此值而不进行聚合。

答案 1 :(得分:0)

我没有使用SSRS,但如果这是一个常规SQL查询,则必须按日期范围进行分组。

尝试添加开始日期列,并检查是否可以在已有内容的基础上添加其他组。

如果您可以在此处提供更多详细信息(例如用于检索数据的表模式),那将非常有用。