Ssrs 2008 分组页面总计和结转总计
关于这一点,我在谷歌上搜索了很多,但没有发现任何有用的东西。以前有人问过这个问题,但没有人回答 我有一个tablix,它用金额列显示分组数据:Ssrs 2008 分组页面总计和结转总计,ssrs-2008,reporting-services,Ssrs 2008,Reporting Services,关于这一点,我在谷歌上搜索了很多,但没有发现任何有用的东西。以前有人问过这个问题,但没有人回答 我有一个tablix,它用金额列显示分组数据: Tablix (data) Name (group) Amount (rows) 如果“Name”组跨越多个页面,我希望显示第一页上显示的金额总和的页面总数。下一页必须显示上一页的结转总额 我尝试过很多事情,特别是我的自定义程序集(比如保留一个包含每个组总数的字典,并在报告的页
Tablix (data)
Name (group)
Amount (rows)
如果“Name”组跨越多个页面,我希望显示第一页上显示的金额总和的页面总数。下一页必须显示上一页的结转总额
我尝试过很多事情,特别是我的自定义程序集(比如保留一个包含每个组总数的字典,并在报告的页脚中尝试显示总数等)。真正打乱任何实现的是报表页眉、正文和页脚“执行”的顺序
有什么想法或建议吗?试试这篇文章
这不是一个直接的答案,但如果你有创意,使用sql或使用运行总数来分隔页面,这可能会让你开始
但是,要回答您的问题,它不是ssrs中的一项功能。原因是:
- 无法获取分组数据的一个实例是否在详细信息级别拆分为多个页面(以便结转总额显示在重复列标题下方)
- 页眉和页脚总是在正文元素之后“计算”
- 只能在页眉和页脚中使用的表达式中引用ReportItem
- 不能从页眉或页脚更改正文元素(主要是因为上面的一点)
- 无法扩展tablix控件以添加自己的功能
= IIf(RunningValue(Fields!AmountDC.Value, Sum, "Group1") <> Sum(Fields!Amount.Value, "Group1"), code.SetTotal(RunningValue(Fields!Amount.Value, Sum, "Group1")), Nothing)
并将当前总数存储在嵌入代码的专用字段中
Private running As Double = 0
Public Function SetTotal(ByVal val As Double) As Double
running = val
Return val
End Function
Public Function GetTotal() As Double
Return running
End Function
在页脚的最后一页,存储的总数被提取出来
= code.GetTotal()
这太简单了,但它仍然是我经过多次尝试后所能得到的最接近的 真的很抱歉,但是无法计算一页中显示的数据的“大小”,因为在本例中,我显示的是分组数据,这些数据不以分页符分隔,甚至在字段可能增长并占用更多空间的情况下更是如此。从我的理解来看,这几乎是不可能的,因为这就像试图在word文档中做这样的事情一样!如果是这样,我建议可能没有解决方案,因为没有功能。我仍将继续收听,因为我对其他建议感兴趣。祝你好运。我想知道为什么这么难做到,因为这在一般的报道中是很常见的事情!在Crystal Reports中,它是“以编程方式”完成的,但是报告元素的求值顺序是有意义的,因此可以这样做!这项服务很好,但似乎越来越有限。这是一个很好的问题。
= code.GetTotal()