VARSAMP Function
Computes the variance among all values in a column using the sample statistical method. Input column can be of Integer or Decimal. If no numeric values are detected in the input column, the function returns 0
.
The variance of a set of values attempts to measure the spread in values around the mean. A variance of zero means that all values are the same, and a small variance means that the values are closely bunched together. A high value for variance indicates that the numbers are spread out widely. Variance is always a positive value.
If a row contains a missing or null value, it is not factored into the calculation.
Note
This function applies to a sample of the entire population. More information is below.
Terms...
Relevant terms:
Term | Description |
---|---|
Population | Population statistical functions are computed from all possible values. See https://en.wikipedia.org/wiki/Statistical_population. |
Sample | Sample-based statistical functions are computed from a subset or sample of all values. See https://en.wikipedia.org/wiki/Sampling_(statistics). These function names include Note Statistical sampling has no relationship to the samples taken within the product. When statistical functions are computed during job execution, they are applied across the entire dataset. Sample method calculations are computed at that time. |
This function is calculated across a sample of all values.
For more information on a population version of this function, see VAR Function.
In the following computation, the sample method computes variances with N - 1 as the divisor.
Var(X) = [Sum ((X - mean(X))2)] / (Count(X) - 1)
The square root of variance is standard deviation, which is used to measure variance under the assumption of a bell curve distribution. See STDEV Function.
For a version of this function computed over a rolling window of rows, see ROLLINGVAR Function.
Wrangle vs. SQL: This function is part of Wrangle, a proprietary data transformation language. Wrangle is not SQL. For more information, see Wrangle Language.
Basic Usage
varsamp(myRating)
Output: Returns the variance of the group of values from the myRating
column using the sample method of calculation.
Syntax and Arguments
<span>varsamp</span>(col_ref) [group:group_col_ref] [limit:limit_count]
Argument | Required? | Data Type | Description |
---|---|---|---|
function_col_ref | Y | string | Name of column to which to apply the function |
For more information on the group
and limit
parameters, see Pivot Transform.
For more information on syntax standards, see Language Documentation Syntax Notes.
col_ref
Name of the column whose values you wish to use in the calculation. Column must be a numeric (Integer or Decimal) type.
Literal values are not supported as inputs.
Multiple columns and wildcards are not supported.
Usage Notes:
Required? | Data Type | Example Value |
---|---|---|
Yes | String (column reference) | myValues |
Examples
Astuce
For additional examples, see Common Tasks.
This example shows some of the statistical functions that use the sample method of computation.
Functions:
Item | Description |
---|---|
STDEVSAMP Function | Computes the standard deviation across column values of Integer or Decimal type using the sample statistical method. |
VARSAMP Function | Computes the variance among all values in a column using the sample statistical method. Input column can be of Integer or Decimal. If no numeric values are detected in the input column, the function returns |
STDEVSAMPIF Function | Generates the standard deviation of values by group in a column that meet a specific condition using the sample statistical method. |
VARSAMPIF Function | Generates the variance of values by group in a column that meet a specific condition using the sample statistical method. |
ROUND Function | Rounds input value to the nearest integer. Input can be an Integer, a Decimal, a column reference, or an expression. Optional second argument can be used to specify the number of digits to which to round. |
Source:
Students took tests on three consecutive Saturdays:
Student | Date | Score |
---|---|---|
Andrew | 11/9/19 | 81 |
Bella | 11/9/19 | 84 |
Christina | 11/9/19 | 79 |
David | 11/9/19 | 64 |
Ellen | 11/9/19 | 61 |
Fred | 11/9/19 | 63 |
Andrew | 11/16/19 | 73 |
Bella | 11/16/19 | 88 |
Christina | 11/16/19 | 78 |
David | 11/16/19 | 67 |
Ellen | 11/16/19 | 87 |
Fred | 11/16/19 | 90 |
Andrew | 11/23/19 | 76 |
Bella | 11/23/19 | 93 |
Christina | 11/23/19 | 81 |
David | 11/23/19 | 97 |
Ellen | 11/23/19 | 97 |
Fred | 11/23/19 | 91 |
Transformation:
You can use the following transformations to calculate standard deviation and variance across all dates using the sample method. Each computation has been rounded to three digits.
Transformation Name | |
---|---|
Parameter: Formula type | Single row formula |
Parameter: Formula | round(stdevsamp(Score), 3) |
Parameter: New column name | 'stdevSamp' |
Transformation Name | |
---|---|
Parameter: Formula type | Single row formula |
Parameter: Formula | round(varsamp(Score), 3) |
Parameter: New column name | 'varSamp' |
You can use the following to limit the previous statistical computations to the last two Saturdays of testing:
Transformation Name | |
---|---|
Parameter: Formula type | Single row formula |
Parameter: Formula | round(stdevsampif(Score, Date != '11\/9\/2019'), 3) |
Parameter: New column name | 'stdevSampIf' |
Transformation Name | |
---|---|
Parameter: Formula type | Single row formula |
Parameter: Formula | round(varsampif(Score, Date != '11\/9\/2019'), 3) |
Parameter: New column name | 'varSampIf' |
Results:
Student | Date | Score | varSampIf | stdevSampIf | varSamp | stdevSamp |
---|---|---|---|---|---|---|
Andrew | 11/9/19 | 81 | 94.515 | 9.722 | 131.673 | 11.475 |
Bella | 11/9/19 | 84 | 94.515 | 9.722 | 131.673 | 11.475 |
Christina | 11/9/19 | 79 | 94.515 | 9.722 | 131.673 | 11.475 |
David | 11/9/19 | 64 | 94.515 | 9.722 | 131.673 | 11.475 |
Ellen | 11/9/19 | 61 | 94.515 | 9.722 | 131.673 | 11.475 |
Fred | 11/9/19 | 63 | 94.515 | 9.722 | 131.673 | 11.475 |
Andrew | 11/16/19 | 73 | 94.515 | 9.722 | 131.673 | 11.475 |
Bella | 11/16/19 | 88 | 94.515 | 9.722 | 131.673 | 11.475 |
Christina | 11/16/19 | 78 | 94.515 | 9.722 | 131.673 | 11.475 |
David | 11/16/19 | 67 | 94.515 | 9.722 | 131.673 | 11.475 |
Ellen | 11/16/19 | 87 | 94.515 | 9.722 | 131.673 | 11.475 |
Fred | 11/16/19 | 90 | 94.515 | 9.722 | 131.673 | 11.475 |
Andrew | 11/23/19 | 76 | 94.515 | 9.722 | 131.673 | 11.475 |
Bella | 11/23/19 | 93 | 94.515 | 9.722 | 131.673 | 11.475 |
Christina | 11/23/19 | 81 | 94.515 | 9.722 | 131.673 | 11.475 |
David | 11/23/19 | 97 | 94.515 | 9.722 | 131.673 | 11.475 |
Ellen | 11/23/19 | 97 | 94.515 | 9.722 | 131.673 | 11.475 |
Fred | 11/23/19 | 91 | 94.515 | 9.722 | 131.673 | 11.475 |