Report Functions
Microsoft Reporting Services provides specific built-in aggregate functions.
You can use these in expressions as an alternative to using the SunSystems Reporting Services Summary Fields dialog to define an aggregate. These include:
- Standard aggregate functions like Sum, Min, Max, and Count
- Running aggregate functions like RowNumber and RunningValue
Standard Aggregate Functions
These are the standard Microsoft Reporting Services aggregate functions:| Microsoft Reporting Services Function | Description |
|---|---|
| Avg | Returns the average of all non-null values from the specified expression. |
| Count | Returns a count of the values from the specified expression. |
| CountDistinct | Returns a count of all distinct values from the specified expression. |
| CountRows | Returns a count of rows within the specified scope. |
| First | Returns the first value from the specified expression. |
| Last | Returns the last value from the specified expression. |
| Max | Returns the maximum value from all non-null values of the specified expression. |
| Min | Returns the minimum value from all non-null values of the specified expression. |
| StDev | Returns the standard deviation of all non-null values of the specified expression. |
| StDevP | Returns the population standard deviation of all non-null values of the specified expression. |
| Sum | Returns a sum of the values of the specified expression. |
| Var | Returns the variance of all non-null values of the specified expression. |
| VarP | Returns the population variance of all non-null values of the specified expression. |
Running Aggregate Functions
You can use any of these running aggregate functions in expressions:
- RowNumber
- RunningValue
- Previous
- InScope
- Level
For running aggregate functions like RowNumber and RunningValue, use this syntax:
=AggregateFunction(Fields!fieldname.Value[, Scope])The scope parameter is optional and if you do not include this, the current scope is used.
Example 1:
=Avg(Fields!LedgerLine_baseAmount_amount.Value,"LedgerLine_accountCode")
Example 2:
=Avg(Fields!LedgerLine_baseAmount_amount.Value)
| Running Aggregate Function | Description |
|---|---|
| RowNumber(Scope) | This returns the current row number of the specified scope. |
| RunningValue(Expression, Function, Scope) | This returns a running aggregate of the expression determined by the function and scope specified. |
| Previous(Field Expression) | The running value is reset for each new instance of the data region specified by the scope parameter. |
| InScope(Scope) | This returns a Boolean. |
| Level(Scope) | This returns the value of the group level of a recursive hierarchy. You can omit the scope. |