如何在 SSRS 2017 中执行多个报表
How to execute multiple reports in SSRS 2017
[![在此处输入图片描述][1]][1]我有一个 SSRS 2017 报告,其中包含一个主报告和多个子报告。此报告发布到 SSRS 门户,然后由 Web 应用程序调用。该报告目前接受来自网络应用程序的一个参数,即案例 ID。我的任务是让 web 应用程序传递多个案例 ID,然后将多次执行报告,每次针对一个案例 ID。如果我将多个案例 ID 传递给主报告,结果是每个子报告将重复多次。比方说,我将案例 ID 100 和 101 传递给报告,结果将是这样的:Sub-Report-A-Case-100、Sub-Report-A-Case-101、Sub-Report-B-Case- 100,和 Sub-Report-B-Case-101,等等。理想的场景是 Sub-Report-A-Case-100、Sub-Report-B-Case-100、Sub-Report-A-Case-101 等。
由于报告是从 Web 应用程序调用的,因此我无法使用数据驱动的订阅功能。我还有哪些其他选择?
请指教。
谢谢,
周杰伦
假设您有一个案例 ID 列表,并且您有一个名为 @CaseID
的 multi-value 参数,那么我将按如下方式进行...
在您的主要报告中:
创建一个数据集并将其命名为 dsCases
,例如,使用类似
的查询
SELECT DISTINCT CaseID FROM WHERE CaseID IN (@CaseID) ORDER BY CaseID
这将为您提供每个案例 1 行的小型数据集。
接下来向您的报告添加 table 并删除除一列以外的所有列。 (您也可以删除其他行,只留下一个 'cell'。将此 tablix 的数据集 属性 设置为 dsCases
在剩余的单元格中,right-click 并插入一个子报表。根据需要设置子报表参数(将其指向 Sub-Report-A),将 CaseID 字段作为参数值传递(Fields!CaseID.Value
)。
复制并粘贴整个 table 并在第一个下方对齐。
更改第二个子报表的子报表属性 table 以指向您的第二个子报表 (Sub-Report-B)。
这将为数据集中的每个案例生成一个“Sub-Report-A”,然后它会重复“Sub-Report-B”。如果这不起作用,请告诉我,我会 post 一个带截图的完整答案。
[![在此处输入图片描述][1]][1]我有一个 SSRS 2017 报告,其中包含一个主报告和多个子报告。此报告发布到 SSRS 门户,然后由 Web 应用程序调用。该报告目前接受来自网络应用程序的一个参数,即案例 ID。我的任务是让 web 应用程序传递多个案例 ID,然后将多次执行报告,每次针对一个案例 ID。如果我将多个案例 ID 传递给主报告,结果是每个子报告将重复多次。比方说,我将案例 ID 100 和 101 传递给报告,结果将是这样的:Sub-Report-A-Case-100、Sub-Report-A-Case-101、Sub-Report-B-Case- 100,和 Sub-Report-B-Case-101,等等。理想的场景是 Sub-Report-A-Case-100、Sub-Report-B-Case-100、Sub-Report-A-Case-101 等。 由于报告是从 Web 应用程序调用的,因此我无法使用数据驱动的订阅功能。我还有哪些其他选择?
请指教。 谢谢, 周杰伦
假设您有一个案例 ID 列表,并且您有一个名为 @CaseID
的 multi-value 参数,那么我将按如下方式进行...
在您的主要报告中:
创建一个数据集并将其命名为 dsCases
,例如,使用类似
SELECT DISTINCT CaseID FROM WHERE CaseID IN (@CaseID) ORDER BY CaseID
这将为您提供每个案例 1 行的小型数据集。
接下来向您的报告添加 table 并删除除一列以外的所有列。 (您也可以删除其他行,只留下一个 'cell'。将此 tablix 的数据集 属性 设置为 dsCases
在剩余的单元格中,right-click 并插入一个子报表。根据需要设置子报表参数(将其指向 Sub-Report-A),将 CaseID 字段作为参数值传递(Fields!CaseID.Value
)。
复制并粘贴整个 table 并在第一个下方对齐。
更改第二个子报表的子报表属性 table 以指向您的第二个子报表 (Sub-Report-B)。
这将为数据集中的每个案例生成一个“Sub-Report-A”,然后它会重复“Sub-Report-B”。如果这不起作用,请告诉我,我会 post 一个带截图的完整答案。