【问题标题】:Reporting Services 2005 FilterReporting Services 2005 筛选器
【发布时间】:2017-09-11 22:43:20
【问题描述】:

有没有办法在 SSRS 2005 中执行“和”“或”过滤器?

我有一个指向数据集(存储过程)的表,如下所示:

    name                       type                 amount 
License Plate Credit           fees                ($150.00) 
Lieu Tax                       fees                $1,012.12 
Finance Tax City               taxes               $1,839.90 
Finance Tax County             taxes               $306.65 
Finance Tax State              taxes               $3,434.48 

用户希望查看所有行:

  1. type = '税' 或
  2. type = 'fees' 和 name = 'Lieu Tax'

我需要在报告中而不是在存储过程中这样做的原因是因为 我们将创建多个报告指向同一个存储过程,具体取决于 每个客户希望如何布置显示和业务规则。

要求说明 我希望有一种方法可以在报告中而不是在过程中做到这一点。该计划是让许多自定义报告指向具有不同要求的相同过程。这个想法是让报表生成器(不懂 SQL)来创建报表,而不是我们程序员总是必须参与其中。

【问题讨论】:

    标签: reporting-services


    【解决方案1】:

    每个可能的条件组合要么是通过,要么是失败。您使用 SWITCH 来评估每个可能的条件,并返回 1 或 0。然后在过滤条件中使用“=”和“=1”。

    =SWITCH (TYPE = "税", 1, TYPE = "FEES" AND NAME = "Lieu Tax"), 1, 1=1, 0 )

    您可以通过这种方式在单个表达式中处理整个过滤。像魅力一样工作。

    【讨论】:

      【解决方案2】:

      您应该修改您的存储过程以接受类型和名称等参数,然后从您的报告中您应该根据用户要求使用正确的值调用此存储过程。 Reporting Services 报告确实具有称为报告参数的功能。因此,您应该将您的报告转换为接受来自用户的类型和名称参数并将其传递给存储过程。要为多个用户创建多个报告,您只需从这个具有不同参数值的模板报告创建多个链接报告。

      【讨论】:

      • 我希望有一种方法可以在报告中而不是在过程中做到这一点。该计划是让许多自定义报告指向具有不同要求的相同过程。这个想法是让报表生成器(不懂 SQL)来创建报表,而不是我们程序员总是必须参与其中。
      • 您是否查看过报告服务中的链接报告功能?如果您有一个能够接受参数值的模板报告,您的最终用户可以从这个具有不同参数值的模板报告中创建尽可能多的链接报告。这甚至比构建器要容易得多
      【解决方案3】:

      将proc改成

      SELECT 
      
      xxx
      
      FROM
      
      xxx
      
      WHERE (a.id = @aID OR @aID IS NULL)
      AND   (b.id = @bID OR @bID IS NULL)
      AND   (c.id = @.....
      

      只需从报告中传入一个值或 NULL

      【讨论】:

        【解决方案4】:

        是的,有。 打开包含数据的表或矩阵的表属性。 那里有一个“过滤器”选项卡,允许您在执行查询后过滤数据。

        【讨论】:

        • 感谢您的帮助,但我知道您可以进行过滤,但是您如何进行我上面提到的过滤:type = 'taxes' 或 (type = 'fees' and name = 'Lieu Tax' )
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多