Гайд. Часть 1.2. Создание физической модели данных

В данном цикле статей пошагово рассмотрим создание аналитической панели (дашборда) в BI-системе Alpha BI: от подключения к источнику до готовой панели. В каждой статье цикла будет описан этап создания дашборда:
  1. Подготовка данных
    1.1. Постановка задачи и анализ датасета
    1.2. Создание физической модели
    1.3. Загрузка данных
    1.4. Создание логической модели
  2. Анализ данных
    2.1. Построение OLAP-представления
  3. Презентация
    3.1. Контейнеры, виджеты, настройка UI
    3.2. События, фильтры

Во второй статье будет рассмотрено создание физической модели данных. Так как факты кубов хранятся в реляционной базе данных, то сначала описывается физическая модель их хранения. В качестве физической модели хранения могут использоваться таблицы или результаты произвольных SQL запросов. Поверх таблиц или SQL-запросов в AlphaBI создаются Бизнес-объекты (БО), которые являются программным слоем для работы с объектами СУБД.

В данном примере рассмотрим создание БО с типом Таблица и с загрузкой данных из Excel-файла.

Процесс создания БО включает следующие шаги:

  1. Создание физической модели
    1.1 Создание метаописания БО для хранения данных
    1.2. Заполнение полей БО
  2. Загрузка данных через ETL-процесс (этот шаг будет рассмотрен в отдельной статье)

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

Первый БО (таблица фактов)

Шаг 1.1. Создание метаописания таблицы для хранения данных

  1. После входа в систему Alpha BI, выберете пункт главного меню “Система”. В меню-аккордеоне слева перейдите в раздел “Типы бизнес-объектов”.

  1. Выделите корневой каталог (слово “Каталог”), нажмите на кнопку “Создать” – "Тип бизнес-объекта”.

  2. Задайте код и наименование БО. Для кода используйте латинские буквы, наименование можно создавать в произвольной, удобной для восприятия форме.

  3. Для поля “Тип хранилища” оставьте значение “Таблица”. При таком типе хранилища данные сохраняются во внутреннюю реляционную СУБД Alpha BI.

  4. Сохраните внесенные изменения по кнопке “Сохранить изменения”.

  5. Раскройте узел созданного БО и выберите узел его метаданных. После чего откроется окно редактирование метаданных БО:

  1. Перейдите в режим редактирования объекта

  2. Здесь можно задать состав полей БО. Каждое созданное поле при типе хранилища “Таблица” формирует отдельный столбец в БД. Создать поля в БО можно как вручную, так и с помощью ETL-процесса. Первый БО автозаполним через ETL-процесс, а при создании второго БО рассмотрим ручной способ.

Шаг 1.2. Заполнение полей БО

  1. Выделите узел “Поля” и нажмите на кнопку автозаполнения “Из полей блока ETL-процесса”

  2. В окне “Заполнить результатом работы ETL-процесса” нажмите на многоточие в поле “ETL-процесс”

  3. Откроется каталог ETL-процессов, доступных пользователю. Можно выбрать существующий или создать новый ETL-процесс. Создадим новый.

  4. На панели нажмите на кнопку “Создать процесс ETL”.

  5. Откроется редактор ETL-процесса. Задайте код и наименование процесса. Правила наименования ETL-процессов такие же, как для БО

  6. Нажмите на кнопку “Добавить”, в выпадающем списке (каталог ETL-блоков) выберите пункт “Входные данные” – “Чтение файла из файлового хранилища”.

  7. Блок появится в окне редактора. В параметрах блока нажмите на многоточие в поле “Идентификатор файла”

  8. Откроется файловое хранилище Alpha BI. В файловом хранилище Alpha BI нажмите на кнопку “Загрузить” и выберите ранее скачанный файл с локального компьютера (либо перетащите файл из папки локального компьютера в область файлового хранилища).

  9. Выделите загруженный файл и нажмите на кнопку “Выбрать”

  10. В параметрах ETL-блока заполнится поле “Идентификатор файла” в виде пути к файлу.

  11. Нажмите на кнопку “Автозаполнение полей” для заполнения поля “Наименование файла”

  12. В каталоге ETL-блоков выберите пункт “Извлечение (Extract)” – “Excel (*.xlsx)” для чтения данных из файла в формате .xlsx.

  13. Соедините синие точки (выход первого блока и вход второго блока), потянув курсором от синей точки первого блока. Таким образом, будет создана связь между шагами ETL-процесса.

  14. В блоке “Excel (*.xlsx)” нажмите на кнопку “Автозаполнение листов”. В поле “Лист” появится список листов файла. Выберите лист “Orders”

  15. Нажмите на кнопку “Автозаполнение полей”. Ниже заполнится структура данных. Типы данных столбцов Excel-файла будут распознаны автоматически. Заголовки столбцов транслитерируются в коды полей. При необходимости их можно изменить. Коды и заголовки выходных полей будут использоваться как коды и заголовки полей БО.

  16. Результат блока можно посмотреть на предпросмотр, нажав на кнопку “Предпросмотр”

  17. Повторите процедуру, описанную в шагах 6-15 для второго листа Users

  18. В результате были извлечены два набора данных, которые необходимо соединить в один по общим столбцам с помощью операции JOIN. Для этого нажмите на кнопку “Добавить”, в выпадающем списке (каталог ETL-блоков) выберите пункт “Обработка (Transform)” – Join"

  19. Блок Join соедините связями с предыдущими, как на скриншоте

  20. В свойствах блока укажите поля, по которым будут связаны два фрагмента данных, в данном случае по поля Region. И укажите тип соединения - Inner

  21. Автозаполните поля блока. Задублированное поле Region можно удалить из списка, выделив его и нажав на кнопку “Удалить”.

  22. Нажмите на кнопку “Сохранить и закрыть” и выберите созданный ETL-процесс в списке

  23. Поля из последнего блока ETL-процесса подтянутся в окно предпросмотра будущих полей БО. Проверьте, что коды, наименования полей и типы данных заполнены верно. Нажмите на кнопку “Применить”. Структура полей БО автоматически заполнится данными из блока ETL-процесса"

  24. Сохраните БО.

  25. Теперь необходимо провести Синхронизацию схемы и выставить созданный бизнес-объект к Публикации для участия в синхронизации.

🛈 Синхронизация схемы - процесс, при котором приложение синхронизируется с базой данных, отправляя все изменения, произошедшие в объектах. После чего другие объекты системы могут видеть и взаимодействовать с созданным БО.

Поднимитесь с карточки редактирования метаописания на карточку редактирования БО и нажмите на кнопку “Опубликовать”.

:exclamation:Важно! При первой публикации объекта системы, если в системе уже созданы роли пользователей, вы сможете выбрать роли, которые будут иметь доступ к объекту. При необходимости поставьте флажки напротив соответствующих ролей в открывшемся окне. В дальнейшем раздать права доступа к объекту сможет только пользователь с доступом к настройкам безопасности в разделе “Администрирование”.

Когда статус БО изменится на “Готов к публикации”, нажмите на кнопку “Синхронизировать схему” в главном меню:

После нажатия кнопки появится окно протокола синхронизации схемы. Если фон окна станет зеленым, значит синхронизация прошла успешно. Закройте его.

Второй БО (таблица с датами)

Шаг 1.1. Создание метаописания таблицы для хранения данных

  1. Создайте БО, задайте ему код и наименование. Для типа хранилища оставьте значение по умолчанию “Таблица”. Сохраните внесенные изменения по кнопке “Сохранить изменения”.

  2. Сохраните БО.

Шаг 1.2. Заполнение полей БО

  1. На этот раз поля будем заполнять вручную. Для этого вернитесь в карточку метаданных БО, перейдите в режим редактирования, выделите узел “Поля”, нажмите на кнопку “Добавить”, в выпадающем списке выберете тип поля “Целочисленное поле”.

  2. В карточке справа заполните код и заголовок.

  3. Повторите процедуру для остальных полей из таблицы:

  4. Сохраните БО, опубликуйте и синхронизируйте схему. При первой публикации не забудьте выбрать роли, которые будут иметь доступ к объекту.

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

1 лайк