【问题标题】:Page break after a certain condition in ssrsssrs中特定条件后的分页符
【发布时间】:2015-09-29 18:06:55
【问题描述】:

我是 SSRS 报告的新手。我在 ssrs 中遇到分页问题。问题是每当我的表中的金额字段的总和大于或等于 20000 时,我都想打破页面。 我想要这样的输出:

第1页 2000 B 6000 C 4000 D 5000 总计 17000

第 2 页 E 5000 F 5000 G 5000 H 5000 总计 20000

等等……

有人可以帮我找出解决方案吗? 提前谢谢你

【问题讨论】:

  • 看起来你没有在第 1 页包含 E,因为你不希望总数超过 20000。所以你想在 before 它超过而不是 之后超过了。
  • 是的,我希望总数小于 20000 或等于 20000
  • 我认为您必须使用 Visual Basic 来跟踪运行总数,然后在分页后重置。我在谷歌上四处寻找解决方案。不幸的是,我没有 SSRS,无法提供更多帮助。
  • 即使我已经尝试了很多并且在谷歌中搜索了所有内容。
  • 没关系...谢谢你的解决方案,我会试试看:)

标签: vb.net sql-server-2008 reporting-services ssrs-2012


【解决方案1】:

实现这一预期结果的一种方法是在将数据源发送给报告者之前对数据进行正确分组。
因此,您必须创建一个自定义 DataTable 和 DataSet,例如在其中添加一个新列,其中包含一个表示应分组的数据的键。
接下来,您可以将所有内容放在 List 元素中并在该键上分组。在矩形内,您可以放置​​ Tablix 以获得想要的结果。

要使页面正确中断,您应该编辑矩形大小以完美适应页面主体。并确保Add a page break afterKeep contents together on a single page, if possible 这两个属性都被选中。

【讨论】:

  • 对不起,我没听懂你想说的……如果你能举个例子来说明这个解决方案会更好。
  • 哪部分不明白?也许,如果您将现在使用的 DataTable 添加到您的问题中,我会更新我的答案以完全适合您的示例。您也没有提及您使用的是什么编程语言,c# 还是 vb?
  • 为什么这么晦涩?您基本上是在要求 OP 在数据集中创建一个计算列并使用它在 SSRS 中进行分组。显然 OP 不想这样做。编程语言绝对无关紧要。
  • 编写一个表达式来进行他要求的那种分组是非常麻烦的。我只是为这个问题提供一个简单的解决方案。 OP只是回答说他不明白,但似乎很感兴趣。因此,我愿意将其应用于他的示例,但我需要知道他在什么环境中工作。但是,您的评论完全过时了,并且在任何方面都没有建设性。如果您对他的问题有更好的答案,请随时提出建议。
  • 无论如何,我同意通过创建 running totals 字段在数据集中处理此问题要容易得多。
【解决方案2】:

我必须对我的数据集进行更改才能获得该列的总和 然后我在详细信息组上给出了分页条件,现在我可以看到总和超过 20000 时分页。

没有您的帮助,我不可能有更改数据集查询的想法。 :)

【讨论】:

    猜你喜欢
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-26
    • 2020-04-09
    • 2010-10-02
    相关资源
    最近更新 更多