VarP

Description

Calculates the variance for the specified column. The variance is the square of the standard deviation.

Syntax

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

Argument

Description

column

The column for which you want the variance 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 that will be included in the variance. For most presentation styles, values for range are:

  • ALL – (Default) The variance for all rows in column.

  • GROUP n – The variance for rows in column in the specified group. Specify the keyword GROUP followed by the group number: for example, GROUP 1.

  • PAGE – The variance for the rows in column on a page.

For Crosstabs, specify CROSSTAB for range:

  • CROSSTAB – (Crosstabs only) The variance for all rows in column in the crosstab.

For Graph and OLE objects, specify one of the following:

  • GRAPH – (Graphs only) The variance for rows in column in the range specified for the Rows option.

  • OBJECT – (OLE objects only) The variance for rows in column in the range specified for the Rows option.

DISTINCT (optional)

Causes VarP to consider only the distinct values in column when determining the variance. 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.

Returns

Double or decimal if the arguments are decimal. Returns the variance for column. If you specify group, Var returns the variance for column within range.

Usage

If you specify range, VarP returns the variance for column within range. If you specify DISTINCT, VarP returns the variance for the distinct values in column, or if you specify expresn, the variance 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 property page (the Range property), and the aggregation function uses that range. Settings for Rows include the following:

NoteEstimating variance or calculating actual variance VarP assumes that the values in column are the values in all rows in the column in the database table. If you did not select all the rows in the column in the SELECT statement, use Var to compute an estimate of the variance of a sample.

NoteNot 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 DataWindow object always retrieves all rows.

Examples

Example 1

These examples all assume that the SELECT statement retrieved all rows in the database table. VarP is intended to work with a full set of data, not a subset.

This expression returns the variance of the values in the column named salary:

VarP(salary)

Example 2

This expression returns the variance of the values in group 1 in the column named salary:

VarP(salary for group 1)

Example 3

This expression returns the variance of the values in column 4 on the page:

VarP(#4 for page)

Example 4

This expression entered in the Value box on the Data property page in the graph’s property sheet returns the variance of the values in the quantity column in the graph:

VarP(quantity for graph)

Example 5

This expression for a computed field in a crosstab returns the variance of the values in the quantity column in the crosstab:

VarP(quantity for crosstab)

Example 6

Assuming a DataWindow object displays the order number, amount, and line items for each order, this computed field returns the variance of the order amount for the distinct order numbers:

VarP(order_amt for all DISTINCT order_nbr)

See also