【问题标题】:SQL Reporting Services - Subreports Broken into multiple columnsSQL Reporting Services - 分成多列的子报表
【发布时间】:2010-03-30 03:08:43
【问题描述】:

我从某人那里继承了一个 SQL Reporting Services .rdl 项目,需要帮助修复一些功能。 在报表的每一行中,都有一个子报表。为了节省空间,子报表被分成 3 个。这样在报表的每一行中,它将子报表的数据分成 3 个较小的表。现在,它水平填充这 3 个子报表。 (即,如果结果有 9 个值,则第一个子表将有 1、4 和 7,第二个子表将有 2、5 和 8 等) 有没有办法让它垂直填充子表? (即第一个子表将有 1,2 和 3)

谢谢!

【问题讨论】:

    标签: sql reportingservices-2005 subreport


    【解决方案1】:

    默认情况下,多列报表应垂直填充。事实上,甚至没有水平填充的选项,所以我想知道它是如何完成的。也许基础查询已被修改?

    【讨论】:

      【解决方案2】:

      事实上,我对查询进行了更深入的研究,结果发现列号作为报告参数传递,并且使用列号的模对结果重新排序。我现在没有它,所以我没有确切的语法。

      【讨论】:

        【解决方案3】:

        对于任何尝试这样做的人的更多信息: 事实证明,子报表查询生成了一个指示行号的列

        ROW_NUMBER() OVER (PARTITION BY columnName ORDER BY otherColumn) AS RowNumber

        然后在报表中,子报表被包含 3 次。每个子报表都有一个名为 Column 的报表参数,第一个值为 1,第二个值为 2,最后一个值为 0。然后子报表上有一个过滤器

        =RowNumber Mod 3 = 列

        这样子报表结果被分成3个子报表,它们都可以放在同一行以节省空间。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-09-25
          • 1970-01-01
          相关资源
          最近更新 更多