SSRS 动态创建选项卡

SSRS Create Tabs Dynamically

我已经创建了许多具有多个选项卡的 SSRS 报告,并且能够使用给定 tablix window 属性 window 的页面 break/page 名称部分随意命名选项卡。

我现在要解决的问题是根据我的数据集的结果创建新的选项卡,但在网上找不到任何好的答案。

最简单的例子是每年的数据都有一个新标签,所以现在是 2017 年,我希望报告会为 2017 年的数据添加一个新标签(这只是一个假设的例子) .

这在 SSRS-2014 中可行吗,还是每次我想要一个新标签时都必须手动 updates/additions?

根据 alejandro zuleta 的评论,将所需的组属性设置为组的每个实例之间的分页符,当报告呈现为 excel 时,它应该将此解释为 sheet 分页符。

如果您的小组是动态的,那么 sheet 的人数也是如此。

您也可以考虑嵌套 table(一个 table 在另一个里面),其中 "parent" table 没有 header 和一个控制分页的组(和单元格)。例如;在您的假设中,您可以将分组设置为 =YEAR(fields!date.Value)。然后 "child" table 包含构成报告的 header 和组。

你可以做到。您需要做的是将报表主体中的控件放入 List 控件中。在该列表控件的详细信息组属性中,按年份分组并将其设置为每组之间的分页符。

基本步骤在下面的答案中。

  1. 创建一个正文为空的新报表。
  2. 添加所需的数据源、参数和数据集。确保在您的主数据集中包含 Year。
  3. 向正文中添加一个列表对象。从工具箱中将其拖放到正文中。
  4. 将列表的数据集设置为包含年份的主要数据。
  5. 在 Visual Studio 报表设计器的“行组”窗格中,右键单击“详细信息”行,然后选择“组属性”。在 General 页面上,单击 Group expressions 下的 Add 按钮,从 Group on 下拉列表中选择 Year。这假设您在数据中得到了这个。
  6. 在同一个对话框中,转到分页符页面并选中组的每个实例之间选项。单击“确定”。
  7. 在列表中添加一个 Tablix。这将显示您的数据。
  8. 向 Tablix 添加一些字段。
  9. 运行 报告。

如果您的数据返回了超过一年的信息,在导出到 Excel 后,您每年将有一个 sheet。

要设置 sheet 标签,请在列表详细信息属性窗格中设置 PageName 属性。

  1. 单击列表控件
  2. 在 Visual Studio 报表设计器的“行组”窗格中,单击“详细信息”行
  3. 在属性窗格中找到页面名称 属性,并将表达式设置为数据集中的年份值 =Fields!Year.Value

现在 sheet 应该标有年份。