Овладеть навыками проектирования аналитических витрин данных в схеме "Звезда" или "Снежинка".
Проанализировать структуру данных, предоставленных исходных файлов.
Изучить теоретические основы построения схемы данных по варианту.
Выполнить проектирование витрины для имеющихся данных согласно схеме по варианту, оформить в виде диаграммы "Crow's foot".
Загрузить (импортировать) данные из файлов по варианту в Python в виде объектов DataFrame.
Выполнить очистку данных от лишних символов, приведение связанных между собой колонок к единому типу данных, строки с датами и временем, числовые показатели - преобразовать к соответствующим типам данных.
Сформировать из полученных наборов таблицы, согласно спроектированной в п.3 схеме данных (таблицы измерений и таблицу фактов).
Выгрузить (экспортировать) таблицу фактов и все таблицы измерений в единый excel-файл на отдельные листы с соответствующим наименованием.
Подготовить отчет о выполнении лабораторной работы.
Исходные данные:
Логическая схема:
Исходные данные:
Логическая схема:
Исходные данные:
Логическая схема:
Исходные данные:
Логическая схема:
Исходные данные:
Логическая схема:
Исходные данные:
Логическая схема:
Исходные данные:
Логическая схема:
Исходные данные:
Логическая схема:
Исходные данные:
Логическая схема:
Исходные данные:
Логическая схема:
Данный шаг был выполнен в лабораторной работе №1, но теперь требуется сосредоточить внимание на содержательной части файлов - какие данные имеются в наличии, какие атрибуты и что характеризуют, как они размещаются в источнике. В этом поможет ранее составленная диаграмма, описывающая модель данных источника, в которой наглядно можно увидеть какие таблицы находятся в нашем распоряжении, и как между ними распределены атрибуты.
Нужно указать определение и краткое описание принципов построения схемы по варианту. Указать назначение схем.
Принцип проектирования измерений предельно прост. Часто можно определить их, слушая разговоры людей или читая отчет или диаграмму, по вопросам к анализу, которые ставятся или могут быть поставлены бизнесом. Например:
Какова валовая прибыль в разбивке по категориям продукции за январь?
Каков средний остаток средств на счете в разбивке по уровню образования?
Сколько дней по болезни взяли сотрудники отдела маркетинга в прошлом году?
Какова непогашенная кредиторская задолженность в разбивке по поставщикам?
Какова норма возврата в разбивке по поставщикам?
Каждый из этих вопросов посвящен бизнес-процессу: продажам, управлению счетами, посещаемости, кредиторской задолженности, обработке возвратов. Эти вопросы, ориентированные на процессы, не касаются отдельных действий или транзакций. Чтобы ответить на них, необходимо рассмотреть группу транзакций.
Самое главное, что каждый из этих вопросов раскрывает что-то о том, как оценивается соответствующий бизнес-процесс. Исследование продаж включает в себя измерение валовой прибыли. Финансовые учреждения оценивают балансы счетов. В отделе кадров оценивают количество отработанных или пропущенных по болезни дней. Финансовый отдел оценивает кредиторскую задолженность. Менеджеры по закупкам следят за количественным движением товаров.
Без какого-либо контекста любые оценки и измеренные значения бессмысленны. Если вам скажут "объем продаж составил 10 млн. ₽", вы мало что сможете сделать с этой информацией. Это продажи одного продукта или нескольких? Это одна сделка или общий объем продаж компании с момента ее создания до настоящего времени? Без какого-либо контекста значение бесполезно.
Как и в случае с самими значениями, контекст раскрывается в бизнес-вопросах или отчетах. Например, в предыдущих вопросах валовая прибыль рассматривалась в разрезе категорий продуктов и времени (январь). Пропуски по болезни рассматриваются в разрезе отдела (отдел рекламы) и времени (прошлый год). Кредиторская задолженность рассматривается в разрезе ее статуса (погашенная или нет) и поставщика.
Эти две простые концепции - измерение и контекст, являются основой размерного проектирования. Каждая многомерная структура описывает процесс, отражая измеренные значения, и контекст, в котором эти измерения выполнены.
Тут, к сожалению, мы сталкиваемся с коллизией в терминах, и важно не перепутать измерение - измеренное значение, и измерение - контекст измеренного значения (ось многомерного пространства данных).
Данная часть работы была выполнена в лабораторной работе №1, можно просто переиспользовать ранее написанный код.
Для импорта каждого формата - существует свой собственный механизм. Для большинства представленных файлов будет достаточно функций библиотеки Pandas, однако, есть и исключения.
Обработка Avro, статья с примером экспорта, библиотека fastavro
Некоторая часть работы была выполнена в лабораторной работе №1, можно просто переиспользовать ранее написанный код.
Данный этап подразумевает:
очистку данных от лишних символов и мусорных значений;
приведение дат, времени, числовых показателей и строковых значений к соответствующим типам данных;
приведение связанных между собой колонок к единому типу данных;
объединение фрагментов в один набор данных;
добавление корректных наименований всех колонок.
Данный этап подразумевает:
интеграцию данных из различных исходных таблиц (присоединение) для построения таблицы фактов;
вынесение и дедупликация значений категориальных переменных в отдельные таблицы измерений;
формирование идентификаторов для измерений, если они отсутствовали в исходных данных;
удаление категориальных переменных из таблицы фактов, заменяя их идентификаторами;
именование таблицы фактов с префиксом FACT_%;
именование всех таблиц измерений с префиксом DIM_%.
Выгрузку данных осуществить в структуре полученной схемы в формате Excel (xlsx) с наименованием листов по имени таблиц, и заголовков.
Отчет следует оформлять в формате docx-документа в соответствии с ГОСТ 7.32-2017. Он должен содержать:
Титульный лист;
Текст общего задания и задания по варианту;
Модель данных источника (взять из лабораторной работы №1) - для наглядности (было-стало);
Краткое концептуальное описание схемы на теоретическом уровне (что такое, как устроено и зачем) со ссылкой на источник;
Спроектированную модель данных по схеме варианта;
Снимки экрана с изображением содержимого исходных и полученных наборов данных;
Развернутые комментарии к выбору библиотек, функций и параметров для действий по преобразованию данных;
Исходный код программы;
Вывод о проделанной работе.
Направлять вложением в приличное письмо на электронную почту преподавателя сразу по готовности.