Skip to main content

This is documentation for Caché & Ensemble.

For information on converting to InterSystems IRIS, see the InterSystems IRIS Adoption Guide and the InterSystems IRIS In-Place Conversion Guide, both available on the WRC Distributions page (login required).

Previous sectionNext section


Returns the population variance of a given expression, across all elements of a set.

Returned Type

This function returns a number.

Syntax and Details

VARP(set_expression, optional_numeric_expression)


  • set_expression is an expression that evaluates to a set, typically a set of members or tuples.

  • optional_numeric_expression is a numeric-valued expression that the function evaluates for each set element.

    Typically, this expression has the form [MEASURES].[measure_name]

    If you do not specify a numeric expression, DeepSee 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, DeepSee 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
Copy code to clipboard

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
Copy code to clipboard

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
Copy code to clipboard

For additional, similar examples, see AVG.

See Also