Загрузка данных для анализа их в виджете
Задача
Проанализировать с помощью виджетов в Колибри.Аналитике сторонние данные, хранящиеся в файле формата Excel, с возможностью перезагружать такие данные и дополнять их.
Исходные данные
Перед тем как приступить к решению задачи, ознакомимся с имеющимся файлом формата Excel Поставки.xlsx
. Данные файла необходимо проанализировать в виджете.
.
Сценарий решения задачи
Решение задачи будет заключаться в создании процесса, который будет включать следующие шаги:
- Создание параметра процесса типа "Файл".
- Преобразование входящего файла из Excel в табличные данные.
- Добавление дополнительной информации к исходным данным.
- Загрузка данных в аналитическую таблицу.
- Дополнение загруженных данных.
- Удаление загруженных данных и повторная загрузка.
- Загрузка данных с измененной структурой.
Используемые узлы
Преобразовать из Excel
Проекция
Аналитическая таблица
PostgreSQL-команда
В процессе будет использован параметр процесса типа "Файл" и настраиваемый порядок выполнения узлов.
Построение и настройка процесса
Создадим и сохраним новый процесс.
Для передачи в процесс исходного файла Excel создадим параметр процесса типа "Файл".
Для преобразования входящего файла из формата Excel в табличные данные добавим узел Преобразовать из Excel, укажем название "Поставки" и настроим свойства.
Для передачи в узел "Поставки" входящего файла присоединим параметр "Входящий Excel" к входному порту узла.
Выполним проверку процесса, при наличии ошибок исправим их.
Запустим процесс в отладке для просмотра результатов узла "Поставки".
Дополним данные информацией о дате загрузки их в аналитическую таблицу с помощью узла Проекция.
Для этого добавим узел Проекция и соединим его входной порт с выходным портом узла "Поставки".
В узле "Проекция" настроим свойства и добавим вычисляемую колонку "Дата и время загрузки данных".
Для загрузки данных в аналитическую таблицу добавим узел Аналитическая таблица и свяжем его входной порт с выходным портом узла "Проекция".
У узла "Аналитическая таблица" укажем название "Аналитическая таблица "Поставки" и настроим свойства, указав имя схемы базы данных и название аналитической таблицы. Установим свойство "Создать таблицу", так как таблица, в которую загружаются данные, ещё не существует.
Выполним проверку процесса, при наличии ошибок исправим их.
Запустим процесс с сохранением, передав в процесс файл Excel
Поставки.xlsx
.
В редакторе виджетов в источнике данных будет доступна новая аналитическая таблица "Поставки".
Для дополнения аналитической таблицы новыми данными запустим процесс с сохранением, передав в него файл аналогичной структуры, но с другими данными
Поставки_дополнения.xlsx
.Замечание
Запустив процесс с файлом аналогичной структуры, но с другими данными, аналитическая таблица будет дополнена новыми данными с сохранением ранее загруженных в неё данных.
Замечание
Запустив процесс ещё раз с тем же самим файлом, строки из файла загрузятся в аналитическую таблицу повторно, то есть будут созданы дубликаты, различающиеся только значением в колонке "Дата и время загрузки данных".
Для перезагрузки данных необходимо удалить ранее загруженные в аналитическую таблицу данные и выполнить загрузку новых данных.
Для очистки аналитической таблицы от данных добавим узел PostgreSQL-команда.
У узла PostgreSQL-команда укажем название "Очистка аналитической таблицы" и сформируем текст команды.
Так как узел "Очистка аналитической таблицы" автономный узел, не имеющий ни входных, ни выходных данных, для того, чтобы в первую очередь было выполнено очищение аналитической таблицы и только после этого загрузка данных, необходимо задать порядок выполнения узлов.
Для этого у узла "Очистка аналитической таблицы" добавим порт "Зависимость (выход)", у узла "Поставки" добавим порт "Зависимость (вход)" и свяжем между собой созданные порты.
Для перезагрузки данных с изменением их структуры, например, если в исходном файле добавилась новая колонка "Примечание", необходимо удалить саму аналитическую таблицу, а после выполнить загрузку данных из нового файла с созданием аналитической таблицы.
Для удаления аналитической таблицы удалим узел "Очистка аналитической таблицы" и добавим новый узел PostgreSQL-команда, в котором укажем название "Удаление аналитической таблицы" и команду по удалению таблицы.
Предупреждение
PostgreSQL-команда по удалению аналитических таблиц следует использовать с осторожностью.
После запуска процесса с сохранением операция не может быть отменена.Так как узел "Удаление аналитической таблицы" автономный, то есть не имеющий ни входных, ни выходных данных, для того, чтобы в первую очередь было выполнено удаление аналитической таблицы и только после этого загрузка данных, необходимо задать порядок выполнения узлов.
Для этого у узла "Удаление аналитической таблицы" добавим порт "Зависимость (выход)", у узла "Поставки" добавим порт "Зависимость (вход)" и свяжем между собой созданные порты.
Запустим процесс с сохранением, передав в процесс файл Excel
Поставки_с_примечанием.xlsx
.
В редакторе виджетов в источнике данных будет доступна аналитическая таблица "Поставки" с новой структурой.