InterSystems MDX Reference
VARP


Returns the population variance of a given expression, across all elements of a set.
This function returns a
number.
VARP(set_expression, optional_numeric_expression)


If you do not specify a numeric expression, the system uses the measure used by the current result cell. For example, this might be the measure used on the 0 axis or the measure specified in the WHERE clause, if any. If the query itself does not specify a measure, the system instead uses
%COUNT, which counts records in the fact table.
The function evaluates the numeric value for each element of the set and returns the population variance of those values.
First, the following query shows two measure values for the members of the
aged.decade level:
SELECT {MEASURES.[%COUNT],MEASURES.[encounter count]} ON 0,
birthd.decade.MEMBERS ON 1 FROM patients
Patient Count Encounter Count
1 1910s 80 5,359
2 1920s 227 12,910
3 1930s 567 33,211
4 1940s 724 38,420
5 1950s 1,079 46,883
6 1960s 1,475 57,814
7 1970s 1,549 49,794
8 1980s 1,333 35,919
9 1990s 1,426 29,219
10 2000s 1,406 20,072
11 2010s 134 1,346
Next, the following query shows the population variances for these measures for the members of this level:
SELECT {MEASURES.[%COUNT],MEASURES.[encounter count]} ON 0,
VARP(birthd.decade.MEMBERS) ON 1 FROM patients
Patient Count Encounter Count
VARP 305,191.72 307,826,410.63
Here, each value is the population variance of the values in a column in the preceding query. For example, the
Patient Count value is the population variance of the
Patient Count values in the preceding query.
For another example, we use the second argument for VARP:
SELECT VARP(birthd.decade.MEMBERS, MEASURES.[%COUNT]) ON 0 FROM patients
VARP
305,191.72
For additional, similar examples, see
AVG.