[SQL, Программирование] OLAP-отчеты. Построение для любой базы на SQL

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
13-Июл-2020 19:32

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

Анализ должен быть в разрезе по куратору, состоянию, типу, сальдо, региону.
Все необходимые данные по задаче хранятся в одной таблице. Но возможно построение отчета по нескольким таблицам, связными с основной по прямым и обратным ссылкам. В клиентской части имеется Мастер построения OLAP отчетов, любой пользователь может самостоятельно создавать и сохранять свои отчеты. Я буду рассматривать построение отчета в дизайнере, которое отличается от пользовательского только тем, что может быть выведено в основное меню программы.
Шаг 1. В модуле «Дизайнер» создать шаблон формы. Задать название формы и выбрать основную таблицу.

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

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

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



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

Шаг 5. Вывести форму в меню программы (в модуле Администратор).
Результат:

Между областями строк, столбцов и фильтров можно перемещать атрибуты при помощи мыши, тем самым получаем различные срезы. Имеется возможность экспортировать результат в файл. Как вывести расшифровку по строке отчета, я опубликую позже на своем youtube канале.
Более подробно смотрите в видео.
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_sql, #_programmirovanie (Программирование), #_olapkuby (olap-кубы), #_olap, #_klient_kommunikator (Клиент Коммуникатор), #_klik (КлиК), #_sql, #_sql, #_programmirovanie (
Программирование
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 23-Ноя 00:32
Часовой пояс: UTC + 5