Avg Function (Report Builder and SSRS)
Returns the average of all non-null numeric values specified by the expression, evaluated in the given scope.
Note
You can create and modify report definitions (.rdl) in Report Builder and in Report Designer in SQL Server Data Tools. Each authoring environment provides different ways to create, open, and save reports and related items. For more information, see Designing Reports in Report Designer and Report Builder (SSRS) on the Web at microsoft.com.
Syntax
Avg(expression, scope, recursive)
Parameters
expression
(Float
) The expression on which to perform the aggregation.
scope
(String
) Optional. The name of a dataset, group, or data region that contains the report items to which to apply the aggregate function. If scope is not specified, the current scope is used.
recursive
(Enumerated Type) Optional. Simple
(default) or RdlRecursive
. Specifies whether to perform the aggregation recursively.
Return Type
Returns a Decimal
for decimal expressions and a Double
for all other expressions.
Remarks
The set of data specified in the expression must have the same data type. To convert data that has multiple numeric data types to the same data type, use conversion functions like CInt
, CDbl
or CDec
. For more information, see Type Conversion Functions.
The value of scope must be a string constant and cannot be an expression. For outer aggregates or aggregates that do not specify other aggregates, scope must refer to the current scope or a containing scope. For aggregates of aggregates, nested aggregates can specify a child scope.
Expression can contain calls to nested aggregate functions with the following exceptions and conditions:
Scope for nested aggregates must be the same as, or contained by, the scope of the outer aggregate. For all distinct scopes in the expression, one scope must be in a child relationship to all other scopes.
Scope for nested aggregates cannot be the name of a dataset.
Expression must not contain
First
,Last
,Previous
, orRunningValue
functions.Expression must not contain nested aggregates that specify recursive.
For more information, see Aggregate Functions Reference (Report Builder and SSRS) and Expression Scope for Totals, Aggregates, and Built-in Collections (Report Builder and SSRS).
For more information about recursive aggregates, see Creating Recursive Hierarchy Groups (Report Builder and SSRS).
Example
The following two code examples provide an average of all values in the Cost
field contained in a dataset named Inventory
.
=Avg(Fields!Cost.Value, "Inventory")
OR
=Avg (CDbl(Fields!Cost.Value), "Inventory")
See Also
Expression Uses in Reports (Report Builder and SSRS)
Expression Examples (Report Builder and SSRS)
Data Types in Expressions (Report Builder and SSRS)
Expression Scope for Totals, Aggregates, and Built-in Collections (Report Builder and SSRS)