如何覆盖SSRS中的参数默认值?

时间:2012-03-21 16:00:49

标签: reporting-services report ssrs-2008 parameter-passing

我正在使用SSRS 2008,我有两份报告(A和B)。 B有4个参数,我为其分配了一个默认值。两份报告都可以自行完成

问题是我希望能够从报告A中调用报告B并使用所选值覆盖报告B中的其中一个参数。

到目前为止,报告B从报告A调用时出现,但应该覆盖的参数仍为空白,导致数据根本不加载,即。其他参数显示默认值,但第4个保持空白。

我试过了:

  • 取消默认值但无效。
  • 顺序:我还在这里读了一个关于参数顺序的post,我选择留下报告B中最后需要覆盖的那个。
  • data types匹配被覆盖的参数和从父报告发送的值(字符串)。
  • omit parameter expression设置为false,使值可以传递到深入报表。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我最近通过在tablix控件中设置单击操作来完成此操作。基本上,我去了文本框属性我去了 Action ,然后将操作设置为转到URL 。然后,我为以下内容添加了一个表达式(根据目标报表名称和参数,您可以根据需要进行修改):

=IIf(
    Parameters!p_hide_links.Value="y", 
    Nothing, 
    "javascript: void( window.open('http://' + window.location.host + '/ReportServer/Pages/ReportViewer.aspx?/Property+Management/" & replace(Parameters!i_this_report.Value, " ", "+") & 
    "&p_from_date=" & Parameters!p_from_date.Value &
    "&p_to_date=" & Parameters!p_to_date.Value &
    "&p_lease_exec=" & Fields!submitted_by.Value &
    "&p_building_state=" & Parameters!p_building_state.Value &
    "&p_division_id=" & Parameters!p_division_id.Value &
    "&p_building_id=" & Parameters!p_building_id.Value &
    "&p_view_type=d" &
    "') );"
)