sql-server-2005 - 根据参数选择更新报表参数? (SSRS)

标签 sql-server-2005 reporting-services

我在 SSRS 中创建了一个带有两个报告参数的报告。我希望第二个根据第一个中的选择更新它的值。第一个是销售代理列表,第二个是经销商列表。每个代理可以有多个分销商。

因此,如果报告用户选择了代理,我只希望他们的分销商显示在第二个参数的列表中。显然,参数值将来自查询,但我不知道一旦他们选择了代理,如何让它重新绑定(bind)列表。

最佳答案

如果您正确订购参数和数据集,这将自动工作

  • 首先,设置一个主要(报告)数据集,然后为每个参数下拉列表设置一个数据集。编码 WHERE数据集中的子句以使参数变量之间的依赖关系正确
  • 其次,在报告中订购您的参数 |参数菜单,以便您希望用户填写的第一个变量/参数位于顶部,并使第二个数据集依赖于该参数。通过参数遵循此顺序;最终参数应该是实际报告数据集所依赖的参数。
  • 对后续参数重复

  • 如果您的 WHERE第二个和后续数据集中的子句具有 SSRS 知道的变量是从早期参数填充的。

    例如,我有来自古老的 pubs 的三个数据集。数据库(2000 年样本)。
    pubslist用于填充@p 参数,如下所示:
     select pub_id, pub_name from publishers
    
    titleslist填充 @t 参数,如下所示:
     select title_id, title from titles where pub_id = @p
    

    最后,reportdataset看起来像这样:
     select title, price, ytd_sales from titles where title_id = @t
    
    Report | Report Parameters中的参数顺序菜单至关重要;因为数据集必须按照上面显示的顺序执行,并且@t 参数位于依赖于首先设置的@p 参数的数据集中,所以我们将@p 移动到列表的顶部。

    现在,SSRS 评估使用标签填充第一个参数的下拉列表所需的数据集。它依赖于不需要参数的数据集,因此可以立即生成。

    然后,获得该参数值后,它可以填充第二个参数的下拉列表。这反过来导致生成报告。

    关于sql-server-2005 - 根据参数选择更新报表参数? (SSRS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1053396/

    相关文章:

    sql - 如何以通用方式引用另一个数据库

    vb.net - 如何跟踪和存储电子邮件回复?

    sql-server - Pentaho 与 Microsoft BI Stack

    c# - SQL Server 2008 和.Net 4.0?

    c# - 如何在没有 HTML 标签的情况下从数据库中获取数据?

    sql-server - 如何避免在 SQL 中存储像 <option/> 这样的 XML <option></option>?

    sql-server - 跨连接列的全文搜索?

    sql - SQL Server 2005 Reporting Services 中的自定义字体

    c# - 将 RDLC 渲染为 pdf 输出控制台应用程序

    java - 如何使用 JDBC 在远程计算机上创建 SQL Server 2005 数据库?