Функции StDev, StDevP (Microsoft Access SQL)

Область применения: Access 2013 | Access 2016

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

Синтаксис

StDev(expr)

StDevP(expr)

Заполнитель expr представляет строковое выражение, идентифицирующее поле, содержащее числовые данные, которые требуется вычислить, или выражение, которое выполняет вычисление с использованием данных в этом поле. Операнды в expr могут включать имя поля таблицы, константы или функции (которые могут быть встроенными или определяемыми пользователем, но не одной из других агрегатных функций SQL).

Замечания

Функция StDevP оценивает популяцию, а функция StDev — выборку.

Если базовый запрос содержит менее двух записей (или не содержит записей для функции StDevP ), эти функции возвращают значение NULL (что означает, что стандартное отклонение не может быть вычислено).

Используйте функции StDev и StDevP в выражении запроса. Это выражение также можно использовать в свойстве SQL объекта QueryDef или при создании объекта Recordset на основе SQL запроса.

Пример

В этом примере таблица Orders используется для оценки стандартного отклонения стоимости доставки заказов, отправляемых в Соединенное Королевство.

В этом примере вызывается процедура EnumFields, которую можно найти в примере инструкции SELECT.

Sub StDevX() 
 
    Dim dbs As Database, rst As Recordset 
 
    ' Modify this line to include the path to Northwind 
    ' on your computer. 
    Set dbs = OpenDatabase("Northwind.mdb") 
 
    ' Calculate the standard deviation of the freight 
    ' charges for orders shipped to the United Kingdom. 
    Set rst = dbs.OpenRecordset("SELECT " _ 
        & "StDev(Freight) " _ 
        & "AS [Freight Deviation] FROM Orders " _ 
        & "WHERE ShipCountry = 'UK';") 
 
    ' Populate the Recordset. 
    rst.MoveLast 
     
    ' Call EnumFields to print the contents of the  
    ' Recordset. Pass the Recordset object and desired 
    ' field width. 
    EnumFields rst, 15 
     
    Debug.Print 
     
    Set rst = dbs.OpenRecordset("SELECT " _ 
        & "StDevP(Freight) " _ 
        & "AS [Freight DevP] FROM Orders " _ 
        & "WHERE ShipCountry = 'UK';") 
 
    ' Populate the Recordset. 
    rst.MoveLast 
 
    ' Call EnumFields to print the contents of the  
    ' Recordset. Pass the Recordset object and desired 
    ' field width. 
    EnumFields rst, 15 
 
    dbs.Close 
 
End Sub 

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.