# VARIANCE macro

The `VARIANCE` macro is available only in Unica Campaign.

## Syntax

`VARIANCE(data [, keyword])`

## Parameters

`data`

The numerical values to compute the variance of. This can be a constant value, a column, a cell range, or an expression evaluating to any of the above. For the format definition of `data`, see the "Macro Function Parameters" section in the chapter in this guide for your product.

`keyword`

This optional keyword determines how the computation is performed over the input data range. Select one of the following:

`ALL` - Performs the computation on all cells in `data` (default)

`COL` - Performs the computation separately for each column of `data`

`ROW` - Performs the computation separately for each row of `data`

For more details on using keywords in Unica Campaign, see Format Specifications.

Note: Many macro functions take the keyword parameters `{ALL | COL | ROW}`. These keywords do not apply in Unica Campaign because the input data is always a single column or field. The macro will always behave as if the `COL` keyword were specified. Therefore, you do not need to specify these keywords when using Unica Campaign .

## Description

`VARIANCE` calculates the variance of all the values in the specified data range. Variance is the standard deviation squared. The variance is calculated as follows:

where the x's are the samples, n is the number of samples, and mean is the average of the distribution.

Note: If the number of samples n = 1, `VARIANCE` returns an error.

## Examples

 `TEMP = VARIANCE(V1)` Creates a new column named `TEMP` containing a single value which is the variance of the contents of column `V1`. `TEMP = VARIANCE(V1:V3)` Creates a new column named `TEMP` containing a single value which is the variance of the contents of columns `V1`, `V2`, and `V3`. `TEMP = VARIANCE(V1[10:20])` Creates a new column named `TEMP` containing a single value which is the variance of the cells in rows 10-20 of column `V1`. `TEMP = VARIANCE(V1[1:5]:V4)` Creates a new column named `TEMP` containing a single value which is the variance of the cells in rows 1-5 of columns `V1` through `V4`. `TEMP = VARIANCE(V1:V3, COL)` Creates three new columns named `TEMP`, `VX`, and `VY`. The single value in the `TEMP` column is the variance of the contents of column `V1`, the single value in the `VX` column is the variance of the contents of column `V2`, and the single value in the `VY` column is the variance of the contents of column `V3`. `TEMP = VARIANCE_(V1[1:5]:V3, COL)` or ```TEMP = VARIANCE(V1[1:5]:V3[1:5], COL)``` Creates three new columns named `TEMP`, `VX`, and `VY`, each containing a single value. The value in column `TEMP` is the variance of the cells in rows 1-5 of column `V1`, the value in column `VX` is the variance of the cells in rows 1-5 of column `V2,` and the value in column `VY` is the variance of the cells in rows 1-5 of column `V3`. `TEMP = VARIANCE(V1:V3, ROW)` Creates a new column named `TEMP` where each cell entry is the variance of the corresponding row across columns `V1`, `V2`, and `V3`. `TEMP = VARIANCE(V1[1:5]:V3,ROW)` or ```TEMP = VARIANCE(V1[1:5]:V3[1:5], ROW)``` Creates a new column named `TEMP`, where the cells in rows 1-5 contain the variance of the corresponding row across columns `V1` through `V3`. The other cells in `TEMP` are empty.