SSRS报告参数:参数的值在其他参数的值选定事件

时间:2015-11-18 11:41:27

标签: reporting-services ssrs-2008

这是我的情景,

  • 我有一份报告,其中有两个子报告。
  • 每个子报告的可见性取决于参数(A)值。
  • 用于从所有可用值中选择参数(A)值的每个事件将刷新具有相同数据集但与刷新事件之前不同的可用值的其他两个参数(B,C)列表。
  • B和C将使用列表中的一个值作为其默认值。
  • 默认值由B,C
  • 的默认属性中的表达式控制
  • 再次更改A时,循环重复。

A,B和C用于指定查询的日期范围。

A可供选择,从两个选项中选择('每周','每月')。默认为“每周”。

  • ' WEEKLY'将当前年份的工作周列表返回到B和C. subreport1显示。 subreport2 hidden。
  • '月刊'将当前年份的月份列表返回给B和C. subreport1隐藏。 subreport2显示。

和B和C的默认值的表达式是=IIF(Parameters!A.Value = "WEEKLY",datepart("WW",today()),IIF(Parameters!A.Value = "MONTHLY",datepart("M",today()),0))

现在加载时,A是“每周”,B和C具有正确的默认值datepart("WW",today())。然后...

  1. 我将A更改为'每月',B和C获得正确的月度数据并具有正确的默认值。datepart("M",today())

  2. 然后我又回到了“周刊”。 B和C获得正确的每周数据,但仍然保留第一个开关的默认值datepart("M",today())而不是假设值datepart("WW",today())

  3. 如何让B和C从A中选择的每个类别获得正确的默认值?

    修改

    • 所有子报表都有与主报表相同的参数集。
    • 我使用查询获取B和C的列表。
    • 到目前为止,查询工作正常,产生清单。
    • 查询是一个程序,它接受参数A然后返回当前年份的工作周或月的记录集。
    • 每个子报表都具有与主报表中相同的参数定义。

    我实际上并不知道如何使用子报表。在这里尝试和错误。 因此当ssrs提示我时,某些子报告没有定义参数定义,我在子报告属性的参数选项卡的子报告中将参数匹配到参数,这是构建此报告时唯一的错误。

1 个答案:

答案 0 :(得分:0)

因此,经过一段时间的努力,我已经设法从我们的参数中重现了你需要的行为。抱歉,如果这已经完成,或者不起作用,但它的行为符合我的配置(SSRS 2008 R2)。

  • 参数A设置为标签和值的可用值“WEEKLY””MONTHLY”,默认值为“WEEKLY”

  • 然后设置参数B,其中包含标签,值和默认值的可用值'全部设置为表达式的值

    =IIF(Parameters!A.Value =         
        "WEEKLY",datepart("WW",today()),IIF(Parameters!A.Value = 
        "MONTHLY",datepart("M",today()),0))
    

    可用值

    enter image description here

    默认值

    enter image description here

  • 对参数C

  • 重复此操作

现在,当我第一次运行报告时,我面临以下

enter image description here

当我选择每月时,我会

enter image description here

然后,当我再次选择每周一次时,我得到

enter image description here

只有当我选择每月并选择“查看报告”时,报告中的可见性才会发生变化

enter image description here

当你提出问题时,我不确定你是否填写了所有这些步骤 - 你可能已经完成了 - 但是值得给出上述内容的新鲜感,看看行为是否符合您的要求

有任何问题,请允许我知道,我会尽力帮助进一步提升