Достаточно часто требуется оперативная аналитическая обработка данных. Зачастую пользователи делают выгрузку данных в Excel и затем создают Сводную таблицу, т.к. весь процесс построения не требует навыков программирования, а строится в мастере несколькими нажатиями кнопки мыши. Но в этом есть один существенный минус: перед формированием отчета требуется каждый раз делать экспорт данных, а это занимает определенное время и назвать данный анализ оперативным уже сложно.
Если же ваша база данных хранится на MS SQL или может быть задана через связные серверы и нет инструмента для построения OLAP отчета, то можно использовать платформу Клиент Коммуникатор, через использование представлений (однопользовательская версия бесплатная). Для этого необходимо составить SQL запрос и записать его в конфигураторе в разделе Представления.
В данной статье я буду рассматривать построение отчета на основании данных, хранящихся в базе данных КлиКа. На основе представления отчет строится аналогично, только выбрать надо будет не таблицу, а представление.
Рассмотрим на примере следующей задачи: провести анализ наполненности реквизитов контрагентов:
- ИНН,
- основной вид деятельности,
- основное юридическое лицо,
- телефон,
- e-mail,
- контактное лицо.
Анализ должен быть в разрезе по куратору, состоянию, типу, сальдо, региону.
Все необходимые данные по задаче хранятся в одной таблице. Но возможно построение отчета по нескольким таблицам, связными с основной по прямым и обратным ссылкам. В клиентской части имеется Мастер построения OLAP отчетов, любой пользователь может самостоятельно создавать и сохранять свои отчеты. Я буду рассматривать построение отчета в дизайнере, которое отличается от пользовательского только тем, что может быть выведено в основное меню программы.
Шаг 1. В модуле «Дизайнер» создать шаблон формы. Задать название формы и выбрать основную таблицу.

Шаг 2. Добавить на форму компонент «Сводная таблица». Установить компоненту выравнивание «Весь клиент» (или любой другой на выбор).

Шаг 3. Задать параметры таблицы.
Существует 4 типа области размещения атрибутов:

- строки – расположение слева списком, может быть несколько раскрывающихся списков;
- столбцы – размещение горизонтально сверху списком, возможно несколько уровней;
- фильтры – слева сверху горизонтально;
- данные – основная часть с агрегированными данными, обязательно надо задать, как рассчитывать общий итог: количество, минимальное, максимальное, сумма, среднее. Как правило для расчета данных используются поля числовые, которые можно сложить. Для строковых переменных можно использовать только агрегатную функцию Количество. В примере я демонстрирую, как использовать вычисляемое выражение с применением функции SQL CASE.


Шаг 4. Задать параметры просмотра и поведения.

Шаг 5. Вывести форму в меню программы (в модуле Администратор).
Результат:
Между областями строк, столбцов и фильтров можно перемещать атрибуты при помощи мыши, тем самым получаем различные срезы. Имеется возможность экспортировать результат в файл. Как вывести расшифровку по строке отчета, я опубликую позже на своем youtube канале.
Более подробно смотрите в видео.