Функции DStDev, DStDevP

Применяется к
Access для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Функции DStDev и DStDevP можно использовать для оценки стандартного отклонения в наборе значений в указанном наборе записей (домене). Используйте функции DStDev и DStDevP в модуле Visual Basic для приложений (VBA), макросе, выражении запроса или вычисляемом элементе управления в форме или отчете.

Функция StDevP оценивает генеральную совокупность, а StDev — выборку из генеральной совокупности.

Например, можно воспользоваться функцией DStDev для расчета стандартного отклонения в наборе оценок по тестам.

Синтаксис

DStDev(expr, domain [, criteria] )

DStDevP(expr, domain [, criteria] )

Функции DStDev и DStDevP принимают следующие аргументы:

Аргумент Описание
выражение Обязательный аргумент. Выражение, определяющее числовое поле, для которого требуется найти стандартное отклонение. Это может быть строковое выражение, идентифицирующее поле из таблицы или запроса, или выражение, выполняющее вычисление данных в этом поле. В expr можно включить имя поля в таблицу, элемент управления в форме, константу или функцию. Если expr включает функцию, она может быть встроенной или определяемой пользователем, но не может быть другой агрегатной или агрегатной функцией SQL.
подмножество Обязательный аргумент. Строковое выражение, определяющее набор записей, которые образуют подмножество. Это может быть имя таблицы или имя запроса, для которого не требуются параметры.
условия — необязательный аргумент. Строковое выражение, используемое для ограничения диапазона данных, на котором выполняется функция DStDev или DStDevP . Например, критерии часто эквивалентны предложению WHERE в выражении SQL без слова WHERE. Если условие опущено, функции DStDev и DStDevP оценивают expr для всего домена. Любое поле, включенное в условия, также должно быть полем в домене; В противном случае функции DStDev и DStDevP возвращают значение NULL.

Замечания

Если домен ссылается на менее двух записей или если меньше двух записей удовлетворяет критериям, функции DStDev и DStDevP возвращают значение NULL, указывающее, что стандартное отклонение невозможно вычислить.

Независимо от того, используете ли вы функцию DStDev или DStDevP в макросе, модуле, выражении запроса или вычисляемом элементе управления, необходимо тщательно создать аргумент условия , чтобы убедиться, что он будет правильно оценен.

Функцию DStDev или DStDevP можно использовать для задания условий в строке "Условия" запроса на выборку. Например, можно создать запрос для таблиц Orders ("Заказы") и Products ("Товары"), чтобы вывести все товары, для которых цена доставки поднялась выше суммы средней цены и стандартного отклонения. Строка условий, находящаяся ниже поля Freight ("Доставка"), будет содержать следующее выражение:

>(DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders"))

Функции DStDev и DStDevP можно использовать в выражении вычисляемого поля запроса или в строке Обновить до запроса на обновление.

Примечание

Вы можете использовать функции DStDev и DStDevP или функции StDev и StDevP в выражении вычисляемого поля запроса итогов. При использовании функции DStDev или DStDevP значения вычисляются перед группировкой данных. При использовании функции StDev или StDevP данные группируются перед вычислением значений в выражении поля.

Функцию DStDev или DStDevP можно использовать в вычисляемом элементе управления, если требуется указать условия для ограничения диапазона данных, к которым она применяется. Например, чтобы вывести стандартное отклонение для заказов, отправляемых в Калифорнию, задайте для свойства поля Данные следующее выражение:

=DStDev("[Freight]", "Orders", "[ShipRegion] = 'CA'")

Если вы просто хотите найти стандартное отклонение для всех записей в домене, используйте функцию StDev или StDevP .

Совет Если тип данных поля, из которого наследуется expr, является числом, функции DStDev и DStDevP возвращают тип данных Double. Если функция DStDev или DStDevP используется в вычисляемом элементе управления, для повышения производительности включите в выражение функцию преобразования типа данных.

Примечание

Несохраненные изменения записей в подмножестве не учитываются при использовании этих функций. Если вы хотите, чтобы функция DStDev или DStDevP учитывала измененные значения, необходимо сначала сохранить изменения, нажав кнопку Сохранить запись в разделе Записи на вкладке Данные, переместив фокус на другую запись или используя метод Update.

Примеры запросов

Выражение Результаты
SELECT DStDev("unitprice", "productSales", "unitprice>140") AS Expr1, DStDevP("unitprice","productSales","unitprice<140") AS Expr2 FROM productSales GROUP BY DStDev("unitprice", "productSales", "unitprice>140"), DStDevP("unitprice","productSales","unitprice<140"); Вычисляет Standard отклонение "UnitPrice" (учитывая данные te в качестве примера) из таблицы "ProductSales", где значение "unitprice" больше 140, и отображает результат в expr1. Также вычисляет Standard отклонение "UnitPrice" (с учетом заданных данных как всей совокупности), где "unitprice" меньше 140, и отображает результаты в Expr2.
SELECT DStDev("unitprice", "productSales", "unitprice>140") AS DstDev, DStDevP("unitprice","productSales","unitprice<140") AS DstDevP FROM productSales GROUP BY DStDev("unitprice","productSales","unitprice>140"), DStDevP("unitprice","productSales","unitprice<140"); Вычисляет Standard отклонение "UnitPrice" (учитывая данные te в качестве примера) из таблицы "ProductSales", где значение "unitprice" больше 140, и отображает результат в DstDev. Также вычисляет Standard отклонение "UnitPrice" (с учетом заданных данных как всей совокупности), где значение "unitprice" меньше 140, и отображает результаты в DstDevP.

Пример VBA

Примечание

В примерах ниже показано, как использовать эту функцию в модуле Visual Basic для приложений (VBA). Чтобы получить дополнительные сведения о работе с VBA, выберите Справочник разработчика в раскрывающемся списке рядом с полем Поиск и введите одно или несколько слов в поле поиска.

В следующем примере возвращаются оценки стандартного отклонения для генеральной совокупности и выборки для заказов, отправленных в Великобританию. Подмножеством является таблица "Заказы" (Orders). Аргумент criteria ограничивает результирующий набор записей теми, для которых значение ShipCountryRegion — UK.

Dim dblX As Double
Dim dblY As Double
' Sample estimate.
dblX = DStDev("[Freight]", "Orders", _
    "[ShipCountryRegion] = 'UK'")
' Population estimate.
dblY = DStDevP("[Freight]", "Orders", _
    "[ShipCountryRegion] = 'UK'")

В следующем примере вычисляется та же оценка с помощью переменной strCountryRegion, в аргументе criteria . Обратите внимание, что в строковое выражение включаются одинарные кавычки ('), поэтому при объединии строковый литерал UK будет заключен в одинарные кавычки.

Dim strCountryRegion As String
Dim dblX As Double
Dim dblY As Double
strCountryRegion = "UK"
dblX = DStDev("[Freight]", "Orders", _
    "[ShipCountryRegion] = '" & strCountryRegion & "'")
dblY = DStDevP("[Freight]", "Orders", _
    "[ShipCountryRegion] = '" & strCountryRegion & "'")