Перейти к основному контенту
Office

Функции DVar, DVarP

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

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

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

Синтаксис

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

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

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

Аргумент

Описание

выражение

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

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

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

условия

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

Замечания

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

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

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

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

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

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

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

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

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

Выражение

Результаты:

Выберите параметр DVar ("UnitPrice"; "Продуктсалес"; "UnitPrice>140") как DVar_Value, DVarP ("UnitPrice", "Продуктсалес", "UnitPrice<140") как DVarP_Value от Продуктсалес GROUP BY DVar ("UnitPrice", "Продуктсалес", "UnitPrice>140"), DVarP ("цена"). "Продуктсалес", "UnitPrice<140");

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

Примеры VBA

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

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

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

Примечание:  Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).

Совершенствование навыков работы с Office
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединиться к программе предварительной оценки Office

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×