Функції DVar, DVarP

Застосовується до
Access для Microsoft 365 Access 2021 Access 2019 Access 2016

Функції DVar і DVarP можна використовувати, щоб оцінити дисперсію для набору значень у вказаному наборі записів (домені). Використовуйте функції DVar і DVarP в модулі Visual Basic for Applications (VBA), макросі, виразі запиту або обчислюваному елементі керування у формі чи звіті.

Використовуйте функцію DVarP, щоб оцінити відхилення для сукупності, і функцію DVar, щоб оцінити відхилення для вибірки із сукупності.

Наприклад, за допомогою функції DVar можна обчислити відхилення для набору оцінок учнів за контрольні роботи.

Синтаксис

DVar(вираз, домен [, умови] )

DVarP(вираз, домен [, criteria] )

Функції DVar і DVarP мають такі аргументи:

Аргумент Опис
expr Обов’язковий. Вираз, що визначає числове поле, за яким потрібно знайти відхилення. Це може бути рядковий вираз, який визначає поле в таблиці або запиті, або вираз, який обчислює дані в цьому полі. В виразі можна включити поле імені до таблиці, елемента керування у формі, константи або функції. Якщо вираз включає функцію, вона може бути вбудованою або користувацькою, але не може бути іншою агрегатною функцією домену або агрегатною функцією SQL. Усі поля виразу мають бути числовими.
домен Обов’язковий аргумент. Рядковий вираз, який визначає набір записів, щоб складають домен. Це може бути ім’я таблиці або ім’я запиту, у якого немає обов’язкових параметрів.
умови — необов’язковий аргумент. Рядковий вираз, який дає можливість обмежити діапазон даних, до якого застосовується функція DVar або DVarP . Наприклад, умови часто еквівалентні реченню WHERE у виразі SQL без слова WHERE. Якщо умову не вказано, функції DVar і DVarP обчислюють вираз для всього домену. Будь-яке поле, яке включено в умови , також має бути полем у домені; в іншому випадку функції DVar і DVarP повертають Null-значення.

Примітки

Якщо домен посилається менше ніж на два записи або якщо умовам відповідає менше двох записів, функції DVar і DVarP повертають Null-значення. Це означає, що відхилення не обчислюється.

Де б не використовувалася функція DVar або DVarP (у макросі, модулі, виразі запиту чи обчислюваному елементі керування ), аргумент criteria потрібно створювати з обережністю, щоб забезпечити правильність його обчислення.

За допомогою функцій DVar і DVarP можна також задати умови в рядку Критерії запиту на вибірку, в обчислюваному полі виразу запиту або в рядку Оновлення до запиту на оновлення.

Примітка.

Функції DVar і DVarP або VarP та VarP можна використовувати у виразі обчислюваного поля в запиті підсумків. Якщо використовується функція DVar або DVarP , значення обчислюються перед групуванням даних. Якщо використовується функція Var або VarP , дані групуються перед обчисленням значень у виразі поля.

В обчислюваному елементі керування використовуйте функції DVar і DVarP , коли потрібно за допомогою умов обмежити діапазон даних, до якого застосовується функція. Наприклад, щоб відобразити відхилення для замовлень, які мають доставлятися до Каліфорнії, установіть властивість ControlSource текстового поля для такого виразу:

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

Якщо потрібно просто знайти стандартне відхилення для всіх записів домену, скористайтеся функцією Var або VarP .

Примітка.

Ці функції не враховують незбережені зміни в записах домену . Якщо потрібно, щоб функція DVar або DVarP врахувала змінені значення, спочатку потрібно зберегти зміни. Для цього на вкладці "Дані" в розділі "Записи" натисніть кнопку "Зберегти запис", перемістіть фокус до іншого запису або скористайтеся методом оновлення.

Приклад запиту

Вираз Результати.
SELECT DVar("ціна_за_одиницю";"продуктЗбут";"Ціна>_за_одиницю 140") AS DVar_Value, DVarP("одиниця товару";"продуктЗбут";"Вартість одиниці товару<140") AS DVarP_Value FROM productSales GROUP BY DVar("ціна_за_одиницю","продуктЗбут","ціна_за_одиницю>140"), DVarP("одиниця товару","продуктЗбут","ціна за одиницю товару<140"); Обчислює відхилення значення "Ціна_за_одиницю" з таблиці "Збут_продукту", де "вартість одиниці товару" більше 140, і відображає результат у DVar_Value. Також обчислює дисперсію значення "Ціна_за_одиницю" (за заданими даними даними як генеральна сукупність), де "Вартість одиниці товару" менше 140, і відображає результат у DVarP_Value.

Приклади VBA

Примітка.

У прикладах нижче показано використання цієї функції в модулі Visual Basic for Applications (VBA). Щоб отримати докладні відомості про використання модуля VBA, клацніть пункт Довідник розробника в розкривному списку поряд із полем Пошук і введіть у поле пошуку принаймні один термін.

У наведеному нижче прикладі повертаються оцінки відхилення для сукупності й вибірки із сукупності для замовлень, доставлених до Сполученого Королівства. Домен – це таблиця "Замовлення". Аргумент " Умови " обмежує отриманий набір записів, включаючи в нього лише ті, у яких поле "Країна_або_регіон_доставки" має значення "Сполучене Королівство".

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

У наступному прикладі обчислення показано за допомогою змінної strCountryRegion, , в аргументі "умови ". Зверніть увагу, що в рядковому виразі є одинарні лапки ('), щоб у разі об'єднання рядків рядок UK було взято в одинарні лапки.

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