【问题标题】:How to run a subreport multiple times in one report?如何在一个报表中多次运行子报表?
【发布时间】:2016-02-02 20:44:21
【问题描述】:

有没有办法为参数列表中的每个实例运行一个子报表?我的子报表设计为只接受一个参数,我只想在一个报表中多次返回子报表。

【问题讨论】:

  • 如果子报表接受多值参数,它应该为您输入的每个值运行一次。
  • 问题是我的子报表只有一个参数。我无法让它正常工作,使子报表具有多值性,所以我打算将子报表嵌入到更大的报表中并希望迭代
  • 当您尝试使其成为多值时出现什么错误?
  • 由于我的报告的布局方式,它会尝试将所有参数实例的所有相关信息填充到一份报告的一个位置,而不是基于每个参数
  • 如果您需要更多上下文/不明白,请告诉我

标签: reporting-services ssrs-2008 instance reporting ssrs-2008-r2


【解决方案1】:

您可以“表格化”您的参数列表:

  1. 创建一个查询,将 un-pivot 您的参数列表作为 TABLE(INT)。
    例如:

    SELECT IDField FROM
     dbo.TableValueFunctionToSplitCommaDelimitedListIntoTableOfInts(@MultiValueListParam)
    
  2. 为您的报告添加表格或矩阵。

  3. 添加一个 DataSet 并将结果设置为在步骤 1 中创建的 sp 或查询。
  4. 将步骤2中表的DataSet设置为步骤3中创建的DataSet。
  5. 将子报表插入新表的详细信息中。

这应该在每个细节带打印一次。可以设置参数为Fields!IDValue.Value

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多