SSRS - 防止在行组中间分页

SSRS - Prevent pagebreak in the middle of a row group

我有一份 SSRS 报告,可以导出为 PDF,然后打印到纸上。我遇到的问题是我在组中间出现分页符。

我有 MetricGroup - MetricSubGroup 和详细信息。这些是我的行组。

我在报告中有几个不同的 MetricGroups。

我需要这样做,这样我的报告才不会在 MetricGroup 中间中断。

所以现在我可以说第 1 页上的 2 个度量组和第三个度量组的一半。第 2 页包含第三个度量组的后半部分,依此类推。

如果度量组不完全适合当前页面,我需要 SSRS 将度量组推送到下一页。

这可以实现吗?

您需要使用 KeepTogether 选项 - 但请记住这是一个 "best endeavours" 过程 - 例如,您不能在一页上同时保留两千行。

另一种方法是强制分页和报告的某些部分。

为了更详细地说明之前的答案,为任何给定的 tablix 成员指定 KeepTogether = true 将尝试将该 tablix 成员的所有元素保持在一起。

因此,如果您在 MetricGroup tablix 成员上指定 KeepTogether,SSRS 将尝试将该 tablix 组的所有元素保持在一起,并且当由于报告跨越多个页面而失败时,它会在它喜欢的地方分页,从而导致小组分页。

但是,如果您在 MetricSubGroup tablix 成员上指定 KeepTogether,SSRS 将尝试将 MetricGroup 中的所有子组保持在一起,这将导致父 MetricGroup 尽可能不在页面上中断.

我之所以明确说明这一点,是因为这里有一个常见的退化情况 - 一个没有任何分组但具有复杂详细信息 tablix 的报告,每个数据记录生成多行。尝试在详细信息上指定 KeepTogether tablix 将尝试将所有详细信息放在一起,从而引入意外的分页符。

在这种情况下,您需要生成一个详细信息组作为详细信息 tablix 的直接父级,并根据报表标识进行分组。然后您可以在详细信息 tablix 上指定 KeepTogether,它只会将一个数据记录的成员放在一起。