Median

Description

Calculates the median of the values of the column. The median is the middle value in the set of values, for which there is an equal number of values greater and smaller than it.

Syntax

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

Argument

Description

column

The column for which you want the median of the data values. 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 median. For most presentation styles, values for range are:

  • ALL – (Default) The median of all values in column.

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

  • PAGE – The median of the values in column on a page.

For Crosstabs, specify CROSSTAB for range:

  • CROSSTAB – (Crosstabs only) The median of all values in column in the crosstab.

For Graph objects, specify the following:

  • GRAPH – (Graphs only) The median of values in column in the range specified for the Rows.

DISTINCT (optional)

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

The numeric datatype of the column. Returns the median of the values of the rows in range if it succeeds and -1 if an error occurs.

Usage

If you specify range, Median returns the median value of column in range. If you specify DISTINCT, Median returns the median value of the distinct values in column, or if you specify expresn, the median of column for each distinct value of expresn.

For graphs 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:

In calculating the median, null values are ignored.

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

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

Median(salary)

Example 2

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

Median(salary for group 1)

Example 3

This expression returns the median of the values in column 5 on the current page:

Median(#5 for page)

Example 4

This computed field returns Above Median if the median salary for the page is greater than the median for the report:

If(Median(salary for page) > Median(salary), "Above
Median", " ")

Example 5

This expression for a graph value sets the data value to the median value of the sale_price column:

Median(sale_price)

Example 6

This expression for a graph value entered on the Data page in the graph’s property sheet sets the data value to the median value of the sale_price column for the entire graph:

Median(sale_price for graph)

Example 7

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

Median(order_amt for all DISTINCT order_nbr)

See also