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 控件中。在该列表控件的详细信息组属性中,按年份分组并将其设置为每组之间的分页符。
基本步骤在下面的答案中。
- 创建一个正文为空的新报表。
- 添加所需的数据源、参数和数据集。确保在您的主数据集中包含 Year。
- 向正文中添加一个列表对象。从工具箱中将其拖放到正文中。
- 将列表的数据集设置为包含年份的主要数据。
- 在 Visual Studio 报表设计器的“行组”窗格中,右键单击“详细信息”行,然后选择“组属性”。在 General 页面上,单击 Group expressions 下的 Add 按钮,从 Group on 下拉列表中选择
Year
。这假设您在数据中得到了这个。
- 在同一个对话框中,转到分页符页面并选中组的每个实例之间选项。单击“确定”。
- 在列表中添加一个 Tablix。这将显示您的数据。
- 向 Tablix 添加一些字段。
- 运行 报告。
如果您的数据返回了超过一年的信息,在导出到 Excel 后,您每年将有一个 sheet。
要设置 sheet 标签,请在列表详细信息属性窗格中设置 PageName 属性。
- 单击列表控件
- 在 Visual Studio 报表设计器的“行组”窗格中,单击“详细信息”行
- 在属性窗格中找到页面名称 属性,并将表达式设置为数据集中的年份值
=Fields!Year.Value
现在 sheet 应该标有年份。
我已经创建了许多具有多个选项卡的 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 控件中。在该列表控件的详细信息组属性中,按年份分组并将其设置为每组之间的分页符。
基本步骤在下面的答案中。
- 创建一个正文为空的新报表。
- 添加所需的数据源、参数和数据集。确保在您的主数据集中包含 Year。
- 向正文中添加一个列表对象。从工具箱中将其拖放到正文中。
- 将列表的数据集设置为包含年份的主要数据。
- 在 Visual Studio 报表设计器的“行组”窗格中,右键单击“详细信息”行,然后选择“组属性”。在 General 页面上,单击 Group expressions 下的 Add 按钮,从 Group on 下拉列表中选择
Year
。这假设您在数据中得到了这个。 - 在同一个对话框中,转到分页符页面并选中组的每个实例之间选项。单击“确定”。
- 在列表中添加一个 Tablix。这将显示您的数据。
- 向 Tablix 添加一些字段。
- 运行 报告。
如果您的数据返回了超过一年的信息,在导出到 Excel 后,您每年将有一个 sheet。
要设置 sheet 标签,请在列表详细信息属性窗格中设置 PageName 属性。
- 单击列表控件
- 在 Visual Studio 报表设计器的“行组”窗格中,单击“详细信息”行
- 在属性窗格中找到页面名称 属性,并将表达式设置为数据集中的年份值
=Fields!Year.Value
现在 sheet 应该标有年份。