首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >SSRS:如何进行只包含组中最后一项的求和

SSRS:如何进行只包含组中最后一项的求和
EN

Stack Overflow用户
提问于 2009-05-06 21:31:48
回答 3查看 26K关注 0票数 2

我有一个rdlc报告文件,我正在尝试计算一个总和,它只能包含每个组中的最后一项。我有一张类似这样的桌子:

代码语言:javascript
复制
Place                 = ?                              (Group header 1)
    User              = ?                              (Group header 2)
        Date          =Last(Fields!Number.Value)       (Group header 3)
            Number    =Fields!Number.Value             (Detail row)

所以,换句话说,在User中,我想要一个Date的和。如果这说得通的话。

每个DateNumber行包含许多数字。但是Date只显示那一天的最后一个数字,因为在User中其余的数字不算(但必须显示),所以我想把那个用户所有日期的最后数字相加。Place也是如此(它是每个用户每天最后一个数字的总和)。

有人能帮我这个忙吗?我尝试了显而易见的(至少对我而言) =Sum(Last(Fields!Number.Value)),但是(也试图在那些函数中指定组,但没有起到作用,因为)当我试图编译时,我得到了一个错误,它说:

文本框'numberTextbox‘的值表达式在另一个聚合函数(或RunningValue)的参数中包含聚合函数(或RunningValue或RowNumber函数)。聚合函数不能嵌套在其他聚合函数中。

我想这是有道理的。但是我该怎么做呢?

更新:我已经解决了这个问题,我添加了另一个列,并将最后的数字复制到该列中。这样,我就可以显示所有的数字,并对只包含将在sum中包含的数字的列进行求和。我仍然很好奇,如果有人能解决我最初的问题……所以,如果你这样做了,请张贴答案!

EN

回答 3

Stack Overflow用户

发布于 2009-05-06 13:42:28

我不太清楚你到底想做什么。也许像=Last(字段!Number.Value,“组1") +Last(字段!Number.Value,”组2") +Last(字段!Number.Value,“组3"),而不是使用sum函数?

票数 0
EN

Stack Overflow用户

发布于 2009-05-06 13:58:41

要做到这一点,最简单的方法是修改数据集,使其只包含日期字段中显示的记录,这样您就可以只使用一个简单的sum(),而不是尝试做一些奇怪的、可能不起作用的事情。

票数 0
EN

Stack Overflow用户

发布于 2011-12-21 05:53:12

修改数据集可能真的是最简单的解决方案,但如果您真的想在不使查询复杂化的情况下这样做,您可以尝试“自定义聚合”。

具体的技术取决于SSRS的版本,我的理解是,在SSRS 2008之前,它并不能很好地工作。

其思想是,编写一些自定义代码来维护一个包含每个日期的最后一个值的数组。一个函数更新日期的“最后一个值”,另一个函数对数组中的值求和。标头调用后一个函数;在处理标头之前,您共同为每个详细信息行调用前一个函数一次。

Here's a blog,并在SSRS2008中对该技术进行了说明。

它还提供了一些关于如何在SRSS 2005中尝试使其工作的洞察,但显然这并不可靠。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/829569

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档