2

我对此进行了很多搜索,但没有发现任何有用的信息。以前在这里问过这个问题,但没有人回应。

我有一个 tablix,它显示带有数量列的分组数据:

Tablix (data)
             Name (group)
                         Amount (rows)

如果“名称”组跨越多个页面,我想显示第一页上存在的金额总和的页面总数。在下一页上必须显示上一页的结转总额。

我已经尝试了很多东西,尤其是我的自定义程序集(比如保存一个包含每个组总数的字典,并在报告的页脚中尝试显示总数等)。真正搞砸任何实现的是报告的页眉、正文和页脚“执行”的顺序。

有什么想法或建议吗?

4

2 回答 2

1

由于:

  • 无法获取分组数据的一个实例是否在详细级别拆分在一页以上的事实(以便结转总计可以显示在重复的列标题下方)
  • 页眉和页脚总是在正文元素之后“评估”
  • 您只能在页眉和页脚中使用的表达式中引用 ReportItem
  • 您不能从页眉或页脚更改正文元素(主要是因为上述几点)
  • 您不能扩展 tablix 控件来添加您自己的功能

我决定在页脚中显示组页面总数,将其存储并拾取以将其显示到下一页。

这是通过使用累积总计列来完成的

= IIf(RunningValue(Fields!AmountDC.Value, Sum, "Group1") <> Sum(Fields!Amount.Value, "Group1"), code.SetTotal(RunningValue(Fields!Amount.Value, Sum, "Group1")), Nothing) 

最后一个详细信息行将其设置为“无”

在页脚中,一个文本框会选取该累积总计字段的最后一个值。

= code.SetTotal(Last(ReportItems!CumTotal.Value))

并将当前总数存储在嵌入代码的私有字段中。

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()

这太简单了,但它仍然是我经过多次试验后能得到的最接近的东西!

于 2013-01-08T11:18:04.653 回答
0

试试这个帖子...分开的页面答案..

这不是一个直接的答案,但如果你有创意并使用 sql 分隔页面或使用运行总计,这可以让你开始。

但是,要回答您的问题,它不是 ssrs 的功能。

于 2013-01-05T11:39:22.820 回答