Вы находитесь на странице: 1из 17

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ


УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
ФАКУЛЬТЕТ АВТОМАТИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
КАФЕДРА ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ

ОТЧЕТ
по лабораторной работе №2
по дисциплине "Обработка и анализ данных и знаний"

Многомерные отчеты и простая аналитика

Студент: Щербаченко А.А. Преподаватель:


Группа: АПИМ-13 к.т.н.,
доцент каф. ВТ
Зыбарев В.М.

Новосибирск, 2014
1 ПОСТАНОВКА ЗАДАЧИ

Цель работы – освоить и закрепить навыки создания хранилища данных и извлечения из н е-


го информации, построения многомерных отчетов и кросс-диаграмм и их анализа.
Задачи работы:

1) спроектировать структуру реляционного хранилища данных (ХД);


2) наполнить ХД первичной информацией;
3) разработать процедуры пополнения ХД и контроль непротиворечивости содержащихся в
нем данных;
4) сформировать OLAP-отчеты и ответить на вопросы.
Исходные данные – представлены в следующих файлах:

 produces.dbf (таблица «Товары») – номенклатура товаров (фармацевтика);


 groups.dbf (таблица «Товарные группы») – группы товаров, например, витамины, желче-
гонные средства, иммуномодуляторы, анестетики, адаптогены и т.д.;
 stores.dbf (таблица «Торговые отделы») – информация о торговых отделах;
 sales.dbf (таблица «Продажи») – история продаж товаров за 1 год. Каждая транзакция со-
держит дату и время продажи, товар, количество, сумму и торговый отдел.
Список вопросов (вариант 1):
1. Построить куб по трем измерениям (торговая точки, месяц года, товарная группа), в ячей-
ках которого отображается сумма и объем (количество проданных единиц продукции) продаж за
все периоды, имеющиеся в базе данных. Какая торговая точка приносит наибольшую сумму пр о-
даж? Какая товарная группа имеет максимальную сумму продаж? Постройте кросс-диаграмму
сумм продаж: общие продажи, продажи по торговым точкам, продажи по товарным группам.
4. Найти сумму максимальной и средней стоимости покупки за последний месяц от имею-
щихся данных.
5. Сформировать многомерный отчет и график загруженности торговых точек по времени
суток и торговым точкам. На какие часы приходятся пики продаж?
6. То же, что в п. 5, но за три месяца от имеющихся данных.
11. 20 самых продаваемых товаров.
14. 5 самых популярных товаров в каждой товарной группе.
16. Товары, дающие 50% объема продаж.
18. То же, что и п. 16, но за последнюю неделю.

2
2 ВЫПОЛНЕНИЕ РАБОТЫ

2.1 Проектирование и реализация хранилища данных

Исходные данные представлены в четырех таблицах, фрагменты которых приведены ниже


на рисунках 1-4.

Рисунок 1 – Фрагмент таблицы товаров.

Рисунок 2 – Таблица отделов аптек.

Рисунок 3 – Фрагмент таблицы групп товаров.

Рисунок 4 – Фрагмент таблицы продаж.

3
Для построения хранилища данных, как правило, необходимо перестроить структуру и связи
имеющихся таблиц с целью выделения таблиц измерений и таблицы фактов. В рамках много-
мерной модели таблицы измерений содержат данные, качественно характеризующие исследуемый
процесс или объект (к измерениям также относят даты и единицы времени). Данные, описываю-
щие процесс или объект количественно, называют фактами. Каждому значению измерения в мно-
гомерной модели соответствует одно или несколько значений фактов.
В данном случае структура хранилища данных будет выглядеть, как показано на рисунке 5: в
качестве измерений выбираются таблицы товаров, групп товаров, отделов, а в качестве таблицы
фактов – таблица продаж, содержащая основные количественные данные о процессе – сумму по-
купки и количество купленных лекарств. Поля со значениями дат и единиц времени (например,
дата и время совершения покупки), также считаются измерениями, но не выносятся в отдельные
таблицы.

Группы товаров

Измерения
Товары Отделы аптек
Факты

Продажи

Сумма
Количество

Дата Час

Рисунок 5 – Структура хранилища данных вида «снежинка».

В многомерную модель Deductor Warehouse предложенная структура хранилища отобража-


ется следующим образом (рисунок 6):

 в таблице 1 поле Группа.Код является измерением, Группа.Наименование – атрибутом


измерения;
 в таблице 2 поле Товар.Код является измерением, Товар.Наименование – атрибутом изме-
рения;
 в таблице 3 поле Отдел.Код является измерением, Отдел.Наименование – атрибутом из-
мерения;
 в таблице 4 поля Дата и Час являются измерениями, поля Товар.Код и Отдел.Код, как бы-
ло сказано выше, являются измерениями, Количество и Сумма – факты.
4
Рисунок 6 – Структура метаданных хранилища и процесса продаж в «Редакторе метаданных» De-
ductor Academic 5.3.

При такой структуре ХД предполагается, что уникальность точки в многомерном простран-


стве определяется совокупностью измерений Дата+Час покупки+Товар+Отдел. Эти поля состав-
ляют уникальный первичный ключ таблицы фактов.

2.2 Наполнение хранилища данных

После создания структуры хранилища данных оно представляет собой пустой файл с настро-
енным семантическим слоем. В таком виде ХД готово к загрузке в него данных из внешних струк-
турированных источников. Для этого необходимо написать соответствующий сценарий в Deductor
Studio.
В данном случае исходными данными для ХД служат четыре dbf-файла. Академическая вер-
сия Deductor 5.3 позволяет загружать данные только из файлов текстового типа (txt – текстовый
файл с разделителями), поэтому перед импортом в Deductor файлы dbf были преобразованы в тек-

5
стовый файл при помощи Microsoft Excel 2010. На рисунке 7 приведено диалоговое окно импорта
и сценарий импорта файлов, содержащих исходные данные.

Рисунок 7 – Импорт исходных данных в Deductor.

Следующий этап – загрузка данных в хранилище. При создании сценария необходимо строго
придерживаться следующих правил [1]:
 первыми загружаются все измерения, имеющие атрибуты. Только после загрузки всех и з-
мерений загружаются данные в процесс;
 измерения нужно загружать, начиная с самого верхнего уровня иерархии и спускаясь н и-
же, в противном случае иерархия не будет создана;
 допускается не загружать отдельно измерения, не имеющие атрибутов и не состоящие в
иерархии измерений. Значения таких измерений можно создавать во время загрузки в
процесс с помощью специальной опции.
Таким образом, сначала в хранилище загружаются данные измерений в следующем порядке:
Группы Товаров, Товары, Отделы (рисунок 8); после этого загружаются данные в процесс Про-
дажи (рисунок 9). Полный сценарий загрузки приведен на рисунке 10.

Рисунок 8 – Загрузка данных в измерение: настройка соответствия полей.


6
а) б)
Рисунок 9 – Загрузка данных в процесс: а) настройка соответствия полей; б) группировка (агреги-
рование) данных перед загрузкой.

Рисунок 10 – Окончательный сценарий загрузки.

2.3 Формирование OLAP-отчетов и ответы на вопросы

Процесс получения данных из хранилища осуществляется при помощи мастера импорта. По-
строим серию отчетов согласно вопросам задания.
Вопрос 1. Построить куб по трем измерениям (торговая точки, месяц года, товарная группа),
в ячейках которого отображается сумма и объем (количество проданных единиц продукции) про-
даж за все периоды, имеющиеся в базе данных. Какая торговая точка приносит наибольшую сум-
му продаж? Какая товарная группа имеет максимальную сумму продаж? Постройте кросс-
диаграмму сумм продаж: общие продажи, продажи по торговым точкам, продажи по товарным
группам.
Построение куба по заданным измерениям выполняется при помощи мастера импорта (тип
источника данных – Deductor Warehouse). На третьем шаге работы мастера требуется выбрать, ка-

7
кие измерения и факты будут входить в куб, а также вид агрегации фактов – в данном случае в ви-
де суммы (рисунок 11а).
Для построения OLAP-отчета требуется отдельное измерение Месяц, а в нашем распоряже-
нии имеется только измерение Дата. Измерение Месяц извлекается из измерения Дата при помо-
щи обработчика «Дата и время» (располагается в мастере обработки). Таким образом, общий сце-
нарий создания построения куба будет включать два узла (рисунок 11б).

б)

а)
Рисунок 11 – а) выбор импортируемых измерений и фактов, а также настройка вида агрегации
фактов; б) фрагмент сценарий построения OLAP-куба.

Рисунок 12 – OLAP-отчет о продажах в разрезе месяца года, товарной группы и аптеки.


8
После построения куба по заданным измерениям путем различных манипуляций с измерени-
ями можно получить ответы на требуемые вопросы.
Для того чтобы узнать, какая из торговых точек приносит наибольшую сумму продаж, до-
статочно оставить в кубе только одно измерение Отдел.Наименование и скрыть остальные; для
большей наглядности можно построить соответствующую кросс-диаграмму (рисунок 13). Из визу-
ального сравнения столбиков кросс-диаграммы (гистограммы) следует, что наибольшую сумму
продаж приносит аптека №1. Аналогичным образом находится товарная группа, приносящая
наибольшую сумму продаж – из рисунка 14 видно, что наибольшей популярностью пользуются
товары из групп «Витамины и витаминоподобные средства», «Антисептики и дезинфицирующие
средства» и «Иммуномодуляторы».
Можно перестроить измерения куба таким образом, чтобы стала доступной для анализа об-
щая динамика продаж за год по месяцам (рисунок 15). Из анализа общей динамики продаж следу-
ет, что пик продаж приходится на вторую половину осени (октябрь, ноябрь) и начало зимы (де-
кабрь). Такое поведение диаграммы закономерно совпадает с активизацией осенних простудных
заболеваний у населения и активной покупкой различных витаминных и иммуномодулирующих
препаратов, что коррелирует с диаграммой рисунка 14. Аналогичными причинами можно объяс-
нить небольшой рост продаж в апреле и спад продаж к летнему сезону.

Рисунок 13 – OLAP-отчет о продажах в разрезе аптек.

9
Рисунок 14 – OLAP-отчет о продажах в разрезе товарных групп.

Рисунок 15 – OLAP-отчет об общей динамике продаж по месяцам года.

10
4. Найти сумму максимальной и средней стоимости покупки за последний месяц от имею-
щихся данных.
Ответ на вопрос можно получить несколькими способами. В данном случае в OLAP-куб бы-
ло добавлено еще два вида агрегации факта «Сумма» – среднее и максимум. Последний месяц от
имеющихся данных можно узнать при помощи соответствующих настроек фильтрации либо про-
сто выбрать измерение Месяц и скрыть остальные, тогда становится доступной необходимая ин-
формация по месяцам. Результат описанных действий приведен на рисунке 16.

Рисунок 16 – OLAP-отчет в разрезе месяца года с тремя видами агрегации фактов.

5. Сформировать многомерный отчет и график загруженности торговых точек по времени


суток и торговым точкам. На какие часы приходятся пики продаж?
Требуемый многомерных отчет строится так же как и в предыдущих пунктах – путем
перестройки измерений по строкам и столбцам кросс-таблицы. В данном случае для
формирования отчета о загруженности необходимо выбрать факт «Количество» и способ
агрегации Сумма. Для упрощения анализа и ответа на вопрос можно построить соответствующие
кросс-диаграммы, визуализирующие текущую конфигурацию OLAP-куба (рисунок 17). Из
сравнительного анализа столбиков диаграмм следует, что пики продаж аптек приходятся на
утренний период – с 11 по 13 часов, и вечерний период – с 17 по 19 часов. В целом, активные
продажи начинаются в 9-10 часов утра и длятся до 20 часов вечера, после чего следует сильный
спад. Подобная диграмма с динамикой продаж может быть полезной при формировании
расписания работы сети аптек.
Торговой точкой, дающей максимальный объем продаж за год, является аптека №1 (рисунок
18).
11
Рисунок 17 – OLAP-отчет о загруженности торговых точек по времени суток.

Рисунок 17 – OLAP-отчет о загруженности торговых точек.

6. То же, что в п. 5, но за три месяца от имеющихся данных.


Для того чтобы в куб вошли только данные за последние три месяца, необходимо отфиль-
тровать данные (применить мастер обработки «Фильтрация») по измерению Дата (рисунок 18).

12
Рисунок 18 – Фильтрация данных по дате.

Рисунок 19 – Объем продаж аптек за последние три месяца.

11. 20 самых продаваемых товаров.


Для ответа на вопрос необходимо провести фильтрацию данных в кубе так, как показано на
рисунке 20. Результат фильтрации, а также сортировке по значению факта «Количество», приво-
дится на рисунке 21.

13
Рисунок 20 – Окно селектора.

Рисунок 21 – 20 самых продаваемых товаров.

16. Товары, дающие 50% объема продаж.


Требуемая выборка строится путем фильтрации по измерению Товары, условие – Доля от
общего, значение 50 (рисунок 22). Результат фильтрации, а также сортировки значений факта
«Сумма» по убыванию, приведен на рисунке 23. Анализ построенного куба показывает, что поло-
вину выручки аптек составляют препараты из групп витамин, иммуномодуляторов и антисепти-
ков, что коррелирует с результатами, полученными выше при ответе на предыдущие вопросы (ри-
сунки 14 и 21).

14
Рисунок 22 – Настройка фильтрации.

Рисунок 23 – Товары, приносящие 50% всей выручки аптек.


18. То же, что и п. 16, но за последнюю неделю.
К результирующей выборке применяется фильтрация по дате. Остальные действия анало-
гичны предыдущему пункту. Результаты – на рисунке 24.

Рисунок 24 – Товары, приносящие 50 выручки аптек за последнюю неделю от имеющихся данных (25-31
декабря 2004 года).
15
ВЫВОДЫ

В работе проведено решение задачи анализа многомерных данных при помощи средств в и-
зуального OLAP-анализа.
Исходные данные задачи (объемы и суммы продаж сети аптек за 2004 год) представлены
набором таблиц. По условию задачи требовалось получить ответы на заданные вопросы путем
OLAP-анализа предоставленных данных. Процесс решения задачи состоял из следующих этапов:

1) анализ структуры таблиц, разделение данных на количественные и качественные;


2) проектирование структуры хранилища данных (выявление измерений и фактов) и его реа-
лизация в редакторе метаданных Deductor;
3) подготовка и загрузка исходных данных в созданное хранилище;
4) получение ответов на заданные вопросы путем формирования необходимых OLAP-кубов
(срезов) и их последующего анализа и интерпретации.
Типовой алгоритм действий для ответов на вопросы выглядел следующим образом:

1) построение OLAP-куба по выбранным измерениям и фактам;


2) выбор вида агрегации фактов;
3) различные манипуляции заголовками измерений с целью получения наиболее информа-
тивного представления куба и соответствующей кросс-диаграммы;
4) интерпретация полученных результатов.
Таким образом были обнаружены некоторые общие закономерности в данных:

1) иммуномодулирующие, витаминоподобные и антисептические средства являются наибо-


лее продаваемыми в течение всего года;
2) в осенне-зимний период увеличивается продажа иммуномодулирующих и витаминопо-
добных средств, но на летний период объемы продаж этих категорий препаратов падают,
при этом увеличиваются продажи антисептиков;
3) объемы и суммы продаж аптеки №1 более чем в два раза превосходят аналогичные пока-
затели других аптек (в разрезе года).
Подобные сведения могут быть полезны, например, при планировании закупок товара для
сети аптек на будущие периоды (квартал, год).
Таким образом, средства OLAP-анализа пакета Deductor позволяют посредством достаточно
простых манипуляций с заголовками измерений куба последовательно перебирать возможные ва-
рианты представления данных, и с их помощью сопоставлять, сравнивать данные, выявлять скры-
тые особенности, закономерности и связи между элементами данных, выдвигать гипотезы и т.п.

16
Стоит отметить, что OLAP-анализ в отличие от методов Data Mining является, по сути, руч-
ным средством анализа, несмотря на значительную автоматизацию по работе с хранилищем дан-
ных (сокрытие от пользователя всех sql-запросов к базе данных). Аналитику все же приходится
самостоятельно выбирать структуру куба и манипулировать его измерениями, чтобы извлечь из
данных полезную информацию. Такой подход имеет практическую ценность для первичного ис-
следования многомерных данных и получения простой аналитики, особенно в случае низкого ка-
чества исходных данных, когда методы Data Mining могут быть малоэффективными [1,2].

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

1. Паклин Н.Б., Орешков В.И. Бизнес-аналитика: от данных к знаниям (+CD): Учебное по-
собие. 2-e изд., испр. – СПб.: Питер, 2013. – 704 с.: ил.
2. Чубукова И.А. Data Mining: Учебное пособие. – М.: Интернет-Университет Информаци-
онных Технологий; БИНОМ. Лаборатория знаний, 2006. – 382 с.: ил., табл.

17

Вам также может понравиться