In SQL Reporting Services, how to filter a dataset according to a parameter?

只愿长相守 提交于 2019-12-07 01:04:40

问题


I've got an unfiltered dataset to deal with so as to generate a report (SQL Server 2005 btw).

Let's say I've got a Name column, and I'd want to add a parameter to my report, so as to select only the names containing some characters.

Does one know how to deal with these filters?

I've tried with no luck these:

=Fields!Name.Value Like =Parameters!FilterName.Value

=Fields!Name.Value = = "%" + Parameters!FilterName.Value + "%"

I'd like to be able to get the names 'foo' and 'foobar', if I give the parameter 'oo'

Edit: I know the filtering should be done on the SQL server side, but I don't control the dataset I'm given (a webservice gives it with a no-parameters method), so I have to filter on the report side.


回答1:


I answer to my own question, the filter expression is in fact:

=Fields!Name.Value Like ="*"+ Parameters!FilterName.Value + "*"

i.e. use "*" instead of "%", in fact.




回答2:


The preferred practice is to go with an exact match.

You can build a multi value parameter list from the data set returned from you query or an alternative query, thereby ensuring an exact match can be achieved.

The following reference may prove useful.

http://msdn.microsoft.com/en-us/library/ms155917.aspx




回答3:


I would suggest you apply the filter as part of the SQL statement that is executed to bring back the DataSet instead of trying to apply filters in the Reporting Services report. I think the SQL Engine is much more optimized to handle these types of filters/queries.




回答4:


Your answer got me on the right track :) ! Maybe it is different for SQL Server 2005; But the following solution worked for me:

=Fields!AppName.Value    Like    ="*" & Parameters!FilterApplication.Value & "*"



回答5:


Go to the properties for the data set, go to the filter tab. in the expression dropdown list click the field you want to filter by (Name). click the operator and select like. in the value box click the expression selection. a new window will open. go down to your parameters list and add the parameter to the equation. click ok.



来源:https://stackoverflow.com/questions/869261/in-sql-reporting-services-how-to-filter-a-dataset-according-to-a-parameter

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!