Функції DVar, DVarP

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

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

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

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

Синтаксис

DVar(expr, domain [, criteria] )

DVarP(expr, domain [, criteria] )

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

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

Примітки

Якщо аргумент domain посилається на менше двох записів або менше двох записів задовольняють умови, функції 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 базвалася на змінених значеннях, спочатку потрібно зберегти зміни, натиснувши кнопку Зберегти запис у розділі Записи на вкладці Дані , перемістити фокус до іншого запису або скористатися методом Оновлення .

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

Вираз Результати.
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, клацніть пункт Довідник розробника в розкривному списку поряд із полем Пошук і введіть у поле пошуку принаймні один термін.

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

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 & "'")