Функции 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 & "'")