- Подготовка данных
1.1. Постановка задачи и анализ датасета
1.2. Создание физической модели
1.3. Загрузка данных
1.4. Создание логической модели - Анализ данных
2.1. Построение OLAP-представления - Презентация
3.1. Контейнеры, виджеты, настройка UI
3.2. События, фильтры 
Во второй статье будет рассмотрено создание физической модели данных. Так как факты кубов хранятся в реляционной базе данных, то сначала описывается физическая модель их хранения. В качестве физической модели хранения могут использоваться таблицы или результаты произвольных SQL запросов. Поверх таблиц или SQL-запросов в AlphaBI создаются Бизнес-объекты (БО), которые являются программным слоем для работы с объектами СУБД.
В данном примере рассмотрим создание БО с типом Таблица и с загрузкой данных из Excel-файла.
Процесс создания БО включает следующие шаги:
- Создание физической модели
1.1 Создание метаописания БО для хранения данных
1.2. Заполнение полей БО - Загрузка данных через ETL-процесс (этот шаг будет рассмотрен в отдельной статье)
 
Создадим 2 БО. Первый будет представлять собой таблицу фактов, содержащую данные из файла, второй - справочник с датами и с выделенными из них единицами времени (год, месяц, день). Повторим шаги 1.1. и 1.2. для обоих БО.
Первый БО (таблица фактов)
Шаг 1.1. Создание метаописания таблицы для хранения данных
- После входа в систему Alpha BI, выберете пункт главного меню “Система”. В меню-аккордеоне слева перейдите в раздел “Типы бизнес-объектов”.
 
- 
Выделите корневой каталог (слово “Каталог”), нажмите на кнопку “Создать” – "Тип бизнес-объекта”.
 - 
Задайте код и наименование БО. Для кода используйте латинские буквы, наименование можно создавать в произвольной, удобной для восприятия форме.
 - 
Для поля “Тип хранилища” оставьте значение “Таблица”. При таком типе хранилища данные сохраняются во внутреннюю реляционную СУБД Alpha BI.
 - 
Сохраните внесенные изменения по кнопке “Сохранить изменения”.
 - 
Раскройте узел созданного БО и выберите узел его метаданных. После чего откроется окно редактирование метаданных БО:
 
- 
Перейдите в режим редактирования объекта
 - 
Здесь можно задать состав полей БО. Каждое созданное поле при типе хранилища “Таблица” формирует отдельный столбец в БД. Создать поля в БО можно как вручную, так и с помощью ETL-процесса. Первый БО автозаполним через ETL-процесс, а при создании второго БО рассмотрим ручной способ.
 
Шаг 1.2. Заполнение полей БО
- 
Выделите узел “Поля” и нажмите на кнопку автозаполнения “Из полей блока ETL-процесса”
 - 
В окне “Заполнить результатом работы ETL-процесса” нажмите на многоточие в поле “ETL-процесс”
 - 
Откроется каталог ETL-процессов, доступных пользователю. Можно выбрать существующий или создать новый ETL-процесс. Создадим новый.
 - 
На панели нажмите на кнопку “Создать процесс ETL”.
 - 
Откроется редактор ETL-процесса. Задайте код и наименование процесса. Правила наименования ETL-процессов такие же, как для БО
 - 
Нажмите на кнопку “Добавить”, в выпадающем списке (каталог ETL-блоков) выберите пункт “Входные данные” – “Чтение файла из файлового хранилища”.
 - 
Блок появится в окне редактора. В параметрах блока нажмите на многоточие в поле “Идентификатор файла”
 - 
Откроется файловое хранилище Alpha BI. В файловом хранилище Alpha BI нажмите на кнопку “Загрузить” и выберите ранее скачанный файл с локального компьютера (либо перетащите файл из папки локального компьютера в область файлового хранилища).
 - 
Выделите загруженный файл и нажмите на кнопку “Выбрать”
 - 
В параметрах ETL-блока заполнится поле “Идентификатор файла” в виде пути к файлу.
 - 
Нажмите на кнопку “Автозаполнение полей” для заполнения поля “Наименование файла”
 - 
В каталоге ETL-блоков выберите пункт “Извлечение (Extract)” – “Excel (*.xlsx)” для чтения данных из файла в формате .xlsx.
 - 
Соедините синие точки (выход первого блока и вход второго блока), потянув курсором от синей точки первого блока. Таким образом, будет создана связь между шагами ETL-процесса.
 - 
В блоке “Excel (*.xlsx)” нажмите на кнопку “Автозаполнение листов”. В поле “Лист” появится список листов файла. Выберите лист “Orders”
 - 
Нажмите на кнопку “Автозаполнение полей”. Ниже заполнится структура данных. Типы данных столбцов Excel-файла будут распознаны автоматически. Заголовки столбцов транслитерируются в коды полей. При необходимости их можно изменить. Коды и заголовки выходных полей будут использоваться как коды и заголовки полей БО.
 - 
Результат блока можно посмотреть на предпросмотр, нажав на кнопку “Предпросмотр”
 - 
Повторите процедуру, описанную в шагах 6-15 для второго листа Users
 - 
В результате были извлечены два набора данных, которые необходимо соединить в один по общим столбцам с помощью операции JOIN. Для этого нажмите на кнопку “Добавить”, в выпадающем списке (каталог ETL-блоков) выберите пункт “Обработка (Transform)” – Join"
 - 
Блок Join соедините связями с предыдущими, как на скриншоте
 - 
В свойствах блока укажите поля, по которым будут связаны два фрагмента данных, в данном случае по поля Region. И укажите тип соединения - Inner
 - 
Автозаполните поля блока. Задублированное поле Region можно удалить из списка, выделив его и нажав на кнопку “Удалить”.
 - 
Нажмите на кнопку “Сохранить и закрыть” и выберите созданный ETL-процесс в списке
 - 
Поля из последнего блока ETL-процесса подтянутся в окно предпросмотра будущих полей БО. Проверьте, что коды, наименования полей и типы данных заполнены верно. Нажмите на кнопку “Применить”. Структура полей БО автоматически заполнится данными из блока ETL-процесса"
 - 
Сохраните БО.
 - 
Теперь необходимо провести Синхронизацию схемы и выставить созданный бизнес-объект к Публикации для участия в синхронизации.
 
🛈 Синхронизация схемы - процесс, при котором приложение синхронизируется с базой данных, отправляя все изменения, произошедшие в объектах. После чего другие объекты системы могут видеть и взаимодействовать с созданным БО.
Поднимитесь с карточки редактирования метаописания на карточку редактирования БО и нажмите на кнопку “Опубликовать”.
Важно! При первой публикации объекта системы, если в системе уже созданы роли пользователей, вы сможете выбрать роли, которые будут иметь доступ к объекту. При необходимости поставьте флажки напротив соответствующих ролей в открывшемся окне. В дальнейшем раздать права доступа к объекту сможет только пользователь с доступом к настройкам безопасности в разделе “Администрирование”.
Когда статус БО изменится на “Готов к публикации”, нажмите на кнопку “Синхронизировать схему” в главном меню:
После нажатия кнопки появится окно протокола синхронизации схемы. Если фон окна станет зеленым, значит синхронизация прошла успешно. Закройте его.
Второй БО (таблица с датами)
Шаг 1.1. Создание метаописания таблицы для хранения данных
- 
Создайте БО, задайте ему код и наименование. Для типа хранилища оставьте значение по умолчанию “Таблица”. Сохраните внесенные изменения по кнопке “Сохранить изменения”.
 - 
Сохраните БО.
 
Шаг 1.2. Заполнение полей БО
- 
На этот раз поля будем заполнять вручную. Для этого вернитесь в карточку метаданных БО, перейдите в режим редактирования, выделите узел “Поля”, нажмите на кнопку “Добавить”, в выпадающем списке выберете тип поля “Целочисленное поле”.
 - 
В карточке справа заполните код и заголовок.
 - 
Повторите процедуру для остальных полей из таблицы:
 - 
Сохраните БО, опубликуйте и синхронизируйте схему. При первой публикации не забудьте выбрать роли, которые будут иметь доступ к объекту.
 
В итоге мы создали физическую модель данных, состоящую из одной таблицы фактов и справочника с датами. На следующем шаге заполним оба БО данными.































