© Валентин Юльевич Арьков, 2020
ISBN 978-5-4498-4910-6
Создано в интеллектуальной издательской системе Ridero
Предисловие
Перед вами продолжение серии работ, позволяющих познакомиться с основными технологиями бизнес-аналитики. Как ни странно, многое можно сделать в рамках пакета Excel, который теперь выступает в роли знакомого и интуитивно понятного интерфейса к продвинутым инструментам анализа данных.
В данной работе мы рассмотрим создание реляционной модели данных, а также построение и визуализацию иерархии в агрегированных данных с использованием надстроек Power Pivot и Power View для Excel.
Введение
В предыдущих работах мы рассмотрели базовый инструмент анализа данных – сводные таблицы PivotTables. Затем мы познакомились со средствами ETL (извлечения, преобразования и загрузки данных) – Get & Transform / Power Query.
В данной работе мы сделаем следующий шаг в освоении средств бизнес-аналитики – рассмотрим модель данных и надстройку Power Pivot. Мы познакомимся с ними на примере Microsoft Excel в сочетании с надстройками из программного комплекса Power BI.
Power Pivot позволяет работать с гораздо бóльшими объёмами данных, чем стандартный Excel. Напомним, что в пакете Excel максимальное количество строк на одном листе составляет чуть больше ОДНОГО МИЛЛИОНА. Использование специализированной надстройки снимает это ограничение.
Название Power Pivot говорит о том, что это средство для обобщения данных: Pivot Table – это сводная таблица. Слово Power означает, что это часть программного комплекса Power BI.
Power Pivot позволяет обрабатывать данные и вычислять обобщённые показатели, которые затем можно представить на экране с помощью разнообразных средств визуализации:
– Excel;
– Power View;
– Power Map / 3D Maps;
– Power BI Dashboards.
Задание. Прочитайте статью «Power Pivot» в английской версии Википедии. При необходимости используйте машинный перевод, например, в браузере Google Chrome. Выясните, какую модель аналитической обработки реализует Power Pivot.
Модель данных
Построение сводных таблиц и агрегирование данных может выполняться по нескольким таблицам с использованием модели данных.
Английское название: Data Model.
Модель данных в Excel соответствует логической структуре реляционной базы данных. Данные расположены в нескольких таблицах, которые связаны друг с другом по ключевому полю.
Модель данных можно импортировать из базы данных либо сформировать вручную.
Надстройка PowerPivot позволяет работать с визуальным преставлением модели данных и создавать связи «один ко многим».
Задание. Прочитайте в Википедии статьи «База данных» и «Система управления базами данных». Выясните, чем отличаются эти два понятия.
Задание. Прочитайте в Википедии статью «Модель данных» и выясните, чем различаются МОДЕЛЬ ДАННЫХ и МОДЕЛЬ БАЗЫ ДАННЫХ.
Задание. Прочитайте в английской версии Википедии статьи «Logical schema» и «Physical schema». Выясните, чем различаются логическая и физическая модели (схемы) базы данных.
Отчёт по работе
Отчёт оформляется в виде многостраничной рабочей книги Excel. Отчёт начинается с титульного листа. Далее идёт оглавление. Затем следуют основные страницы отчёта.
Подробности оформления мы подробно описали в предыдущих пособиях [6]. При необходимости можно обратиться к этим материалам.
Задание. Создайте рабочую книгу Excel и организуйте в ней титульный лист и оглавление – в соответствии с рекомендациями из предыдущих работ.
Созданный файл нужно сохранить в файле под коротким, простым и понятным названием.
Зачем нужно стараться и правильно называть файлы? Это уважение к себе и к другим.
Этот файл отправится по электронной почте, а то и в систему дистанционного обучения. А там таких файлов видимо-невидимо. Хорошее название файла очень помогает. Так же, как и хорошая тема электронного письма. Так же, как и понятное имя отправителя в электронном письме.
Представьте, что преподаватель получает письмо, где нет темы, отправитель указан как Масяня2009 <[email protected]>, а приложенный файл назван МойОтчёт. xlsx. В тексте письма говорится: «Отчёт по лабам». Поможет ли это в общении?
Задание. Сохраните файл под коротким информативным названием.
Напомним, что результаты выполнения каждого задания нужно отразить в своём отчёте. Например, в задании говорится: «Выясните, какие надстройки для Excel используются в составе Power BI». Это означает не просто «узнать что-то для себя и никому не об этом не рассказывать». Это задание требует, чтобы вы сообщили о результатах своих изысканий в отчёте. Для этого можно завести отдельную страничку.
Задание. Прочитайте в Википедии статью «Power BI» и выясните, какие компоненты входят в состав Power BI Desktop. Опишите результаты изысканий на отдельной странице отчёта.
Анализ данных в PowerPivot
1. Установка или активизация Power Pivot
Надстройка Power Pivot входит в состав многих версий Microsoft Office и Microsoft Excel. Многих, но не всех.
Задание. Прочитайте статью «Where is Power Pivot?» на сайте поддержки:
Выясните, входит ли Power Pivot в состав вашей версии пакета Microsoft Office.
Проверим, установлена ли настройка в нашем случае.
Вызываем в верхнем меню
File – Options.
Появляется диалоговое окно Excel Options.
Выбираем раздел Add-ins (рис. 1.1).
В разделе неактивных надстроек находим Microsoft Power Pivot for Excel:
Inactive Application Add-ins.
Обратим внимание на тип надстройки Type:
COM Add-in.
Наша задача – активировать надстройку и увидеть её в разделе активных надстроек:
Active Application Add-ins.
Рис. 1.1. Список надстроек Excel
Задание. Проверьте наличие надстройки Power Pivot.
Находим в нижней части окна выпадающий список Manage.
Выбираем в списке наш тип надстройки COM Add-ins (рис. 1.2).
Нажимаем кнопку
Go.
Рис. 1.2. Выбор типа надстройки
Задание. При необходимости активируйте надстройку.
Появляется диалоговое окно
COM Add-ins (рис. 1.3).
Ставим выбор нашей надстройки.
Заодно выбираем остальные надстройки с названием Microsoft Power <…> for Excel. Слово Power намекает на инструментарий Power BI.
Нажимаем ОК.
Рис. 1.3. Активация надстроек
Убедимся, что надстройки активированы:
File – Options – Excel Options – Add-ins.
Все надстройки в нужном разделе:
Active Application Add-ins.
Рис. 1.4. Надстройки активированы
Задание. Активируйте надстройки Power ***.
Попутно познакомимся с этим названием COM.
Задание. Прочитайте в Википедии статью «Component Object Model» и выясните, в каких операционных системах реализована модель COM.
На всякий случай обновим Microsoft Office:
File – Account – Product Information – Office Updates – Update Options – Update Now (рис. 1.5).
Рис. 1.5. Настройка обновления
Если у нас установлена последняя версия пакета, нам об этом сообщат (рис. 1.6)
Рис. 1.6. Обновление не требуется
Задание. При необходимости обновите пакет.
В некоторых случаях надстройку потребуется скачать и установить. Для этого можно открыть страницу центра загрузки:
https://download.microsoft.com
Вводим ключевые слова в строке поиска:
Power Pivot Excel.
Получаем некоторые подсказки по версиям пакета (рис. 1.7).
Рис. 1.7. Поиск загрузки
При просмотре результатов поиска лучше сразу перейти на вкладку
Explore.
Обнаруживаем, какое количество страниц на эту тему нам предлагают (рис. 1.8).
Рис. 1.8. Результаты поиска
Задание. Выполните поиск материалов в Центре загрузки Microsoft по следующим ключевым словам:
– Power Pivot Excel;
– Power Pivot Excel 2010.
Обратите внимание на количество найденных ссылок и возможности скачивания надстройки.
2. Загрузка из базы данных
При загрузке информации из реляционной базы данных можно получить не только таблицы, но и использовать связи между ними.
Для наших опытов нам понадобится скачать в Центре загрузки файл под следующим названием (рис. 2.1):
olympicmedals.accdb.
В этом файле находится готовая, заполненная база данных Microsoft Access, предназначенная для опытов с загрузкой данных в Excel.
В базе данных собраны сведения о результатах олимпийских игр по разным видам спорта за многие годы.
Рис. 2.1. Поиск файла
Задание. Найдите файл olympicmedals.accdb в Центре загрузки и скачайте его. Разместите файл в рабочем каталоге, где вы сохраняете файлы для данной работы.
Для загрузки данных из файла в формате Microsoft Access *.accdb выбираем следующий пункт в верхнем меню:
Data – Get & Transform Data – Get Data – From Database – From Microsoft Access Database (рис. 2.2).
Рис. 2.2. Загрузка данных из файла Access
Появляется диалоговое окно
Import Data.
Заходим в нужный каталог.
Выбираем файл для загрузки (рис. 2.3).
Нажимаем кнопку
Import.
Рис. 2.3. Выбор файла для загрузки
Задание. Выберите файл для загрузки.
Появляется диалоговое окно
Navigator (рис. 2.4).
В левой части окна выводится список таблиц, найденных в выбранном файле.
Щёлкаем по любой таблице в списке.
В правой части окна выводится содержимое выбранной таблицы. Мы можем заглянуть в каждую таблицу и только потом загрузить её в Excel.
Чтобы воспользоваться функцией предварительного просмотра, должно быть установлено разрешение:
Display options – Enable Data Previews.
Рис. 2.4. Предварительный просмотр таблицы
Задание. Просмотрите содержимое каждой найденной таблицы.
Отключим предварительный просмотр.
Выбираем любую таблицу в списке.
Нам сообщают, что просмотр отключён:
Preview is disabled (рис. 2.5).
Рис. 2.5. Просмотр отключён
Задание. Отключите предварительный просмотр и выберите любую таблицу в списке. Снова разрешите предварительный просмотр.
Попробуем загрузить все найденные таблицы.
Включаем предварительный просмотр.
Устанавливаем разрешение на загрузку нескольких таблиц.
Select multiple items.
Выбираем все таблицы (рис. 2.6).
Некоторые ячейки в таблицах могут оказаться незаполненными. Тогда мы увидим соответствующее сообщение:
null.
Рис. 2.6. Выбор таблиц
Задание. Установите выбор всех таблиц.
В окне выбора таблиц есть возможность найти таблицы, которые явно связаны друг с другом.
Выбираем первую таблицу.
Нажимаем на кнопку
Select Related Tables.
Программа выбирает связанные таблицы.
Можно проверить таким образом каждую таблицу на наличие связей. Результаты совсем не обязательно будут очевидными и ожидаемыми.
Рис. 2.7. Связанные таблицы
Задание. Выберите каждую таблицу по очереди и выясните, какие таблицы с ней связаны.
Мы познакомились с окном выбора таблиц. Теперь пора переходить к загрузке данных.
Снова выбираем все таблицы.
Нажимаем кнопку загрузки:
Load.
Рассмотрим результаты загрузки.
В правой части окна Excel открывается список выполненных запросов на загрузку данных:
Queries & Connections.
Это должно быть нам знакомо по предыдущей работе. Тогда мы работали с набором инструментов Get & Transform и с надстройкой Power Query.
В разделе Queries нам сообщают, что было выполнено пять запросов:
5 queries.
Кроме того, радом с названием запроса указано количество загруженных строк.
Подведём курсор к любому запросу. Нам выводят подробные сведения об источнике данных (рис. 2.8).
Название таблицы:
S_Teams.
Далее идёт область предварительного просмотра.
Названия загруженных столбцов:
Columns [4] – Event, Discipline, Sport, Participation.
Время последнего обновления результатов запроса:
Last refreshed.
Указан источник данных:
Data Sources [1] – каталог и файл.
Между прочим, нам намекают про возможность загрузить данные сразу из нескольких источников.
Кроме того, здесь говорится, что данные из выбранной таблицы были загружены в «Модель данных»:
Load status – Loaded to Data Model.
Рис. 2.8. Запросы на загрузку данных
Задание. Ознакомьтесь с описанием каждого запроса.
Мы загрузили данные. Переходим к анализу.
Создадим сводную таблицу:
Insert – Tables – PivotTable.
Появляется диалоговое окно создания сводной таблицы:
Create PivotTable (рис. 2.9).
В качестве источника данных нам сразу предлагают использовать модель данных, которая уже создана в текущей рабочей книге:
Choose the data you want to analyze – Use this workbook’s Data Model.
Нажимаем ОК.
Рис. 2.9. Создание сводной таблицы на основе модели данных
Задание. Создайте сводную таблицу по модели данных.
Появляется заготовка сводной таблицы и меню настройки полей:
PivotTable Fields.
Можно сравнить список таблицы в списке запросов и в списке полей сводной таблицы. Надеемся, что они совпадут.
Обратим внимание, что после загрузки таблиц сами исходные данные на экран не выводятся. Мы видим только сообщения о существующей модели данных.
Рис. 2.10. Поля сводной таблицы
Задание. Сравните списки таблиц в запросах и в сводной таблице.
Посмотрим повнимательнее на список полей сводной таблицы.
Значки таблиц намекают на базу данных – цилиндр как символ компьютерного диска (то есть база данных) на фоне таблички.
Каждая таблица на самом деле – это раскрывающийся список. Щёлкаем по значку> слева от названия таблицы и получаем список полей данной таблицы. Чтобы свернуть список полей, щёлкаем по значку слева от названия таблицы.
Задание. Ознакомьтесь с полями каждой таблицы в списке полей сводной таблицы.
Наводим курсор на любую таблицу. Появляется всплывающая подсказка – сообщение про источник данных:
Data Source: Query – Medals.
Здесь явно указано, что данные получены с помощью запроса на загрузку (рис. 2.10).
Задание. Ознакомьтесь с источником данных по каждой таблице.
Вернёмся к источнику данных.
Откроем наш исходный файл базы данных в пакете Microsoft Access. Для этого достаточно просто дважды щёлкнуть по файлу в Проводнике. Конечно, при этом сам пакет Access должен быть установлен на компьютере. Если нет, то для нашего опыта придётся его установить.
В верхнем меню находим следующий пункт:
Database Tools – Relationships – Relationships.
Читаем всплывающую подсказку (рис. 2.11).
Рис. 2.11. Построение схемы базы данных
Задание. Откройте файл базы данных в Access и прочитайте описание функции Relationships.
Нажимаем на кнопку Relationships.
На экране появляется схема базы данных (рис. 2.12).
Видим, что здесь всего одна связь типа «один ко многим» между двумя таблицами.
Три оставшиеся таблицы оказались сами по себе.
Вспоминаем, как мы рассматривали связанные таблицы при загрузке таблиц из файла базы данных – на одном из предыдущих шагов, несколько страниц тому назад. Это было в диалоговом окне Navigator. Там мы тоже увидели, какие таблицы связаны между собой, а какие – нет.
Рис. 2.12. Модель базы данных
Задание. Постройте схему / структуру базы данных в Access. Изучите связи между таблицами в базе данных. Сравните с результатами отображения связанных таблиц в процессе загрузки
Мы создали сводную таблицу. Пришло время настроить поля.
Как и в предыдущих работах, мы просто перетаскиваем поля исходных таблиц в области строк, столбцов, фильтров и значений. В этот раз мы перетаскиваем поля не из общего списка, а из списка полей отельной исходной таблицы.
Настроим сводную таблицу следующим образом:
По столбцам расположим страну национального оргкомитета:
Columns: Medals – NOC_CountryRegion.
По строкам расположим виды спорта:
Rows: Disciplines – Discipline.
Организуем фильтрацию по медалям:
Filters: Medals – Medal.
В качестве обобщённого показателя найдём количество медалей:
Values: Medals – Medal.
Обратите внимание на автоматическое вычисление количества медалей Count of Medal в области значений (рис. 2.13). Обычно при создании сводной таблицы нам предлагается по умолчанию найти сумму.
Рис. 2.13. Сводная таблица
Задание. Настройте сводную таблицу описанным выше образом.
Отредактируем заголовки сводной таблицы и сделаем их более понятными (рис. 2.14).
Пользуясь случаем, продемонстрируем ещё одну возможность сводных таблиц. Подводим курсор к любой ячейке. Появляется всплывающая подсказка с информацией о выбранной ячейке.
Рис. 2.14. Заголовки сводной таблицы
Задание. Отредактируйте заголовки сводной таблицы.
Задание. Проверьте, какие сообщения выводятся всплывающей подсказкой в сводной таблице.
Таблица получилась большая и очень подробная.
Чтобы ознакомиться с какими-то конкретными данными, можно сделать таблицу поменьше. Она станет более информативной и обозримой.
Нас будут интересовать следующие виды спорта:
– Archery – Стрельба из лука;
– Diving – Прыжки в воду;
– Fencing – Фехтование;
– Figure Skating – Фигурное катание;
– Speed Skating – Конькобежный спорт.
Выберем соответствующие строки. Для этого щёлкнем по значку выпадающего списка справа от заголовка «Виды спорта» (рис. 2.15). Снимаем выбор всех строк:
Select All.
Выбираем только перечисленные выше значения.
Обратим внимание на появление значка фильтрации в виде символа воронки – рядом с заголовком «Виды спорта».
Рис. 2.15. Настройка фильтра по строкам
Подводим курсор к заголовку «Виды спорта».
Рассматриваем всплывающую подсказку (рис. 2.16).
Нам говорят, мы настроили вручную фильтр по полю «Вид спорта»:
Manual Filters – Discipline.
Рис. 2.16. Фильтр по видам спорта
Задание. Настройте фильтрацию сводной таблицы по видам спорта.
Мы настроили выборку данных по строкам – по видам спорта.
Теперь займёмся столбцами. В столбцах у нас названия стран-участников соревнований.
Сделаем выборку данных по странам, получившим более 90 медалей. Это будет фильтр по числовым значениям.
Щёлкаем по кнопке выпадающего списка справа от заголовка «Страны» (рис. 2.17).
Выбираем вариант фильтрации по значениям, которые окажутся больше заданного порога:
Value Filters – Greater Than.
Рис. 2.17. Вызов фильтра по значению
Появляется диалоговое окно настройки фильтра по значениям:
Value Filter (NOC_CountryRegion).
В заголовке окна указан метод фильтрации:
Value Filter.
Здесь же в скобках выводится название поля, по которому будет проводиться фильтрация:
NOC_CountryRegion.
Выбираем пороговое значение фильтрации 90:
Show items for which – Число медалей – is greater than – 90 (рис. 2.18).
Нажимаем кнопку ОК.
Рис. 2.18. Настройка фильтра по значениям
Задание. Проведите фильтрацию стран по числу медалей, превышающему 90.
После включения двух фильтров – по видам спорта и количеству медалей получаем более компактную сводную таблицу (рис. 2.19).
Обратим внимание на появление значка фильтрации в виде символа воронки рядом с заголовком «Страны».
Какие же страны были отобраны после фильтрации? Можно видеть, что фильтр «Больше 90» затрагивает общее, СУММАРНОЕ КОЛИЧЕСТВО медалей по выбранным видам спорта. Другими словами, мы выбрали страны, получившие боле 90 медалей по пяти видам спорта – в сумме.
Рис. 2.19. Отфильтрованная сводная таблица
Задание. Рассмотрите результаты фильтрации. Обратите внимание на общее количество медалей по странам.
Что же такое NOC_CountryRegion? Это название понятно англоязычной публике, но не слишком информативно для отечественного пользователя.
Делаем вывод: названия полей в базах данных должны быть понятны не только разработчику-программисту. Возможно, эти названия придётся расшифровывать пользователям. Ну а любая программа пишется, в первую очередь, для удобства пользователя, а не для программиста. Комфорт для разработчика тоже важен, но это должен быть второстепенный момент.
Посмотрим, что скажет Википедия. Поищем NOC в английской версии сайта (рис. 2.20). Нам подходит следующая расшифровка NOC:
National Olympic Committee.
Рис. 2.20. Расшифровка сокращения NOC
Переходим по ссылке и получаем подробное описание. Нас интересует русский перевод. Так что переключаемся на соответствующую русскую страницу.
Находим в левой части окна раздел Languages и переходим по ссылке Русский (рис. 2.21).
Рис. 2.21. Переход на русскую страницу
Задание. Откройте в английской версии Википедии статью «National Olympic Committee». Переключитесь на соответствующую русскую страницу.
На этой странице мы выясняем русское название соответствующего комитета.
Кроме того, здесь есть очень полезные таблицы с расшифровкой названий стран.
Задание. Составьте на отдельном листе таблицу с расшифровкой обозначений НОК для стран, попавших в отфильтрованную сводную таблицу.
Ещё немного углубимся в спортивную тему.
Вспоминаем, что медали бывают разные:
– Gold – Золотые
– Silver – Серебряные
– Bronze – Бронзовые.
Проведём фильтрацию сводной таблицы по видам медалей.
Щёлкнем по значку фильтрации в разделе фильтров.
Выберем только золотые медали.
Нажимаем ОК.
Обращаем внимание на значок фильтра в виде символа воронки в разделе фильтров (рис. 2.22).
Если понадобится выбрать несколько значений, ставим выбор внизу окна:
Select Multiple Items.
Рис. 2.22. Фильтр по типам медалей
Задание. Проведите фильтрацию по типу медалей:
– золотые и серебряные медали;
– только золотые медали;
– только серебряные медали;
– только бронзовые медали.
Запишите в отчёте, какие страны попали в список после фильтрации.
Мы познакомились с организацией фильтров в сводной таблице.
Теперь проведём фильтрацию по другому принципу.
Выберем в нашей сводной таблице самое необычное и малочисленное.
Задание. Сделайте выборку по четырём экзотическим видам спорта для стран с минимальным числом медалей.
3. Импорт данных из электронной таблицы
Рассмотрим особенности импорта данных из файла электронной таблицы.
Для наших опытов будем использовать файл под названием:
OlympicSports. xlsx.
Это файл придётся найти в Центре загрузки и скачать на свой компьютер в рабочий каталог.
Судя по содержимому файла, здесь тоже содержатся данные по олимпийским видам спорта (рис. 3.1).
Рис. 3.1. Скачивание файла данных
Задание. Найдите в Центре загрузки и скачайте файл OlympicSports. xlsx.
Открываем загруженный файл в пакете Excel (рис. 3.2).
Здесь находим один рабочий лист под названием
Sheet1.
На этом листе расположена небольшая таблица из двух столбцов.
Рис. 3.2. Таблица видов спорта
Задание. Откройте загруженный файл в Excel.
Скопируем лист с таблицей по видам спорта и вставим его в наш файл отчёта.
Щёлкаем правой кнопкой по вкладке с названием листа и выбираем в контекстном меню:
Move or Copy (рис. 3.3).
Рис. 3.3. Копирование листа
Появляется диалоговое окно
Move or Copy.
Раскрываем выпадающей список:
Move selected sheets – To book.
Выбираем файл отчёта (рис. 3.4).
Указываем, куда нужно вставить этот лист:
Before sheet – (move to end).
Кроме того, указываем, что нам нужно только скопировать лист, не удаляя его в исходном файле: