Функции DStDev и DStDevP

Отнася се за
Access за Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Можете да използвате функциите DStDev и DStDevP , за да оцените стандартното отклонение на набор от стойности в зададен набор от записи (домейн). Използвайте функциите DStDev и DStDevP в модул на Visual Basic for Applications (VBA), макрос, израз на заявка или изчисляема контрола във формуляр или отчет.

Използвайте функцията DStDevP за оценка на генерална съвкупност и функцията DStDev за оценка на извадка от генералната съвкупност.

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

Синтаксис

DStDev(expr; domain [, criteria] )

DStDevP(expr; domain [, criteria] )

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

Аргумент Описание
израз Задължително. Израз, който идентифицира числовото поле, в което искате да намерите стандартното отклонение. Това може да бъде низов израз, идентифициращ поле от таблица или заявка, или израз, който извършва изчисление върху данните в това поле. В expr можете да включите името на поле в таблица, контрола на формуляр, константа или функция. Ако expr съдържа функция, тя може да бъде вградена или дефинирана от потребителя, но не и друга агрегатна функция на домейн или SQL агрегатна функция.
domain Задължителен. Низов израз, идентифициращ набора от записи, който съставлява домейна. Това може да бъде името на таблица или името на заявка за заявка, която не изисква параметър.
criteria Незадължително. Низов израз, използван за ограничаване на диапазона от данни, върху които се изпълнява функцията DStDev или DStDevP . Например критерий често е еквивалентен на клаузата WHERE в SQL израза, без думата WHERE. Ако критерият е пропуснат, функциите DStDev и DStDevP изчисляват израз спрямо целия домейн. Всяко поле, което е включено в критериите , трябва да бъде също и поле в домейн; в противен случай функциите DStDev и DStDevP ще връщат Null.

Забележки

Ако домейн препраща към по-малко от два записа или ако по-малко от два записа удовлетворяват критерии, функциите DStDev и DStDevP връщат Null, което показва, че не може да се изчисли стандартно отклонение.

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

Можете да използвате функциите DStDev и DStDevP , за да зададете критерии в реда ''Критерии'' на заявка за избиране. Можете например да създадете заявка в таблицата "Поръчки" и таблицата "Продукти", за да покажете всички продукти, за които транспортните разходи са паднали над средната стойност плюс стандартното отклонение за разходите за навло. Редът за критерии под полето "Навло" ще съдържа следния израз:

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

Можете да използвате функциите DStDev и DStDevP в израз за изчисляемо поле на заявка или в реда Update To на заявка за актуализиране.

Забележка

Можете да използвате функциите DStDev и DStDevP или функциите StDev и StDevP в израз за изчисляемо поле на заявка за общи суми. Ако използвате функцията DStDev или DStDevP , стойностите се изчисляват, преди данните да бъдат групирани. Ако използвате функцията StDev или StDevP , данните се групират, преди стойностите в израза за полето да бъдат изчислени.

Използвайте функциите DStDev и DStDevP в изчисляема контрола, когато трябва да зададете критерии за ограничаване на диапазона от данни, върху които се изпълнява функцията. Например, за да покажете стандартното отклонение за поръчките, които ще бъдат изпратени до Калифорния, задайте свойството ControlSource на текстово поле на следния израз:

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

Ако просто искате да намерите стандартното отклонение за всички записи в домейна, използвайте функцията StDev или StDevP .

Съвет Ако типът данни на полето, от което е извлечен expr, е число, функциите DStDev и DStDevP връщат тип данни Double. Ако използвате функцията DStDev или DStDevP в изчисляема контрола, включете функция за преобразуване на типа данни в израза, за да подобрите производителността.

Забележка

Незаписаните промени в записите в домейна не се включват, когато използвате тези функции. Ако искате функцията DStDev или DStDevP да се базира на променените стойности, трябва първо да запишете промените, като щракнете върху "Съхрани записа" под "Записи" в раздела "Данни", преместите фокуса към друг запис или използвате метода "Актуализация".

Примери за заявки

Израз Резултати
SELECT DStDev("единична цена";"продуктПродажби";"единична цена>140") AS Израз1, DStDevP("единична цена";"продуктПродажби";"единична цена<140") AS Израз2 FROM productSales GROUP BY DStDev("единична цена";"продуктПродажби";"единична цена>140"), DStDevP("единична цена";"продуктПродажби";"единична цена<140"); Изчислява отклонението Standard на "ЕдиничнаЦена" (като се вземат предвид дадените данни като извадка) от таблицата "ProductSales", където "unitprice" е по-голямо от 140, и показва резултата в Израз1. Също така изчислява отклонението Standard на "Единична цена" (като се имат предвид дадените данни като цялата генерална съвкупност), където "единична цена" е по-малко от 140 и показва резултатите в израз2.
SELECT DStDev("единична цена";"продуктПродажби";"единична цена>140") AS DstDev, DStDevP("единична цена";"продуктПродажби";"единична цена<140") AS DstDevP FROM productSales GROUP BY DStDev("единична цена";"продуктПродажби";"единична цена>140"), DStDevP("единична цена";"продуктПродажби";"единична цена<140"); Изчислява отклонението Standard на "Единична цена" (като се имат предвид дадените данни като извадка) от таблицата "ProductSales", където "единична цена" е по-голямо от 140 и показва резултата в DstDev. Също така изчислява отклонението Standard на "Единична цена" (като се имат предвид дадените данни като цялата генерална съвкупност), където "единична цена" е по-малко от 140 и показва резултатите в DstDevP.

Пример на VBA

Забележка

Примерите по-долу илюстрират използването на тази функция във Visual Basic for Applications (VBA). За повече информация относно работата с VBA изберете Справочни материали за разработчици в падащия списък до Търсене и въведете един или няколко термина в полето за търсене.

Следващият пример връща оценки за стандартното отклонение за генерална съвкупност и извадка от генералната съвкупност за поръчките, експедирани за Обединеното кралство. Домейнът е таблицата "Поръчки". Аргументът критерий ограничава получения набор от записи до тези, за които стойността на 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, в аргумента критерий . Забележете, че в низовия израз са включени единични кавички ('), така че когато низовете се съединят, низовият литерал 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 & "'")