【问题标题】:How to execute multiple reports in SSRS 2017如何在 SSRS 2017 中执行多个报告
【发布时间】:2020-09-16 18:21:32
【问题描述】:

[![在此处输入图像描述][1]][1]我有一份 SSRS 2017 报告,其中包含一个主报告和多个子报告。此报告发布到 SSRS 门户,然后由 Web 应用程序调用。该报告当前接受来自 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 应用程序调用的,因此我无法使用数据驱动的订阅功能。我还有哪些其他选择?

请指教。 谢谢, 周杰伦

【问题讨论】:

    标签: sql reporting-services ssrs-2017


    【解决方案1】:

    假设您有一个案例 ID 列表,并且您有一个名为 @CaseID 的多值参数,那么我将按以下方式进行操作...

    在你的主要报告中:

    创建一个数据集并将其命名为 dsCases,例如,使用类似的查询

    SELECT DISTINCT CaseID FROM WHERE CaseID IN (@CaseID) ORDER BY CaseID
    

    这将为您提供每个案例 1 行的小型数据集。

    接下来在您的报告中添加一个表格并删除除一列之外的所有内容。 (您也可以删除其他行,留下一个“单元格”。将此 tablix 的 datset 属性设置为 dsCases

    在剩余的单元格中,右键单击并插入一个子报表。根据需要设置子报表参数(指向子报表-A),将 CaseID 字段作为参数值传递(Fields!CaseID.Value)。

    复制并粘贴整个表格并将其与第一个表格对齐。

    将第二个表中子报表的子报表属性更改为指向您的第二个子报表 (Sub-Report-B)。

    这将为数据集中的每个案例生成一个“Sub-Report-A”,然后为“Sub-Report-B”重复。如果这不起作用,请告诉我,我将发布带有屏幕截图的完整答案。

    【讨论】:

    • 谢谢艾伦。我会试一试,让你知道结果。
    • 嗨,艾伦,正如您所建议的,我创建了一个带有多值参数的主报告来存储案例 ID。然后添加一个表格来填充 Sub-Report-A。之后,我复制了这个表来添加 Sub-Report-B。但是,我不知道如何动态匹配 case id 参数。请指教。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-04
    • 1970-01-01
    相关资源
    最近更新 更多