简答(和我认罪):
请投票on this Page有条件地隐藏非组矩阵列。
龙形态:
我找到了解决我的问题,但首先是找出确切的问题。 SSRS矩阵可以在后续页面上重复列,因为它的宽度增长时RepeatRowHeaders和RepeatColumnHeaders设置为True。所以我的部分报告设置很好。
我的问题是,我的网格设置如下:
什么你在上面看到的是含有基质Tablix的。蓝色表示具有四列的正常Tablix。绿色表示第4列中的矩阵,其具有N列数。
因此,即使属性RepeatRowHeaders和RepeatColumnHeaders设置为true,列1-3将不会重复在矩阵中的数据扩展到多个页面。这是因为外部的Tablix(例如蓝色部分)仅看到列4向外生长而不是内部矩阵中的各个列。
为了使列重复,我不得不改变,像这样的网格:
此网格只有一个矩阵;不是第一张图片中的矩阵。我拉出了矩阵,并在左边添加了“静态列”。这使矩阵1 - 3随着Matrix的发展在多个页面上重复。
一切似乎都很好,但这里的难题是:静态列无法隐藏,或者更恰当地说,你可以隐藏列中的数据,但该列本身不会收缩。
所以,当我躲在静态列3,我的报告看起来是这样的:
通知的空白间隙。这个解决方案根本行不通。当我发现我被困在一个非此即彼/或情况(或者不得不有条件地隐藏列或在随后的页面重复列的能力),我用我们的微软支持事件的一个分析报告,并提出了一个解决方案。
微软很高兴和知识渊博,甚至pointed to a article在他们的论坛上指出,他们正在考虑让SSRS有隐藏静态列的能力。然而,最终他们说我们被困在这两种情况之中。 (顺便说一句,请注意,论坛主题是在2006年回答)
因此与微软漫长的过程之后,我们仍然坚持我们的困境。幸运的是,我们的其他程序员之一提出了一种解决方法:将想要在Matrix中自行切换可见性的列。
这就是我所做的。它花了一些与SQL报告(并创建一个我不特别感到自豪的声明)finagling,但它的作品。
所以,现在的工作汇报如下:
这是一个矩阵,两个静态列是总是需要重复每一页和第3列这是目前用于矩阵的数据集的一部分上。
再一次,我与社会各界恳求投票on this Page有条件地隐藏非组矩阵列。这将使构建像这样的未来报告更容易:)
来源
2011-06-14 14:46:32
ray