Работа с системой > Отчеты

Использование функций и фильтров

В начало  Предыдущий раздел  Следующий раздел

Агрегирующие функции и фильтры могут быть использованы как по-отдельности, так и совместно. В данном разделе рассматриваются различные комбинации настроек аналитик на примере простейшего отчета по платежам, содержащего аналитики Абонент, Сумма с налогами и Дата операции. По умолчанию у всех аналитик установлен флаг Отображать.

Использование аналитики без функции и фильтра

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

Для рассматриваемого примера, если у всех аналитик стоит флаг Отображать, в отчете будет выведен список абонентов и даты и суммы платежей, которые они совершали за период построения отчета:

Теперь снимем флаг у аналитики Сумма с налогами, в отчете останутся только столбцы с абонентами и датами платежей:

Если же вместо аналитики Сумма с налогами убрать флаг Отображать у аналитики Дата операции, будет построен отчет в разрезе значений аналитик Абонент и Сумма с налогами и без учета значений аналитики Дата операции:

Обратите внимание, что у абонента milov, как видно из предыдущих отчетов, было 3 платежа на сумму 500 рублей, однако в данном отчете для него есть только одна запись — все платежи абонента были сгруппированы в одну строку, поскольку значения аналитик Абонент и Сумма с налогами (тех аналитик, у которых стоит флаг Отображать) для данных строк совпадают. (Чтобы найти сумму таких платежей, необходимо использовать агрегирующую функцию, как будет показано ниже.)

Использование фильтра

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

Создадим фильтр для аналитики Сумма с налогами: будем искать только тех абонентов, которые осуществили платеж на сумму больше 600 рублей.

Если у всех аналитик стоит флаг Отображать, в отчет будут включены абоненты и даты платежей с нужными суммами:

Отключаем отображение у аналитики Сумма с налогами — из отчета удаляется столбец с суммами, но при этом выводятся только те абоненты и даты платежей, суммы которых удовлетворяют наложенному фильтру:

Использование агрегирующей функции

Если выбрана агрегирующая функция и стоит флаг Отображать, значения функции будут выведены в отчете; если флаг снят, соотвествующий столбец будет отсутствовать.

Для примера, возьмем исходные аналитики и применим к аналитике Сумма с налогами функцию Сумма.

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

Снимем флаг у аналитики Дата операции (в этом случае аналитика Дата операции не будет влиять на результаты отчета), отчет примет следующий вид:

В каждой строке приведена сумма платежей, выполненных абонентом за период построения отчета. Если снять флаг Отображать у аналитики Сумма с налогами, в отчете останется только один столбец со списком абонентов, совершавших платежи.

Совместное использование функции и фильтра

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

Найдем абонентов, сумма платежей которых за период отчета превысила 1200 рублей. Для этого снимем флаг Отображать у аналитики Дата операции, чтобы суммирование платежей выполнялось только в разрезе абонентов (или можно удалить эту аналитику из отчета). К аналитике Сумма с налогами применим функцию Сумма и дополнительное условие.

Результирующая таблица будет иметь следующий вид:

Если снять флаг Отображать у аналитики Сумма с налогами, в отчете останутся те же абоненты (т. е. наложенный фильтр будет действовать), но не будет выведена сумма их платежей: