Get record count or row count of rows in reporting service table object?
Use this expression where ever you like
=RowNumber("table1")
if you add above expression into a new column in table 1 you'll see the exact number of the your filtered rows , and you can use the Last one as the count
Reporting Services tips Public Function IIf( _ ByVal Expression As Boolean, _ ByVal TruePart As Object, _ ByVal FalsePart As Object _ ) As Object
Using this expression, the "High" string is returned when the value of the YearlyIncome field is equal to or above 600, while the string "Low" is returned when the value is below 600. Now have a look at the following example. It has been nicely structured with indentation and line breaks to make reading easier.
=IIF ( Sum(Fields!LineTotal.Value) >= 100, "Violet", IIF() ( Sum(Fields!LineTotal.Value) < 25, "Transparent", "Cornsilk" ) )
As you see, it shows a nested IIF inside another one. Imagine that there were several more nestings and that line breaks were not used by the coder. Would be a nightmare to read, right? Thats why the Switch() was invented. The description for the Switch function reads: Evaluates a list of expressions and returns an Object value corresponding to the first expression in the list that is True. And this is the function definition:
Public Function Switch( _ ByVal ParamArray VarExpr() As Object _ ) As Object
In Reporting Services, the VarExpr parameter is simply an even list of expressions and/or object references separated by commas. Which comes down to something like this: Switch(<expr1>, val1, <expr2>, val2). Heres a simple example:
=Switch ( Fields!State.Value = "OR", "Oregon", Fields!State.Value = "WA", "Washington" )
This expression says that if the value for the State field is "OR" then the Switch function will return "Oregon", and so on Now, to get to the point of this article, the Switch function does not contain an ELSE part like the IIF does. But I wouldnt be writing this if there wasnt a workaround, would I? If you read the Switchs description closely, it says that it will return the first expression in the list that is true. So each expression is evaluated in the order that they are passed to the function. To get ELSE-like behavior we would need an expression that evaluates to True but only when all other expressions are False. So, why not use True as expression? Its the simplest expression that I can think of and it does the works! Have a look at the following, its a rewrite of the last IIF example mentioned earlier.
=Switch ( Sum(Fields!LineTotal.Value) >= 100, "Violet", Sum(Fields!LineTotal.Value) < 25, "Transparent", True, "Cornsilk" )
So, which one do you think is the most readable? The IIF, or the Switch? These are only simple examples that Ive been using, imagine situations with ten or more possibilities. Well, I think youve got my point by now. Quick tip for users of Report Builder 2.0: to be able to format your expression with line breaks and tabs, you need to use CTRL + ENTER or CTRL + TAB in the Expression Builder. Just hitting ENTER will close the popup window. Its quite annoying if youre used to the BIDS interface, but it works