# Median - chart function

Median() returns the median value of the range of values aggregated in the expression iterated over the chart dimensions.

Syntax:

Median([{SetExpression}] [DISTINCT] [TOTAL [<fld{, fld}>]] expr)

Return data type: numeric

Arguments:

Argument Description
expr The expression or field containing the data to be measured.
SetExpression By default, the aggregation function will aggregate over the set of possible records defined by the selection. An alternative set of records can be defined by a set analysis expression.
DISTINCT If the word DISTINCT occurs before the function arguments, duplicates resulting from the evaluation of the function arguments are disregarded.
TOTAL

If the word TOTAL occurs before the function arguments, the calculation is made over all possible values given the current selections, and not just those that pertain to the current dimensional value, that is, it disregards the chart dimensions.

By using TOTAL [<fld {.fld}>], where the TOTAL qualifier is followed by a list of one or more field names as a subset of the chart dimension variables, you create a subset of the total possible values.

Limitations:

The expression must not contain aggregation functions, unless these inner aggregations contain the TOTAL qualifier. For more advanced nested aggregations, use the advanced aggregation function Aggr, in combination with calculated dimensions.

Examples and results:

Add the example script to your app and run it. Then build a straight table with Type as dimension and Median(Value) as measure.

Totals should be enabled in the properties of the table.

Example Result

Table1:

crosstable LOAD recno() as ID, * inline [

Observation|Comparison

35|2

40|27

12|38

15|31

21|1

14|19

46|1

10|34

28|3

48|1

16|2

30|3

32|2

48|1

31|2

22|1

12|3

39|29

19|37

25|2 ] (delimiter is '|');

The median values for:

• Totals is 19
• Comparison is 2.5
• Observation is 26.5