Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reporting services Reporting Services 2005过滤器_Reporting Services - Fatal编程技术网

Reporting services Reporting Services 2005过滤器

Reporting services Reporting Services 2005过滤器,reporting-services,Reporting Services,在SSRS 2005中,有没有办法进行“和”“或”过滤 我有一个指向数据集(存储过程)的表,它如下所示: name type amount License Plate Credit fees ($150.00) Lieu Tax fees $1,012.12 Finance Tax C

在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 
用户希望看到具有以下内容的所有行:

  • 类型=‘税’或
  • 类型=‘费用’和名称=‘代用税’
  • 我需要在报表中而不是在存储过程中执行此操作的原因是 我们将创建指向同一存储过程的多个报告,具体取决于 每个客户希望如何布置显示和业务规则

    需求澄清
    我希望有一种方法可以在报告中而不是在程序中实现。计划是让许多定制报告指向具有不同需求的相同过程。其想法是让报表生成器(不懂SQL)创建报表,而不是让我们程序员总是参与其中。

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

    将过程更改为

    SELECT 
    
    xxx
    
    FROM
    
    xxx
    
    WHERE (a.id = @aID OR @aID IS NULL)
    AND   (b.id = @bID OR @bID IS NULL)
    AND   (c.id = @.....
    
    只需从报告中传入一个值或NULL即可

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

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

    =开关(TYPE=“TAXES”,1, TYPE=“FEES”和NAME=“liue Tax”),1, 1=1, 0 )


    您可以通过这种方式在单个表达式中处理整个筛选。工作起来很有魅力。

    我希望在报告中能找到一种方法,而不是在程序中。计划是让许多定制报告指向具有不同需求的相同过程。这个想法是为了让报表构建者(不懂SQL)创建报表,而不是让我们的程序员总是参与其中。您是否研究了Reporting services中的链接报表功能?如果您有一个可以接受参数值的模板报表,则最终用户可以从这个具有不同参数值的模板报表创建尽可能多的链接报表。这比builderThanks的帮助要简单得多,但是我知道你可以做过滤器,但是你如何做我上面提到的过滤器:type='taxes'或(type='fees'和name='liuetax'))