Иллюстрированный самоучитель по Microsoft Access 2002

Статистические функции для выполнения расчетов

Иллюстрированный самоучитель по Microsoft Access 2002 › Редактирование и анализ данных с помощью запросов › Статистические функции для выполнения расчетов
Рис. 8.25. Результаты запроса "Итоги по клиентам по городам"

Статистические функции можно использовать также в вычисляемых полях запроса. Например, для создания запроса "Итоги по клиентам" мы могли бы вместо запроса "Сведения о заказах" использовать прямо таблицу "Заказано". На рис. 8.26 показано вычисляемое поле "Стоимость". В выражение для этого поля включена функция Sum ():

Стоимость: Sum(CCur([Заказано].[Цена] * [Количество] * (1 - [Скидка]) / 100) * 100)

Тогда в строке Групповая операция (Total) для этого столбца должен быть выбран элемент Выражение (Expression). При использовании группировки по полю "КодЗаказа", поле "Стоимость" будет содержать общую стоимость заказа.

Можно создать и другое вычисляемое поле:

Стоимость: CCur([Заказано].[Цена] * [Количество] * (1 - [Скидка]) / 100) * 100

…а функцию Sum () использовать в строке Групповая операция (Total). Оба варианта будут правильны.

Можно изменить этот запрос таким образом, чтобы посчитать общее число клиентов, заказов и общую сумму всех заказов. В этом случае результатом запроса будет одна строка, содержащая итоговые значения по всем полям. К сожалению, нельзя построить запрос, результатом которого была бы таблица, содержащая как детальные, так и итоговые данные, как это обычно бывает в таблицах Excel. Такое представление данных можно организовать только в сводных таблицах.

Иллюстрированный самоучитель по Microsoft Access 2002 › Редактирование и анализ данных с помощью запросов › Статистические функции для выполнения расчетов
Рис. 8.26. Использование статистической функции в выражении для вычисляемого поля

Внимание
Статистические функции при вычислениях не обрабатывают записи, которые имеют значение Null в том поле, к которому они применяются. Поэтому нужно быть осторожным при использовании функции Count (). Она будет считать только те записи, которые не содержат пустых значений. Если нужно сосчитать все записи в результирующем наборе или группе, используйте функцию Nz (<имя поля>), которая преобразует пустое значение в 0, и только потом суммируйте
.

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