Aбракадабра.py








Учебные материалы для студентов

Здравоохранение, медицина



Здравоохранение, медицина



Создание многомерных отчетов (OLAP-кубов) и кросс-диаграмм и их анализ. Добавление в ХД новых измерений и процессов


Последовательно проделать все действия, перечисленные ниже.

1. После создания и наполнения хранилища информацию из него можно извлекать Мастером импорта, выбрав в качестве источника Процесс Прихода товаров их ХД Local_Warehouse_Ivanov и отметив все измерения и факты.

По окончанию импорта в качестве способа отображения данных выбрать Куб (Таблицу отключить).

Настроить поля следующим образом:

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

Назвать узел Приход в разрезе групп и товаров. В итоге получится куб по двум измерениям.

Внимание! Если необходимо изменить настройки у существующего узла, его можно удалить с помощью кнопки на панели сценариев и проделать всю процедуру заново или с помощью кнопки изменить уже существующие настройки.

2. Имеется возможность перестраивать таблицу с помощью мыши, перетаскивая поля с заголовками измерений или с помощью кнопки настройки размещения полей . Изменять расположение измерений можно, используя операцию транспонирования таблицы (кнопка ). Выполнить различную перенастройку полей. После чего вернуться к первоначальному варианту.

3. Предусмотрено пять способов объединения (агрегирования) фактов в кросс-таблице:

- сумма – вычисляется сумма объединяемых фактов;

- минимум – среди всех объединяемых фактов в таблице отображается только минимальный;

- максимум – среди всех объединяемых фактов в таблице отображается только максимальный;

- среднее – вычисляется среднее значение объединяемых фактов;

- количество – в кросс-таблице будет отражаться количество объединенных факторов.

Для изменения способа агрегации фактов используется кнопка настройки размещения полей . Установить в качестве способа агрегирования – среднее. Затем опять восстановить суммирование.

4. Есть возможность отображать факты не только их значениями, но и в процентах по строкам или столбцам кросс-таблицы. Для изменения такого способа отображения нужно нажать кнопку . Установить вместо значений – процент по вертикали. Восстановить показ значений.

5. В кросс-таблице факты отображаются с двумя знаками после запятой и выровнены по правому краю ячейки. Есть возможность изменить форматирование ячеек таблицы с помощью кнопки настройки отображения фактов . Установить число десятичных знаков – 0.

6. С помощью кнопки детализации просмотреть состав агрегированных данных. Например, общее количество оприходованного товара - Анальгин1 определяется 10 записями о его приходе.

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

Включать или исключать значения можно, устанавливая или снимая галочку рядом с наименованием. Кнопки внизу списка означают:

«+» - установить все галочки;

«-» - убрать все галочки;

«*» - инверсия, все сброшенные галочки устанавливаются, а все установленные – сбрасываются;

«V» - применить все изменения для построения таблицы;

«Х» - отменить все сделанные изменения.

Выбрать просмотр групп: анальгизирующие и антибиотики. Восстановить все значения измерения.

8. Более мощным инструментом фильтрации данных в кросс-таблице является селектор – кнопка . Фильтрация может производиться двумя способами:

- по значениям измерений, путем непосредственного выбора значений из списка, или отбора их по условию. Фильтрация выполняется отдельно по каждому измерению;

- по значениям фактов.

В окне фильтрации слева отображаются все измерения и факты кросс-таблицы. Если выделено измерение, как это продемонстрировано на рисунке выше, то в правой части окна можно выбирать или исключать те или иные значения измерения (процедура аналогична описанной выше).

Если выделено поле-факт, справа находятся элементы:

- Измерение. Фильтрация подразумевает, что в таблице останется лишь часть значений некоторого измерения. Это поле задает измерение, значения которого будут отфильтрованы;

- Факт. В кросс-таблице может содержаться один или более фактов. Фильтрация будет происходить по значениям выбранного здесь факта.

- Агрегация. Выбор функции агрегирования. В результате будут выбраны только те записи, агрегированные значения которых удовлетворяют выбранному условию;

- Условие. Условие отбора записей по значениям выбранного факта.

Поле условие может принимать следующие значения:

- Первые N. Значения измерения сортируются в порядке убывания факта и выбираются первые N значений измерений.

- Последние N. Значения измерения сортируются в порядке убывания факта и выбираются последние N значений измерений.

- Доля от общего. Значения сортируются в порядке убывания факта. В этой последовательности выбирается столько первых значений измерений, что они в сумме давали заданную долю от общей суммы.

- Диапазон. Результатом отбора будут записи, для которых значения соответствующего факта лежит в заданном диапазоне.

- Больше (?,<,?,=,?). Будут отобраны записи, значение соответствующего факта, для которых будет больше (?,<,?,=,?) указанного значения соответственно.

Вывести список из 5 товаров с наименьшим по количеству приходом. В этом случае селектор будет выглядеть следующим образом:

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

Самостоятельно изменить вид диаграммы, установить метки и изучить назначение всех кнопок на панели окна кросс-диаграммы.

10. Создать с помощью Мастера импорта из вашего ХД Процесса Приход товаров узел Приход групп по датам куб со следующей настройкой полей и настройкой размещения полей куба

Полученная таким образом кросс-таблица отражает поступление товара по конкретным данным. Такая детализированная информация является излишней и неинформативной. Более информативной является информация, отнесенная к определенному периоду времени (неделя, месяц, квартал, год). Тип интервала для поля даты задается аналитиком в зависимости от поставленной задачи. Выполнить преобразование даты по месяцам. Для этого выделить узел Приход групп по датам и на панели сценариев нажать кнопку мастера обработки или клавишу F7и выбрать Дата и время. На следующем шаге выбрать поле Дата и установить (снять) флажки следующим образом:

Способом отображения выбрать Куб (удалить флажок с Таблицы) и настроить назначение полей куба следующим образом:

Настройку полей размещения куба выполнить по образу:

Заголовок для узла использовать по умолчанию заданный - Преобразование даты (ДатаПрихода: Месяц).

11. С помощью обработчика Фильтрация можно оставить в таблице только те записи, которые удовлетворяют заданным условиям, а остальные скрыть (в отличие от обычной фильтрации в рамках поученной кросс-таблицы фильтр можно наложить на поля, неиспользуемые для ее построения).

Выделить узел Преобразование даты (ДатаПрихода: Месяц) и выбрать в Мастере обработке пункт Фильтрация. Задать условие на поле ОкончСрокаГодности:

Дальнейшие настройки установить так же как и для пункта 10 задания. Имя узла присвоить по умолчанию заданный - Фильтр ([ОкончСрокаГодности] <= '01.09.2005'). Детализировать полученные результаты.

12. Часто возникает необходимость на каком-либо этапе обработки данных получить на их основе новые (производные) данные. Такую возможность предоставляет инструмент Калькулятор в Мастере обработки.

Выделить на дереве сценариев узел Преобразование даты (ДатаПрихода: Месяц), вызвать Мастер обработки и выбрать пункт Калькулятор. В окне Конструктор выражений название Выражение заменить на Сумма поставки, двойным щелчком мыши выбрать из расположенного ниже окна столбец КоличествоПрих, выбрать операцию «*» и столбец ЦенаЗакупки. В правом верхнем углу диалогового окна появиться комбинация из внутренних (автоматически присвоенных) имен этих полей.

Способом отображения выбрать Куб (удалить флажок с Таблицы) и настроить назначение полей куба следующим образом:

Установить настройку размещения полей куба:

Имя узла присвоить по умолчанию заданный - Калькулятор: Сумма поставки. Транспонировать таблицу.

13. Произвести загрузку в ХД нового измерения и процесса. Запустить Мастер импорта, выбрать в качестве источника данных MS Access - базу данных Сеть розничных аптек.mdb - таблицу Аптеки. Указать имя узла – Импорт Аптек.

14. Аналогичную процедуру повторить для импорта данных из таблицы Реализация за 30 июня (имя узла – Импорт Реализации за 30 июня).

15. Так как процесс реализации товара не содержит ссылку на группу, к которой продаваемый товар относится, его архитектура не имеет форму «звезды». Измерение КодГруппы опосредованно (через измерение КодТовара) участвует в процессе реализации товара. Отсутствие измерения в процессе не позволит строить аналитические отчеты в разрезе групп товаров. Чтобы исправить это, на узле Импорт Реализации за 30 июня нужно вызвать Мастер обработки. Выбрать команду Слияние, затем в качестве источника данных указать - MS Access, в качестве файла базы данных - Сеть розничных аптек.mdb и в качестве таблицы - Товары. При слиянии на шаге 6 мастера задать общие поля двух таблиц, которые называются измерениями. В нашем случае измерением служит поле КодТовара, фактом – поле КодГруппы.

После слияния к исходной таблице добавятся поля-факты (узел Слияние для создания звезды1).

16. Загрузить в ХД измерение КодАптеки со свойством НаименованиеАптеки.

Для этого выделить узел Импорт Аптек на дереве сценариев и вызвать Мастер экспорта. В качестве источника выбрать Измерение и в списке доступных ХД указать Local_Warehouse_Ivanov. Появиться список ранее загруженных измерений. Для загрузки нового измерения выбрать Создать новое измерение. Появиться окно редактора измерений, в котором КодАптеки – измерение, а НаименованиеАптеки – свойство. После стандартного прохождения всех этапов Мастера экспорта присвоить имя узлу – Экспорт в ХД измерения Аптеки.

17. Данные из таблицы на узле Слияние для создания звезды1 загрузить в ХД в виде нового процесса с именем Процесс Реализации за 30 июня. Оставить в качестве факта поле КоличествоРасх, все остальные поля сделать измерениями. Присвоить узлу экспорта процесса имя Экспорт в ХД процесса Реализации за 30 июня.

В результате всех проделанных выше действий дерево сценариев примет вид:

18. Сформировать многомерный отчет загруженности каждой аптеки по времени суток. В качестве показателя загруженности обычно выбирается количество выбитых чеков (в нашем упрощенном варианте предполагается, что каждый покупатель приобретает только один лекарственный препарат, поэтому количество чеков определяется полем КодРеализации).

Выбрать Мастер Импорта – Процесс – ХД – Процесс Реализации за 30 июня. Выделить все измерения и факт. В качестве способа отображения данных выбрать Куб, со следующей настройкой полей

и порядком их размещения

Следует обратить внимание, что КодРеализации выступает в роли факта и для него выбрана функция агрегации – Количество. Присвоить узлу имя Загруженность аптек.

19. Полученная кросс-таблица с посекундной разбивкой времени является громоздкой и малоинформативной. Более информативной будет агрегированная информация за каждый час. Для этого выделить узел Загруженность аптек и применить к нему Мастер обработки – Дата и время и для поля ДатаВремя выбрать в сроке разбиение на часы:

Все последующие шаги такие же, как и в п.18, с тем лишь отличием, что вместо поля ДатаВремя в качестве измерения выбрать ДатаВремя (Часы). Присвоить узлу имя Преобразование даты (ДатаВремя: Часы).

Кросс-диаграмма для этого узла выглядит следующим образом:

Теперь можно интерпретировать результаты. Как видно из кросс-диаграммы в работе всех трех торговых точек есть два пика загруженности – в районе 12-14 и 16-18 часов. Первый пик приходится на обеденный перерыв в организациях, второй – на окончание рабочего дня. Именно в это время может потребоваться привлечение дополнительных продавцов. Среднее число покупок в аптечном комплексе с 6-11 часов, также как в аптеке №1 с 6-8 часов очень невелико. Поэтому имеет смысл убрать эти часы из рабочего графика аптек. У аптечного комплекса не наблюдается вечернего спада продаж, поэтому можно попробовать продлить рабочий день аптечного комплекса до 24 часов, чтобы оценить эффективность его работы в это время.

20. Определить сумму продаж по всем аптечным точкам по каждой категории товаров.

Выбрать Мастер Импорта – Процесс – ХД – Процесс Реализации за 30 июня. Выделить все измерения и факт. В качестве способа отображения данных выбрать Куб, со следующей настройкой полей и порядком их размещения

Присвоить узлу имя Продажи по аптекам и группам. Сделать выводы по кросс-таблице или кросс-диаграмме.

Выделить только что созданный узел и применить к нему Мастер обработки – Калькулятор. Окно конструктора выражений заполнить по образцу:

На последующем этапе мастера в качестве фактов выбрать – КоличествоРасх и Сумма продаж, а в качестве измерений – НаименованиеАптеки и Группа. Присвоить узлу имя Калькулятор: Сумма продаж. На основе кросс-таблицы сделать выводы.

21. Предположим, что все три аптечные точки открылись только 30 июня и реализация во втором квартале осуществлялась только один день. Создать кросс-таблицу для просмотра остатков каждого наименования товара.

Сначала следует определить количество оприходованного товара. Выбрать Мастер Импорта – Процесс – ХД – Процесс Прихода товаров. Выделить все измерения и факт. В качестве способа отображения данных выбрать Куб, со следующей настройкой полей

Присвоить узлу имя Приход товаров.

К этому узлу применить Мастер обработки – Слияние – Процесс – ХД – Процесс Реализации за 30 июня. Выделить все измерения и факт. В качестве импортируемых данных выделить измерение – КодТовара (для связи процессов прихода и реализации) и факт – КоличествоРасх.

Связь между наборами данных установить следующим образом:

В качестве способа отображения данных выбрать Куб, со следующей настройкой полей:

Присвоить узлу имя Слияние Прихода и Расхода.

Выделить этот узел, вызвать Мастер обработки – Калькулятор. Окно конструктора выражений заполнить по образцу:

На последующем этапе мастера в качестве факта выбрать – Остаток, а в качестве измерения – НаименованиеТовара. Присвоить узлу имя Калькулятор:Остаток.

22. Построить куб по двум измерениям (НаименованиеАптеки и НаименованиТовара), в ячейках которого отображается количество и стоимость реализованных лекарственных средств. Продемонстрировать возможности фильтра: вывести 5 самых продаваемых товаров и список товаров, дающих 50% от продаж.







(c) Aбракадабра.py :: При поддержке InvestOpen