Перейти к содержимому
Последнее обновление

SEM

Описание​

Вычисляет стандартную ошибку среднего для всех значений, отличных от NULL, в указанном столбце или выражении.

Обозначим значение выборки через xix_i, объём выборки через nn, а выборочное среднее через xˉ\bar{x}:

SEM=1n(n−1)∑i=1n(xi−xˉ)2.\mathrm{SEM}=\sqrt{\frac{1}{n(n-1)}\sum_{i=1}^{n}\bigl(x_i-\bar{x}\bigr)^2}.

Синтаксис​

SEM([DISTINCT] <expr>)

Параметры​

ПараметрОписание
<expr>Выражение или столбец, обычно числовой столбец или выражение, которое можно преобразовать в числовое значение. Поддерживается тип данных Double.
[DISTINCT]Необязательное ключевое слово, указывающее, что стандартную ошибку среднего следует вычислять после удаления повторяющихся значений в expr.

Возвращаемое значение​

Возвращает значение типа Double, представляющее собой стандартную ошибку среднего для выбранного столбца или выражения. Если все записи в группе имеют значение NULL, функция возвращает NULL.

Примеры​

-- setup
create table t1(
id int,
k_double double,
) distributed by hash (id) buckets 1
properties ("replication_num"="1");
insert into t1 values
(1, 222.222),
(2, 3.3),
(3, 3.3),
(4, null);
select sem(k_double) from t1;

Вычисление стандартной ошибки среднего для типа Double: стандартная ошибка среднего для [222.222, 3.3, 3.3, null] равна 72.974

+---------------+
| sem(k_double) |
+---------------+
| 72.974 |
+---------------+
select sem(id) from t1

Вычисление стандартной ошибки среднего для типа int: стандартная ошибка среднего для [1, 2, 3, 4] равна 0.645497.

+--------------------+
| sem(id) |
+--------------------+
| 0.6454972243679028 |
+--------------------+
select sem(cast(null as double)) from t1;

Если все значения равны null, возвращается null.

+---------------------------+
| sem(cast(null as double)) |
+---------------------------+
| NULL |
+---------------------------+
select sem(distinct k_double) from t1;

При использовании ключевого слова DISTINCT для вычислений с удалением дубликатов стандартная ошибка среднего после удаления повторяющихся значений из [222.222, 3.3, 3.3, null] равна 109.461.

+------------------------+
| sem(distinct k_double) |
+------------------------+
| 109.461 |
+------------------------+