不能重复列组并且还要隐藏Matrix中的静态列

时间:2011-04-26 15:11:11

标签: ssrs-2008

更新 当我第一次提出这个问题时,我并不完全明白问题所在。你最好的选择是浏览下面的问题,然后阅读我的答案。


我有一个矩阵报告,数据如下所示:

Name    Id   Activity 1     Activity 2     …Acitivity N
Smith   1    77             100             nn
Johnson 2    88             99              nn

名称 ID 属于某个群组。

当活动数量大于11时,我需要在报告以PDF格式呈现时重复名称 ID 列。


以下是最近运行的报告示例:

  

第1页(注意:红色框表示   个人数据过滤掉了):

Page 1


第2页: Page 2

我一直在摆弄 RepeatRowHeaders RepeartColumnHeaders 这些属性,但我没有成功。

如何重复此列?

虐待狂可以查看rdl文件here

1 个答案:

答案 0 :(得分:0)

简答(和我的请求

请投票on this Page以有条件地隐藏非群组矩阵列。


长篇:

我找到了问题的解决方案,但首先要弄清楚确切的问题。当 RepeatRowHeaders RepeatColumnHeaders 设置为True时,SSRS矩阵能够在后续页面上重复列,因为其宽度会增加。所以我的报告设置部分很好。

我的问题是我的网格设置如下: Grid 0

您在上面看到的是包含Matrix的Tablix。蓝色表示具有四列的正常Tablix。绿色表示第4列中具有 N 列数的矩阵。

因此即使将属性 RepeatRowHeaders RepeatColumnHeaders 设置为true,第1-3列也不会重复,因为Matrix中的数据扩展到多个页面。这是因为外Tablix(例如蓝色部分)仅看到柱4向外生长而不是内矩阵中的各个柱。

为了使列重复,我不得不像这样改变网格: Static Columns

这个网格只有一个矩阵; Tablix中的Matrix不是描绘的第一个图像。我拉出矩阵并在左边添加了“静态列”。随着Matrix的发展,这使得第1 - 3列在多个页面上重复。

所有看起来都很好,但是这里有一个问题:静态列无法隐藏,或者更恰当地说,您可以隐藏列中的数据,但列本身不会缩小。

所以,当我隐藏静态列3时,我的报告看起来像这样: Hiding Static Column

注意白色空间差距。这个解决方案根本行不通。当我发现我陷入任何一种情况时(或者有能力有条理地隐藏列或在后续页面上重复列),我使用了一个Microsoft支持事件来分析报告并提出解决方案。 / p>

微软很好,知识渊博,甚至pointed to a article在他们的论坛上说他们正在考虑允许SSRS能够隐藏静态列。然而,最后,他们说我们陷入了这两种情况。 (顺便说一句,请注意论坛帖子在2006年得到了解答。)

因此,经过与微软的漫长过程,我们仍陷入困境。幸运的是,我们的其中一位程序员提出了一种解决方法:将您想要的列切换到Matrix本身的可见性。

这就是我所做的。它花了一些时间来报告SQL(并创建一个我并不特别自豪的声明),但它确实有效。

所以现在工作报告看起来像这样: final matrix

这是一个矩阵,两个静态列总是需要在每个页面上重复,而第3列现在是用于Matrix的数据集的一部分。

再一次,我恳请社群投票on this Page有条件地隐藏非群组矩阵列。这将使构建这样的未来报告变得更加容易:)