Applies ToAccess за Microsoft 365 Access 2021 Access 2019 Access 2016

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

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

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

Синтаксис

DVar ( израз ; домейн [, критерий] )

DVarP ( израз ; домейн [, критерий] )

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

Аргумент

Описание

expr

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

domain

Задължителен. Низов израз, идентифициращ набора от записи, който съставлява домейна. Това може да бъде името на таблица или името на заявка за заявка, която не изисква параметър.

criteria

По желание. Низов израз, използван за ограничаване на диапазона от данни, върху който се изпълнява функцията DVar или DVarP . Например критерият често е еквивалентен на клаузата WHERE в SQL израз, без думата WHERE. Ако criteria е пропуснато, функциите DVar и DVarPизчисляват израз спрямо целия домейн. Всяко поле, което е включено в критериите , трябва също да бъде поле в domain; в противен случай функциите DVar и DVarP връщат Null.

Забележки

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

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

Можете да използвате функцията DVar и DVarP , за да зададете критерии в реда Критерии на заявка за избиране, в израз за изчисляемо поле в заявка или в реда Актуализиране на на заявка за актуализиране.

Забележка: Можете да използвате функциите DVar и DVarP или функциите Var и VarP в израз за изчисляемо поле в заявка за общи суми. Ако използвате функцията DVar или DVarP , стойностите се изчисляват, преди данните да бъдат групирани. Ако използвате функцията Var или VarP , данните се групират, преди стойностите в израза за полето да бъдат оценени.

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

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

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

Забележка: Незаписаните промени в записите в домейна не се включват, когато използвате тези функции. Ако искате функцията DVar или DVarP да се базира на променените стойности, трябва първо да запишете промените, като щракнете върху Запиши записа под Записи в раздела Данни , преместите фокуса върху друг запис или използвате метода Update .

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

Израз

Резултати

SELECT DVar("единична цена";"продажбиПродажби"; "единична цена>140") AS DVar_Value, DVarP("единична цена";"продуктПродажби","единична цена<140") AS DVarP_Value FROM продуктПродажби GROUP BY DVar("единична цена";"продажби Продажби";"единична цена>140"), DVarP("единична цена";"продажбиПродажби на продукти";"единична цена<140");

Изчислява дисперсията на "Единична цена" от таблицата "ProductSales", където "единична цена" е по-голямо от 140, и показва резултата в DVar_Value. Също така изчислява дисперсията на "Единична цена" (като разглежда дадените данни като цяла генерална съвкупност), където "единична цена" е по-малко от 140 и показва резултатите в DVarP_Value.

Примери за VBA

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

Следващият пример връща оценки на дисперсията за генералната съвкупност и извадка от генералната съвкупност за поръчките, експедирани за Обединеното кралство. Домейнът е таблицата "Поръчки". Аргументът criteria ограничава получения набор от записи до тези, за които ShipCountryRegion е равно на "Великобритания".

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

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

Dim strCountryRegion As StringDim dblX As DoublestrCountryRegion = "UK"dblX = DVar("[Freight]", "Orders", _    "[ShipCountryRegion] = '" & strCountryRegion & "'")

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

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