Applies ToAccess для Microsoft 365 Access 2021 Access 2019 Access 2016

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

Функция DVarP используется для оценки дисперсии генеральной совокупности, а функция DVar — для оценки дисперсии выборки из генеральной совокупности.

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

Синтаксис

DVar ( выражение , подмножество [, условия] )

DVarP ( выражение , подмножество [, условия] )

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

Аргумент

Описание

выражение

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

подмножество

Обязательный аргумент. Строковое выражение, определяющее набор записей, которые образуют подмножество. Это может быть имя таблицы или имя запроса, для которого не требуются параметры.

условия

Необязательный. Строковое выражение, используемое для ограничения диапазона данных, на котором выполняется функция DVar или DVarP . Например, критерии часто эквивалентны предложению WHERE в выражении SQL без слова WHERE. Если условия опущены, функции DVar и DVarP оценивают expr для всего домена. Любое поле, включенное в условия, также должно быть полем в домене; В противном случае функции DVar и DVarP возвращают значение NULL.

Замечания

Если в подмножество входит менее двух записей или если менее двух записей удовлетворяют условиям, функции DVar и DVarP возвращают значение NULL. Это означает, что расчет дисперсии невозможен.

Где бы ни использовалась функция DVar или DVarP — в макросе, модуле, выражении запроса или вычисляемом элементе управления, — необходимо точно задать условия, чтобы обеспечить ее правильное вычисление.

Вы можете использовать функцию DVar или DVarP, чтобы указать условия в строке Условие отбора запроса, в выражении вычисляемого поля в запросе или в строке Обновление в запросе на обновление.

Примечание: Функции DVar и DVarP или Var и VarP можно использовать в выражении вычисляемого поля в итоговый запрос. При использовании функции DVar или DVarP значения вычисляются перед группировкой данных. При использовании функции Var или VarP данные группируются перед вычислением значений в выражении поля.

Функцию DVar или DVarP можно использовать в вычисляемом элементе управления, если требуется указать условия для ограничения диапазона данных, к которым она применяется. Например, чтобы вывести дисперсию для заказов, отправляемых в Калифорнию, задайте для свойства поля Данные следующее выражение:

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

Если требуется просто оценить дисперсию для всех записей подмножества, воспользуйтесь функцией Var или VarP.

Примечание: Несохраненные изменения записей в подмножестве не учитываются при использовании этих функций. Если вы хотите, чтобы функция DVar или DVarP учитывала измененные значения, необходимо сначала сохранить изменения, нажав кнопку Сохранить запись в разделе Записи на вкладке Данные, переместив фокус на другую запись или используя метод Update.

Пример запроса

Expression

Результаты

SELECT DVar("unitprice","productSales","unitprice>140") AS DVar_Value, DVarP("unitprice","productSales","unitprice<140") AS DVarP_Value FROM productSales GROUP BY DVar("unitprice", "productSales", "unitprice>140"), DVarP("unitprice","productSales","unitprice<140");

Вычисляет отклонение "UnitPrice" из таблицы "ProductSales", где значение "unitprice" больше 140, и отображает результат в DVar_Value. Также вычисляет отклонение "UnitPrice" (с учетом заданных данных как всей совокупности), где значение "unitprice" меньше 140, и отображает результаты в DVarP_Value.

Примеры VBA

Примечание: В примерах ниже показано, как использовать эту функцию в модуле Visual Basic для приложений (VBA). Чтобы получить дополнительные сведения о работе с VBA, выберите Справочник разработчика в раскрывающемся списке рядом с полем Поиск и введите одно или несколько слов в поле поиска.

В этом примере возвращаются оценки дисперсии по генеральной совокупности и по выборке для заказов, отправленных в Великобританию. Подмножеством является таблица "Заказы" (Orders). Аргумент условия ограничивает результирующий набор теми записями, в которых в качестве региона доставки указано Соединенное Королевство (UK).

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

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

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