我在SQL报告中有一个矩阵,我希望它能在A4页面上打印。如果矩阵少于4列,那么它适合但是对于超过4列我希望矩阵包装并且每页只显示4列。这可能吗?我在localmode中使用SQL Reporting 2005。
答案 0 :(得分:4)
我找到了一个解决方法:
简而言之,我告诉列表要打破每4列。这导致矩阵在4列之后被分割。
这在所有情况下都不起作用,可能会搞乱小计,但它适用于我的应用程序。
免责声明:这不是我的想法......我从Chris Hays's Sleezy Hacks改编了它。
答案 1 :(得分:1)
没有办法固有地包装列;上面的Mboy解决方案与我过去做的非常类似,所以我不会在这里重复他的步骤,虽然我会警告你:对于包含大量列的矩阵,你会以指数方式增加报表中的页数。在你的情况下,这可能不是一个问题;但我们发现在大多数情况下,不包括列更便宜(就页面输出而言)。
答案 2 :(得分:1)
除了MBoy的回答,我想在一个页面上显示多个图表,但图表的数量会因数据而异。我想要的是在一行中显示两个图表,其中包含所需的行数。我做了如下:
正如MBoy所建议的那样,我在数据中创建了一个名为[ChartNumber]的'Count'字段,每个图表增加一个(所以如果我有7个图表,行将编号为1-7)。登记/>
为了实现这一点,我使用DENSE_RANK()SQL函数在我的查询中创建一个字段,例如DENSE_RANK()OVER(ORDER BY [Data]。[ItemtoCount])AS [ChartNumber]。
因此,如果我想为每个部门使用不同的图表,我可以使用DENSE_RANK()OVER(ORDER BY [Data]。[Department])AS [ChartNumber]
我在表单中添加了一个列表并绑定到我的数据集
然后我将行组设置为on on = Ceiling(Fields!ChartNumber.Value / 2)
然后我在= Ceiling(Fields!ChartNumber.Value Mod 2)上添加了一个colum组
在列表和预览中创建一个图表,您应该在每一行上并排看到两个图表。
我使用了图表,但您可以轻松地在列表中放置矩阵或任何其他项目。
编辑:n列更通用的解决方案是= Ceiling(Fields!ChartNumber.Value / n)和= Ceiling(n * Fields!ChartNumber.Value Mod n)
答案 3 :(得分:0)
我不这么认为。我发现导出到excel然后打印是我发现的最灵活的打印SSRS矩阵报告的方式 - 尤其是。因为我的大多数用户都非常了解。
答案 4 :(得分:0)
根据MSDN,Tablix数据区域的水平分页方式与表格垂直分布的方式大致相同,也就是说您可以在组更改时指定分页符。还有另一篇MSDN文章建议使用分页表达式,但这种技术已经由MBoy解释,所以我不会重复它,只是说它是一种认可的技术。