包装一个SQL报告矩阵

时间:2020-03-06 14:49:36  来源:igfitidea点击:

我在SQL报告中有一个矩阵,希望将其打印在A4页上。如果矩阵少于4列,则适合,但对于4列以上,我希望矩阵进行包装,每页仅显示4列。这可能吗?我在localmode中使用SQL Reporting 2005.

解决方案

我不这么认为。我发现导出到excel然后进行打印是我发现特别是打印SSRS矩阵报告的最灵活的方法。因为我的大多数用户都非常擅长。

我发现了一个解决方法:

  • 首先,我在数据源中添加了一个称为列数的字段。因为数据源内置在业务对象中,所以我很容易分辨出有多少列数据。
  • 接下来,我在报表上创建了一个列表,并将矩阵移动到该列表中。
  • 我为列表创建了组表达式= Ceiling(Fields!ColumnCount.Value / 4)。

简而言之,我告诉列表每4列中断一次。这导致矩阵在4列后被拆分。

这并非在所有情况下都可行,并且可能会弄乱小计,但它适用于我的应用程序。

免责声明:这不是我的主意...我改编自克里斯·海斯(Chris Hays)的《 Sleezy Hacks》。

没有方法可以固有地包装列。 Mboy的上述解决方案与我过去所做的非常相似,因此尽管我会警告我们,但在此不再重复他的步骤:对于具有大量列的矩阵,报告中的页面数将成倍增长。在情况下,这可能不是问题;但是我们发现,在大多数情况下,不包装列会更便宜(就页面输出而言)。

根据MSDN,Tablix数据区域在水平方向上进行分页,就像表在垂直方向上进行分页一样,也就是说,我们可以在组更改时指定分页符。 MSDN上还有另一篇文章建议使用分页表达式,但是MBoy已经对此技术进行了解释,因此我不会重复它,只是说它是一种被认可的技术。