gpt4 book ai didi

reporting-services - SSRS - 如何将数据继续到下一列?

转载 作者:行者123 更新时间:2023-12-03 23:07:08 25 4
gpt4 key购买 nike

我需要报告“员工姓名”和“年龄”,但我不需要将姓名继续到下一页;我需要继续到下一列。

它应该是这样的:

_________________________________________________
| Employee Name | Age | Employee Name | Age |
|_______________|_____|_______________|_________|

任何人都可以发送管理此问题的报告吗?我正在使用 Microsoft 报告服务。

最佳答案

你想要一个多列的报告。

在布局选项卡上,右键单击没有任何报表对象的位置,然后选择属性。单击“布局”选项卡并将列数设置为页面上所需的列数 - 在您的示例中为 2。这将为您提供一列用于在左侧布置报表对象的列和一个灰色列右侧将是您左侧列将重复的位置。

但是,这里有一些技巧:

  • 您的列必须适合页面,否则您将无法获得任何列。例如,如果您的布局设置默认为 1 厘米间距和 2.5 厘米左右边距,那么您的列在 A4(21 厘米宽)页面上必须小于 7.5 厘米。否则您只会得到一列,因为页面上不适合两列。
  • 您的设计器中的报表呈现器不支持多列,因此您在设计器中只会看到一列。 HTML 呈现器也不支持多列,当部署到 Reporting Services 服务器并显示为网页时,您只会看到报表的一列。您需要将报告输出到支持多列的渲染器,例如 PDF 或打印机,以便实际查看多列报告中的列。

  • 更新 - 使用表格伪造多列报告

    否则,要让它以独立于渲染器的方式显示您想要的方式,就像您尝试过的那样,使用带有两个表的 hack,但诀窍是以交替方式隐藏行。

    要实现此 hack,请并排创建两个表,它们都指向您的数据集。在第一个表的 Detail 行上,对于 Visibility-Hidden 属性,使用以下公式:
    =iif((RowNumber(Nothing) Mod 2) = 0, True, False)

    在第二个表的 Detail 行上,对于 Visibility-Hidden 属性,使用相反的公式:
    =iif((RowNumber(Nothing) Mod 2) = 1, True, False)

    这意味着第一个表将打印每个奇数行,第二个表将打印每个偶数行,从而有效地为您提供多列输出。

    对于需要两列以上的表格可见性的通用解决方案,请使用以下公式:
    =iif((RowNumber(Nothing) Mod TOTALCOLUMNS) = THISCOLUMN, True, False)

    在哪里:
    TOTALCOLUMNS 是总列数
    THISCOLUMN 是该表代表的列号,从零开始(即第一列是 0,第二列是 1,等等)

    例如,五列输出中第三列的表将 Visibility-Hidden 属性设置为:
    =iif((RowNumber(Nothing) Mod 5) = 2, True, False)

    请注意,这与真正的多列输出略有不同,因为它从左到右读取,而不是像真正的多列那样在换行到右侧列之前向下读取页面。但是,它具有在每个渲染器中正确渲染的优势。

    您可以通过从 InteractiveSize-Height 属性计算出您可以在页面上容纳多少行并在左表中显示该多列然后在右表中显示其余列,依此类推来调整此方法以执行真正的多列报告,但这可能会很脆弱,具体取决于渲染器和更改页边距等布局设置。以上方法简单有效。

    关于reporting-services - SSRS - 如何将数据继续到下一列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10882784/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com