【问题标题】:ssrs multivalued parameter that selects which reports to executessrs 多值参数,用于选择要执行的报告
【发布时间】:2014-06-12 21:31:22
【问题描述】:

在 SSRS 2008 报告中,我希望能够允许用户选择他们希望作为参数值运行的 1 到 30 个不同的 ssrs 报告。基本上,当主报告开始运行时,我想允许用户选择他们希望作为多值参数运行的报告。这与用户单击将调用子报表的链接或单击将调用不同报表的链接不同。

您能否告诉我上述选项在 SSRS 2008 中是否可行?如果是这样,你能告诉我如何实现这个目标吗?如果这是不可能的,您能否就用户如何选择将运行哪些报告的其他可能选项提出任何建议,并告诉我如何在 SSRS 2008 中进行设置?

如果此选项在 ssrs 2008 中不可用,那么它是否是 SSRTS 2012 中的选项?如果是这样,您能告诉我如何使多个报告选择选项成为可能吗?

【问题讨论】:

    标签: reporting-services ssrs-2008 ssrs-grouping ssrs-2012


    【解决方案1】:

    这是一种解决方法。

    1. Create a main report with you multi-value that has values A and B.
    2. Create a sub report that contains Report A and B as sub reports with a parameter that accepts multi-value.
    3. Perform rendering logic created in step 2. 
    

    【讨论】:

    • 您是说在主报表中我有允许用户选择报表 A、B、C 等的多值参数吗?然后将相同的多值参数传递给所需的每个子报表?那么只有被选中的子报表才会显示在特定的执行运行中?子报表的可见性将基于传递的多值参数?
    • 是的,但是,您可以将所有报告放在主报告中作为子报告。那也行。正如 LeSteelBox 指出的那样,您可以创建一个查询设置为 SELECT (1=1) 的数据集,然后将子报告放在数据集的单独标题中。您可以根据您的参数隐藏或显示每一行的可见性。
    • 问题: 1. 将所有子报表放在主报表上,或者将主报表上的表格或矩阵的数量等于子报表的数量有什么区别?什么方法更好,为什么? 2. sql中SELECT(1=1)是什么意思?
    • 1.矩阵和表格会根据内容调整宽度,而其他控件则不会。 2. 选择 1=1 总是返回一条记录。如果您有一个需要打印至少一条记录并需要数据源的表或矩阵,那么将数据集表达式设置为 1=1 将满足这些需求。
    【解决方案2】:

    无论您决定使用子报表还是一组表,您都可以通过在每个 tablix(或子报表)的可见性属性中添加 IIF 表达式来显示或隐藏它们。

    =IIF(Parameter!ReportOption.Value=1, FALSE, TRUE)
    

    ...其中 ReportOption 是您的用户单击以选择他们想要查看的报告的参数。通过转到报告参数属性并输入您的报告列表(通过可用值)来添加此参数。

    例子

    标签:报告 XYZ |值:1 标签: 报告 ABC |值:2

    附注:如果您决定为每个报告添加表格,则需要添加其各自的数据集/数据源。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多