【问题标题】:show one column in three columns in SSRS在 SSRS 的三列中显示一列
【发布时间】:2016-07-29 15:15:28
【问题描述】:

我有一个 SSRS 报告,它根据参数显示不同数量的记录。结果是两列,但有 60 行或更多,我试图将我的数据集结果显示为六列而不是两列,以便更加用户友好并利用空白空间。 我有三个tablix,每个tablix 指向相同的数据集和相同的列,但我在row visibility 上应用了这个表达式 第一个tablix的表达式是

=IIF((RowNumber(Nothing) Mod 3) = 1, False, True)

第二个tablix的表情是

=IIF((RowNumber(Nothing) Mod 3) = 2, False, True)

最后tablix的表情是

=IIF((RowNumber(Nothing) Mod 3) = 0, False, True)

我得到的结果是

T01 65       T02 85         T03 21
T04 85       T05 89         T06 85
T07 87       T08 85         T09 85

有什么方法可以将我的结果显示为:

T01 65       T04 85         T07 87
T02 85       T05 89         T08 85
T03 21       T06 85         T09 85

【问题讨论】:

    标签: sql-server reporting-services expression reporting ssrs-2012


    【解决方案1】:

    您应该可以使用多栏或“简报样式”报告来做到这一点,但只有在呈现为 PDF 或其他图像格式时才能正常工作。您还可以考虑将三个 tablix 控件并排放置,并使用一些分页功能在它们之间平均分配行数。这是来自article on technet 的示例:

    -- 2 - QUERY USING "ROW_NUMBER"
    DECLARE @PageNumber AS INT, @RowspPage AS INT
    SET @PageNumber = 2
    SET @RowspPage = 10 
    SELECT * FROM (
                 SELECT ROW_NUMBER() OVER(ORDER BY ID_EXAMPLE) AS Numero,
                        ID_EXAMPLE, NM_EXAMPLE , DT_CREATE FROM TB_EXAMPLE
                   ) AS TBL
    WHERE Numero BETWEEN ((@PageNumber - 1) * @RowspPage + 1) AND (@PageNumber * @RowspPage)
    ORDER BY ID_EXAMPLE
    GO
    

    【讨论】:

      【解决方案2】:

      SSRS 已内置此功能。在布局选项卡上的报告属性下。

      https://msdn.microsoft.com/en-us/library/ms159107.aspx

      因此,一种方法是使用带有过滤器的多个 tablix,该过滤器检查 RowNumber 并相应地显示每个表中的特定记录。

      另一种方式称为简报式报告 (link)。仅当报告导出为 PDF 或图像时,才会保留此格式。只有在 Visual Studio 的“预览”选项卡上选择“打印布局”时才能预览。这是一个例子:

      1. 使用以下内容创建一个新报告。数据集:SELECT ID,NAME FROM TABLENAME
      2. 向报告中添加一个新表并选择 ID 和 Name 作为列
      3. 单击 tablix 并按 F4 编辑 tablix 属性。在属性窗口中,更改大小 - 将宽度设置为 2 英寸
      4. 单击报表页面边界外的报表区域,然后按 F4 编辑报表属性。在属性窗口中,将 Column 值更改为 3,将列间距值更改为 0.1
      5. 在报表滚动到右侧,您会注意到有 2 个新列(因此报表上总共有 3 个列 - 因为您在上面的第 4 步中选择了 3 个)。现在单击第 2 列开头的边距,然后将其进一步向左拉,使其尽可能靠近第 1 列。这只是为了减少对大页面大小的需求。
      6. 右键单击报表页面边界外的报表区域,然后选择报表属性。更改页面大小 - 将宽度设置为 10 英寸
      7. 预览报告。现在选择“打印布局”选项卡以查看结果。仅当报告导出为 PDF 或图像时才会保留此格式。

      如第 5 点和第 6 点所述 - 由于报告正文流入多个列,因此您必须确保页面大小至少等于 -> ([原始报告正文大小乘以列数] + 所有列间距值)。否则看起来会很乱。

      【讨论】:

      • 我在报告属性中没有看到列选项
      • 注意在文章​​中他们引用了属性窗口。这与右键单击报表并选择报表属性不同。
      • 在属性窗口的顶部,允许您选择报告或报告下的项目。当我打开一个报表并且不点击任何报表元素时,报表默认在下拉列表中。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-14
      • 2013-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多