Статистические функции для выполнения расчетов
Рис. 8.25. Результаты запроса "Итоги по клиентам по городам"
Статистические функции можно использовать также в вычисляемых полях запроса. Например, для создания запроса "Итоги по клиентам" мы могли бы вместо запроса "Сведения о заказах" использовать прямо таблицу "Заказано". На рис. 8.26 показано вычисляемое поле "Стоимость". В выражение для этого поля включена функция Sum ():
Стоимость: Sum(CCur([Заказано].[Цена]
*
[Количество]
*
(
1
-
[Скидка])
/
100
)
*
100
)
Тогда в строке Групповая операция (Total) для этого столбца должен быть выбран элемент Выражение (Expression). При использовании группировки по полю "КодЗаказа", поле "Стоимость" будет содержать общую стоимость заказа.
Можно создать и другое вычисляемое поле:
Стоимость: CCur([Заказано].[Цена]
*
[Количество]
*
(
1
-
[Скидка])
/
100
)
*
100
…а функцию Sum () использовать в строке Групповая операция (Total). Оба варианта будут правильны.
Можно изменить этот запрос таким образом, чтобы посчитать общее число клиентов, заказов и общую сумму всех заказов. В этом случае результатом запроса будет одна строка, содержащая итоговые значения по всем полям. К сожалению, нельзя построить запрос, результатом которого была бы таблица, содержащая как детальные, так и итоговые данные, как это обычно бывает в таблицах Excel. Такое представление данных можно организовать только в сводных таблицах.
Рис. 8.26. Использование статистической функции в выражении для вычисляемого поля
Внимание
Статистические функции при вычислениях не обрабатывают записи, которые имеют значение Null в том поле, к которому они применяются. Поэтому нужно быть осторожным при использовании функции Count (). Она будет считать только те записи, которые не содержат пустых значений. Если нужно сосчитать все записи в результирующем наборе или группе, используйте функцию Nz (<имя поля>), которая преобразует пустое значение в 0, и только потом суммируйте.