Working with Reporting Services Filters–Part 5: OR Logic
Posted
by smisner
on SQL Blog
See other posts from SQL Blog
or by smisner
Published on Fri, 04 Feb 2011 17:26:43 GMT
Indexed on
2011/02/04
23:31 UTC
Read the original article
Hit count: 285
ssrs
When you combine multiple filters, Reporting Services uses AND logic. Once upon a time, there was actually a drop-down list for selecting AND or OR between filters which was very confusing to people because often it was grayed out. Now that selection is gone, but no matter. It wouldn’t help us solve the problem that I want to describe today.
As with many problems, Reporting Services gives us more than one way to apply OR logic in a filter. If I want a filter to include this value OR that value for the same field, one approach is to set up the filter is to use the IN operator as I explained in Part 1 of this series. But what if I want to base the filter on two different fields? I need a different solution.
Using the AdventureWorksDW2008R2 database, I have a report that lists product sales:
Let’s say that I want to filter this report to show only products that are Bikes (a category) OR products for which sales were greater than $1,000 in a year.
If I set up the filter like this:
Expression | Data Type | Operator | Value |
[Category] | Text | = | Bikes |
[SalesAmount] | > | 1000 |
Then AND logic is used which means that both conditions must be true. That’s not the result I want.
Instead, I need to set up the filter like this:
Expression | Data Type | Operator | Value |
=Fields!EnglishProductCategoryName.Value = "Bikes" OR Fields!SalesAmount.Value > 1000 | Boolean | = | =True |
The OR logic needs to be part of the expression so that it can return a Boolean value that we test against the Value. Notice that I have used =True rather than True for the value. The filtered report appears below. Any non-bike product appears only if the total sales exceed $1,000, whereas Bikes appear regardless of sales. (You can’t see it in this screenshot, but Mountain-400-W Silver, 38 has sales of $923 in 2007 but gets included because it is in the Bikes category.)
© SQL Blog or respective owner