В обеих таблицах есть одно и то же поле:
SportID — идентификатор вида спорта (рис. 4.5).
Пришло время прояснить ситуацию. Нам нужно разобраться, что такое — «вид спорта» и «спортивная дисциплина». Придётся поискать ответ в интернете.
Рис. 4.5. Общее поле
Задание. Выясните, как связаны между собой ВИД СПОРТА и СПОРТИВНАЯ ДИСЦИПЛИНА.
Теперь попробуем создать связь. Нажимаем кнопку
Create.
Открывается диалоговое окно создания связи:
Create Relationship.
Настроим связь следующим образом (рис. 4.6):
— Table — Disciplines;
— Column (Foreign) — SportID;
— Related Table — Sports;
— Related Column (Primary) — SportID.
В связанной таблице указываем первичный ключ — идентификатор вида спорта.
Нажимаем ОК.
Рис. 4.5. Создание связи между таблицами
Задание. Настройте связь между таблицами (рис. 4.5).
Сводная таблица изменилась и стала более осмысленной (рис. 4.6). Например, две спортивные дисциплины — фигурное катание Figure skating и конькобежный спорт Speed skating — входят в коньковые виды спорта Skating.
Это так называемая ИЕРАРХИЯ.
Рис. 4.6. Сводная таблица после создания связи
Задание. Рассмотрите иерархию в сводной таблице.
Задание. Отключите фильтрацию по строкам и выясните, в каких видах спорта присутствует иерархия.
Мы работаем с реальными данными. Конечно, их хорошо подготовили к обработке, но это настоящие реальные данные.
Можно познакомиться с иерархией «Вид спорта — Дисциплина». Достаточно найти в Википедии соответствующую статью.
Ну а чтобы увидеть все виды спорта и дисциплины, отключим все виды фильтрации, нажав в меню фильтрации пункт Clear Filter from…
Задание. Изучите в Википедии статью «Олимпийские виды спорта» и сравните перечень видов спорта с иерархией в сводной таблице.
5. Добавление связи в PowerPivot
Мы рассмотрели, как настроить связь между таблицами в режиме диалога.
Второй способ управления связями — это использование надстройки Power Pivot. В этом случае мы просто перетаскиваем поля на схеме модели данных.
Продемонстрируем этот приём работы.
Добавим таблицу Hosts в модель данных. Для этого переходим на лист Hosts. Затем выбираем в верхнем меню следующий пункт:
Power Pivot — Tables — Add to Data Model.
Пока просто подводим курсор к этой кнопке и читаем всплывающую подсказка. Это сообщение поясняет суть предстоящей операции (рис. 5.1).
Здесь говорится, в модель данных будет добавлена таблица Excel, расположенная на текущем рабочем листе. То есть мы должны находиться на том листе, где лежит наша таблица. К тому же, это должна быть не просто таблица в виде диапазона ячеек. Это должна быть таблица Excel. Это объект, специальным образом отформатированный, с заголовками столбцов и с названием (именем таблицы).
Рис. 5.1. Добавление таблицы в модель данных
Задание. Прочитайте всплывающую подсказку про добавление таблицы в модель данных.
Нажимаем кнопку Add to Data Model.
На экране появляется окно Power Pivot.
Здесь мы видим все таблицы (рис. 5.2).
И мы можем просмотреть содержимое этих таблиц. Напомним, что на листах Excel не отображается содержимое таблиц, загруженных из базы данных. Одна из причин — ограничение на размер таблицы Excel.
Для переключения между таблицами в нижней части окна имеются вкладки с названиями таблиц.
Рис. 5.2. Просмотр таблиц в Power Pivot
Задание. Изучите содержимое каждой таблицы, переключаясь по вкладкам.
Итак, с помощью Power Pivot мы можем работать с любой таблицей, не обращаясь к Excel и не упираясь в его ограничения.
Внешний вид интерфейса Power Pivot очень похож на традиционную электронную таблицу (рис. 5.3).
Здесь тоже показаны номера строк.
А вот столбцы не обозначены привычными латинскими буквами. Здесь только названия полей — как в базе данных.
Рис. 5.3. Просмотр содержимого таблицы
Задание. Пролистайте каждую таблицу вниз до последней строки.
Пришло время немного подробнее познакомиться с технологиями «модели данных». Есть пара статей на эту тему сайте поддержки:
https://support.microsoft.com
1. Статья «Create a memory-efficient Data Model using Excel and the Power Pivot add-in», раздел «Compression ratios and the in-memory analytics engine».