Skip to main content

VAR (MDX)

Returns the variance of a given expression (or of the current measure), across all elements of a set.

Returned Type

This function returns a number.

Syntax and Details

VAR(set_expression, optional_numeric_expression)

Or:

VAR(set_expression)

Where:

  • 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, 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 variance of those values.

Example

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 variances for these measures for the members of this level:

SELECT {MEASURES.[%COUNT],MEASURES.[encounter count]} ON 0, 
VAR(birthd.decade.MEMBERS) ON 1 FROM patients
                       Patient Count      Encounter Count
VAR                        335,710.89       338,609,051.69

Here, each value is the variance of the values in a column in the preceding query. For example, the Patient Count value is the variance of the Patient Count values in the preceding query.

For another example, we use the second argument for VAR:

SELECT VAR(birthd.decade.MEMBERS, MEASURES.[%COUNT]) ON 0 FROM patients
                                       VAR
                                 335,710.89

For additional, similar examples, see AVG.

See Also

FeedbackOpens in a new tab