## StDev

Description

Calculates an estimate of the standard deviation for the specified column. Standard deviation is a measurement of how widely values vary from average.

Syntax

`StDev ( column { FOR range { DISTINCT { expres1 {, expres2 {, ... } } } } } )`

Argument

Description

column

The column for which you want an estimate for the standard deviation of the values in the rows. Column can be the column name or the column number preceded by a pound sign (#). Column can also be an expression that includes a reference to the column. The datatype of column must be numeric.

FOR range  (optional)

The data to be included in the estimate of the standard deviation. For most presentation styles, values for range are:

• ALL -- (Default) The estimate of the standard deviation for all values in column.

• GROUP n -- The estimate of the standard deviation for values in column in the specified group. Specify the keyword GROUP followed by the group number: for example, GROUP 1.

• PAGE -- The estimate of the standard deviation for the values in column on a page.

For Crosstabs, specify CROSSTAB for range to indicate the standard deviation for all values in column in the crosstab.

For Graph objects specify GRAPH and for OLE objects specify OBJECT to indicate the standard deviation for values in column in the range specified for the Rows option.

DISTINCT (optional)

Causes StDev to consider only the distinct values in column when determining the standard deviation. For a value of column, the first row found with the value is used and other rows that have the same value are ignored.

expresn (optional)

One or more expressions that you want to evaluate to determine distinct rows. Expresn can be the name of a column, a function, or an expression.

Return value

Double. Returns an estimate of the standard deviation for column.

Usage

If you specify range, StDev returns an estimate for the standard deviation of column within range. If you specify DISTINCT, StDev returns an estimate of the standard deviation for the distinct values in column, or if you specify expresn, the estimate of the standard deviation of the rows in column where the value of expresn is distinct.

For graphs and OLE objects, you do not select the range when you call the function. The range has already been determined by the Rows setting on the Data tab page (the Range property), and the aggregation function uses that range. Settings for Rows include the following:

• For the Graph or OLE presentation style, Rows is always All.

• For Graph controls, Rows can be All, Page, or Group.

• For OLE controls, Rows can be All, Current Row, Page, or Group. The available choices depend on the layer the control occupies.

Estimating or calculating actual standard deviation

StDev assumes that the values in column are a sample of the values in the rows in the column in the database table. If you selected all the rows in the column in the report's SELECT statement, use StDevP to compute the standard deviation of the population.

Not in validation rules or filter expressions

You cannot use this or other aggregate functions in validation rules or filter expressions.

Using an aggregate function cancels the effect of setting Retrieve Rows As Needed in the painter. To do the aggregation, a report always retrieves all rows.

Examples

These examples all assume that the SELECT statement did not retrieve all the rows in the database table. StDev is intended to work with a subset of rows, which is a sample of the full set of data.

This expression returns an estimate for standard deviation of the values in the column named salary:

`StDev(salary)`

This expression returns an estimate for standard deviation of the values in the column named salary in group 1:

`StDev(salary for group 1)`

This expression returns an estimate for standard deviation of the values in column 4 on the page:

`StDev(#4 for page)`

This expression entered in the Value box on the Data tab page in the graph's property sheet returns an estimate for standard deviation of the values in the qty_used column in the graph:

`StDev(qty_used for graph)`

This expression for a computed field in a crosstab returns the estimate for standard deviation of the values in the qty_ordered column in the crosstab:

`StDev(qty_ordered for crosstab)`

Assuming a report displays the order number, amount, and line items for each order, this computed field returns the estimated standard deviation of the order amount for the distinct order numbers:

`StDev(order_amt for all DISTINCT order_nbr)`