Абстрактный: Это второй учебник в серии. В первом руководстве по импорту данных в и созданию модели данных книга Excel была создана с использованием данных, импортированных из нескольких источников.
Примечание
В этой статье описаны модели данных в Excel 2013. Однако те же функции моделирования данных и Power Pivot, представленные в Excel 2013, также применяются к Excel 2016.
В этом учебнике вы научитесь использовать Power Pivot для расширения модели данных, создания иерархий и построения вычисляемых полей из существующих данных для создания новых связей между таблицами.
Ниже перечислены разделы этого учебника.
- Добавление связи с помощью представления схемы в Power Pivot
- Расширение модели данных с использованием вычисляемых столбцов
- Создание иерархии
- Использование иерархий в сводных таблицах
- Контрольная точка и тест
В конце учебника есть тест, с помощью которого можно проверить свои знания.
В этой серии учебников используются данные об олимпийских медалях и спортивных состязаниях, а также странах, принимавших Олимпийские игры. Учебники этой серии
- Импорт данных в Excel и создание модели данных
- Расширение связей модели данных с помощью Excel, Power Pivot и DAX
- Создание отчетов Power View на основе карт
- Объединение интернет-данных и настройка параметров отчета Power View по умолчанию
- Справка по Power Pivot
- Создание впечатляющих отчетов Power View, часть 2
Рекомендуется изучить их по порядку.
В этих руководствах используется Excel 2013 с включенным Power Pivot. Дополнительные сведения о Excel 2013 см. здесь. Инструкции по включению Power Pivot см. здесь.
Добавление связи с помощью представления схемы в Power Pivot
В этом разделе вы используете надстройку Microsoft Office PowerPivot в Excel 2013 для расширения модели. Использование представления схемы в Microsoft SQL Server Power Pivot для Excel упрощает создание связей. Сначала необходимо убедиться, что у вас включена надстройка Power Pivot.
Примечание. Надстройка Power Pivot в Microsoft Excel 2013 является частью Office профессиональный плюс. Дополнительные сведения см. в статье Запуск Power Pivot в надстройке Microsoft Excel 2013.
Добавление Power Pivot на ленту Excel путем включения надстройки Power Pivot
Если Power Pivot включен, в Excel 2013 отображается вкладка ленты с именем POWERPIVOT. Чтобы включить Power Pivot, выполните следующие действия.
- Перейдите в раздел Параметры > файла > Надстройки.
- В поле Управление внизу щелкните Com Add-ins> Go.
- Установите флажок Microsoft Office Power Pivot в Microsoft Excel 2013 и нажмите кнопку ОК.
На ленте Excel появится вкладка POWER PIVOT.
Добавление связи с помощью представления схемы в Power Pivot
Книга Excel включает в себя таблицу под названием Hosts. Мы импортировали таблицу Hosts путем ее копирования и вставки в Excel, а затем отформатировали данные в виде таблицы. Чтобы добавить таблицу Hosts в модель данных, нужно настроить связь. Давайте используем Power Pivot для визуального представления связей в модели данных, а затем создадим связь.
В Excel щелкните ярлычок Hosts, чтобы сделать этот лист активным.
На ленте выберите POWER PIVOT > Tables > Add to Data Model (Добавить в модель данных). Этот шаг добавляет таблицу Hosts в модель данных. Кроме того, откроется надстройка PowerPivot, которая используется для выполнения остальных действий в этой задаче.
Обратите внимание, что в окне Power Pivot отображаются все таблицы в модели, включая узлы. Просмотрите несколько таблиц. В Power Pivot можно просмотреть все данные, содержащиеся в модели, даже если они не отображаются на листах Excel, например в приведенных ниже дисциплинах, событиях и медалей , а также S_Teams, W_Teams и спорте.
В окне Power Pivot в разделе Представление щелкните Представление схемы.
С помощью полосы прокрутки измените размер диаграммы таким образом, чтобы видеть все объекты в диаграмме. Переупорядочите таблицы, перетащив их строку заголовка, чтобы они были видимы и расположены рядом друг с другом. Обратите внимание, что четыре таблицы не связаны с остальными таблицами: Hosts, Events, W_Teams и S_Teams.
Вы заметите, что как в таблице Medals, так и в таблице Events есть поле под названием DisciplineEvent. При дальнейшем изучении вы определяете, что поле DisciplineEvent в таблице Events состоит из уникальных, неповторяющихся значений.
Примечание
Поле DisciplineEvent представляет уникальное сочетание каждой дисциплины и соревнования. С другой стороны, в таблице Medals поле DisciplineEvent повторяется много раз. Это понятно, потому что для каждого сочетания дисциплины и соревнования есть три медали (золото, серебро, бронза), которые присуждаются на каждых Олимпийских играх. Поэтому между этими таблицами существует отношение "один ко многим" (одна уникальная запись, включающая дисциплину и соревнование, в таблице Disciplines, и несколько записей для каждого значения "дисциплина + соревнование").
Создайте связь между таблицами Medals и Events. В представлении диаграммы перетащите поле DisciplineEvent из таблицы Events на поле DisciplineEvent таблицы Medals. Между ними появится линия, показывающая, что связь была создана.
Щелкните линию, которая соединяет Events и Medals. Выделенные поля определяют связь, как показано на следующем экране.
Чтобы связать Hosts с моделью данных, нам требуется поле со значениями, уникально определяющими каждую строку в таблице Hosts. Затем мы можем выполнить поиск в модели данных, чтобы узнать, есть ли такие же данные в другой таблице. Просмотр в представлении диаграммы не позволяет сделать это. Выбрав Hosts, вернитесь в представление данных.
После изучения столбцов мы понимаем, что у узлов нет столбца с уникальными значениями. Нам потребуется создать его с помощью вычисляемого столбца и выражений анализа данных (DAX).
Приятно, когда данные в модели данных имеют все поля, необходимые для создания связей, и смешайте данные для визуализации в Power View или сводных таблицах. Но таблицы не всегда так сотрудничают, поэтому в следующем разделе описывается создание нового столбца с помощью DAX, который можно использовать для создания связи между таблицами.
Расширение модели данных с использованием вычисляемых столбцов
Чтобы создать связь между таблицей Hosts и моделью данных и тем самым расширить модель данных, включив в нее таблицу Hosts, в таблице Hosts должно быть поле, которое однозначно идентифицирует каждую строку. Кроме того, это поле должно соответствовать полю в модели данных. Эти соответствующие поля, по одному в каждой таблице, позволяют связать данные таблиц.
Так как в таблице Hosts нет такого поля, его необходимо создать. Чтобы сохранить целостность модели данных, нельзя использовать Power Pivot для изменения или удаления существующих данных. Тем не менее вы можете создать новые столбцы с помощью вычисляемых полей, основанных на существующих данных.
Просмотрев таблицу Hosts, а затем другие таблицы в модели данных, мы находим подходящие данные для создания в Hosts уникального поля, которое мы затем свяжем с таблицей в модели данных. Чтобы выполнить требования для создания связи, в обеих таблицах должен быть новый вычисляемый столбец.
В Hosts мы можем создать уникальный вычисляемый столбец, объединив поля Edition (год проведения Олимпийских игр) и Season (лето или зима). В таблице Medals также есть поля Edition и Season, так что если мы создадим в каждой из этих таблиц вычисляемый столбец, которые объединяет поля Edition и Season, мы сможем установить связь между Hosts и Medals. На следующем экране показана таблица Hosts с выбранными полями Edition и Season
Создание вычисляемых столбцов с помощью DAX
Начнем с таблицы Hosts . Цель состоит в том, чтобы создать вычисляемый столбец в таблице Hosts , а затем в таблице Medals , который можно использовать для установления связи между ними.
В Power Pivot для создания вычислений можно использовать выражения анализа данных (DAX). DAX — это язык формул для Power Pivot и сводных таблиц, предназначенный для реляционных данных и контекстного анализа, доступных в Power Pivot. Формулы DAX можно создать в новом столбце Power Pivot и в области вычислений в Power Pivot.
В Power Pivot выберите Представление данных HOME >>, чтобы убедиться, что выбрано представление данных, а не в режиме диаграммы.
Выберите таблицу Hosts в Power Pivot. Рядом с существующими столбцами есть пустой столбец под названием Добавить столбец. Power Pivot предоставляет этот столбец в качестве заполнителя. Существует множество способов добавить новый столбец в таблицу в Power Pivot, одним из которых является простой выбор пустого столбца с заголовком Добавить столбец.
Введите указанную ниже формулу DAX в строке формул. Функция CONCATENATE объединяет несколько полей в одно. По мере ввода функция автозаполнения поможет ввести полные имена столбцов и таблиц и представит доступные функции. Используйте клавишу TAB для выбора предложений автозаполнения. Вы также можете просто щелкнуть столбец при вводе формулы, и Power Pivot вставляет имя столбца в формулу.
=CONCATENATE([Edition],[Season])Когда вы закончите вводить формулу, нажмите клавишу ВВОД, чтобы подтвердить ее.
Все строки вычисляемого столбца будут заполнены значениями. Если прокрутить таблицу вниз, вы увидите, что каждая строка уникальна, поэтому мы успешно создали поле, которое однозначно идентифицирует каждую строку в таблице Hosts . Такие поля называются первичным ключом.
Давайте переименуем вычисляемый столбец в EditionID. Любой столбец можно переименовать, дважды щелкнув его или щелкнув его правой кнопкой мыши и выбрав команду Переименовать столбец. После завершения таблица Hosts в PowerPoint будет выглядеть так, как на следующем экране.
Таблица Hosts готова. Далее давайте создадим вычисляемый столбец в Medals , соответствующий формату столбца EditionID, созданного на узлах, чтобы можно было создать связь между ними.
Для начала создайте новый столбец в таблице Medals (так же, как в таблице Hosts). В Power Pivot выберите таблицу Медали и щелкните Конструктор > столбцов > Добавить. Обратите внимание, что установлен флажок Добавить столбец. Это дает тот же результат, что и выбор столбца Добавить столбец.
Формат столбца Edition в Medals отличается от формата Edition в таблице Hosts. Прежде чем объединять (сцеплять) столбцы Edition и Season для создания столбца EditionID, нам нужно создать промежуточное поле, которое возвращает данные Edition в правильном формате. В строке формул над таблицей введите следующую формулу DAX.
= YEAR([Edition])Когда вы закончите вводить формулу, нажмите клавишу ВВОД. Все строки вычисляемого столбца будут заполнены значениями на основе введенной формулы. Если вы сравните этот столбец со столбцом Выпуск на узле, вы увидите, что эти столбцы имеют одинаковый формат.
Переименуйте столбец, щелкнув правой кнопкой мыши CalculatedColumn1 и выбрав Переименовать столбец. Введите Year и нажмите клавишу ВВОД.
При создании нового столбца Power Pivot добавила еще один заполнитель под названием Добавить столбец. Далее нам нужно создать вычисляемый столбец EditionID, поэтому выберите Добавить столбец. Введите указанную ниже формулу DAX в строке формул и нажмите ВВОД.
=CONCATENATE([Year],[Season])Переименуйте столбец: дважды щелкните CalculatedColumn1 и введите EditionID.
Отсортируйте столбец в порядке возрастания. Таблица Medals в Power Pivot теперь выглядит так, как на следующем экране.
Обратите внимание, что многие значения в поле EditionID таблицы Medals повторяются. Это нормально и ожидаемо, так как во время каждого выпуска Олимпиады (в настоящее время представлено значением EditionID) было награждено много медалей. Уникальной в таблице Medals является каждая медаль. Уникальным идентификатором для каждой записи в таблице Medals и ее первичным ключом является поле MedalKey.
Следующим шагом является создание связи между таблицами Hosts и Medals.
Создание связи с помощью вычисляемых столбцов
Теперь давайте используем созданные вычисляемые столбцы, чтобы установить связь между узлами и медалями.
В окне Power Pivot на ленте выберите Представление диаграммы в главном > представлении>. Вы также можете переключаться между сеткой и представлением схемы с помощью кнопок в нижней части окна PowerView, как показано на следующем экране.
Разверните таблицу Hosts, чтобы можно было просмотреть все ее поля. Мы создали столбец EditionID, который является первичным ключом (уникальным, не повторяющимся полем) таблицы Hosts, и столбец EditionID в таблице Medals, чтобы установить связь между ними. Нам нужно найти их и создать связь. Power Pivot предоставляет функцию "Найти " на ленте, поэтому вы можете искать соответствующие поля в модели данных. На следующем экране показано окно Поиск метаданных, в поле Найти которого указано "EditionID".
Расположите таблицу Hosts рядом с таблицей Medals.
Перетащите столбец EditionID из таблицы Medals на столбец EditionID в таблице Hosts. Power Pivot создает связь между таблицами на основе столбца EditionID и рисует линию между двумя столбцами, указывающую на связь.
В этом разделе вы научились новому способу добавления столбцов, создали вычисляемый столбец с помощью DAX и использовали его для создания связи между таблицами. Теперь таблица Hosts интегрирована в модель данных, а ее данные доступны для сводной таблицы на листе Лист1. Вы также можете использовать связанные данные для создания дополнительных сводных таблиц, сводных диаграмм, отчетов Power View и т. д.
Создание иерархии
Данные, входящие в большинство моделей, по сути своей иерархичны. Распространенные примеры: данные календаря, географические данные и категории товаров. Создание иерархий в Power Pivot полезно, так как можно перетащить один элемент в отчет ( иерархию) вместо того, чтобы собирать и упорядочивать одни и те же поля снова и снова.
Данные Olympics также являются иерархическими. Полезно понимать иерархию Олимпийских игр с точки зрения спорта, дисциплин и событий. У каждого вида спорта есть одна или несколько дисциплин (иногда их много). По каждой дисциплине проводится одно или несколько соревнований (опять же, таких соревнований бывает много). На следующем рисунке показана эта иерархия.
В этом разделе вы создадите две иерархии в олимпийских данных, которые вы использовали в этом руководстве. Затем на их примере мы покажем, как иерархии упрощают организацию данных в сводных таблицах и (в следующем учебнике) в Power View.
Создание иерархии Sport
В Power Pivot переключитесь в режим диаграммы. Разверните таблицу Events, чтобы было проще работать с ее полями.
Нажмите и удерживайте нажатой клавишу CTRL, а затем щелкните поля Спорт, Дисциплина и Событие. Выбрав эти три поля, щелкните правой кнопкой мыши и выберите Создать иерархию. В нижней части таблицы создается родительский узел иерархии Иерархия 1, а выбранные столбцы копируются в иерархию как дочерние узлы. Убедитесь, что в иерархии сначала отображается Sport, затем — Дисциплина, а затем — Событие.
Дважды щелкните заголовок Иерархия1 и введите SDE, чтобы переименовать новую иерархию. Теперь у вас есть иерархия, которая включает в себя виды спорта, дисциплины и соревнования. Таблица Events теперь выглядит так, как показано на следующем экране.
Создание иерархии Location
По-прежнему в представлении диаграммы в Power Pivot выберите таблицу Hosts и нажмите кнопку Создать иерархию в заголовке таблицы, как показано на следующем экране.
В нижней части таблицы появится пустой родительский узел иерархии.
Введите в качестве имени новой иерархии Locations.
Есть много способов добавления столбцов в иерархию. Перетащите поля Season, City и NOC_CountryRegion на имя иерархии (в данном случае — Locations), пока имя иерархии не будет выделено, а затем отпустите, чтобы добавить их.
Щелкните правой кнопкой мыши EditionID и выберите пункт Добавить в иерархию. Выберите Locations.
Убедитесь, что дочерние узлы в иерархии расположены в нужном порядке. Сверху вниз заказ должен быть: Season, NOC, City, EditionID. Если дочерние узлы расположены не по порядку, просто перетащите их в нужное место в иерархии. Ваша таблица должна выглядеть так, как на следующем экране.
Теперь в модели данных есть иерархии, которые можно с пользой применять в отчетах. В следующем разделе вы узнаете, как с помощью иерархий сделать отчеты более единообразными и создавать их быстрее.
Использование иерархий в сводных таблицах
Теперь, когда у нас иерархии Sports и Locations, мы можем добавить их в сводные таблицы или Power View и быстро сгруппировать данные или получить другие полезные результаты. Перед созданием иерархий вы добавили отдельные поля в сводную таблицу и упорядочили их так, как вы хотите их просматривать.
В этом разделе вы будете использовать иерархии, созданные в предыдущем разделе, для быстрого уточнения сводной таблицы. Затем вы создадите то же представление сводной таблицы, используя отдельные поля в иерархии, чтобы сравнить применение иерархий с использованием отдельных полей.
- Вернитесь назад в Excel.
- На листе Лист1 удалите поля из области строк полей сводной таблицы, а затем удалите все поля из области столбцов. Убедитесь, что сводная таблица выбрана (сейчас она довольно небольшая, так что вы можете выбрать ячейку A1, чтобы сделать это). В сводной таблице остались только поля Medal в области фильтров и Count of Medal в области значений. Практически пустая сводная таблица должна быть похожа на изображенную на следующем экране.
- В области полей сводной таблицы перетащите SDE из таблицы Events в область строк. Затем перетащите Locations из таблицы Hosts в область СТОЛБЦЫ. Просто путем перетаскивания этих двух иерархий можно заполнить сводную таблицу большим количеством данных, все из которых организованы в иерархии, созданные на предыдущих шагах. Ваша таблица должна выглядеть так, как на следующем экране.
- Давайте немного отфильтруем эти данные и просто рассмотрим первые десять строк событий. В сводной таблице щелкните стрелку в поле Метки строк, щелкните (Выбрать все), чтобы снять выделение, а затем установите флажки рядом с первыми десятью видами спорта. Сводная таблица теперь выглядит так, как показано на следующем экране.
- Вы можете развернуть любой из этих видов спорта, которые являются верхним уровнем в иерархии SDE, и просмотреть информацию на следующем уровне (дисциплины). Если для этой дисциплины существует более низкий уровень в иерархии, то можно развернуть ее для просмотра соревнований. Вы можете сделать то же самое в иерархии Location, где верхним уровнем является Season, который выводится как Summer и Winter в сводной таблице. При развертывании вида спорта Aquatics выводятся все его дочерние элементы дисциплин и их данные. Если развернуть дисциплину Diving спорта Aquatics, появятся соревнования по ней, как показано на следующем экране. Мы можем сделать то же самое для дисциплины Water Polo и увидеть, что у нее только оно соревнование.
Перетаскивая эти две иерархии, вы быстро создали сводную таблицу с интересными структурированными данных, которые можно детализировать, упорядочить и отфильтровать.
Теперь давайте создадим ту же сводную таблицу без преимуществ иерархий.
- В области полей сводной таблицы удалите Locations из области столбцов. Затем удалите SDE из области строк. Вы вернелись к базовой сводной таблице.
- Из таблицы Hosts перетащите Season, City, NOC_CountryRegion и EditionID в область столбцов и расположите их в указанном порядке сверху вниз.
- Из таблицы Events перетащите Sport, Discipline и Event в область строк и расположите их в указанном порядке сверху вниз.
- В сводной таблице отфильтруйте метки строк, чтобы показать десять первых видов спорта.
- Сверните все строки и столбцы, а затем разверните Aquatics, Diving и Water Polo . Книга выглядит так, как показано на следующем экране.
Экран выглядит похоже, хотя вы перетащили семь отдельных полей в области Поля сводной таблицы, вместо того чтобы просто перетащить две иерархии. Если вы единственный пользователь, создающий сводные таблицы или отчеты Power View на основе этих данных, создание иерархий может показаться только удобным. Но когда отчеты создает много людей, которым требуется знать надлежащий порядок полей для правильного представления данных, иерархии становятся инструментом повышения производительности и обеспечения единообразия.
Из другого учебника вы узнаете, как использовать иерархии и другие поля в привлекательных отчетах, созданных с помощью Power View.
Контрольная точка и тест
Повторите изученный материал
Теперь в книге Excel есть модель данных, которая включает данные из нескольких источников, связанных с помощью существующих полей и вычисляемых столбцов. Вы также создали иерархии, которые отражают структуру данных в таблицах и позволяют быстро, единообразно и легко создавать привлекательные отчеты.
Вы узнали, что создание иерархий позволяет задать внутреннюю структуру данных и быстро использовать иерархические данные в отчетах.
В следующем учебнике из этой серии рассказывается о том, как с помощью Power View создавать привлекательные отчеты об олимпийских медалях. Вы также научитесь выполнять другие вычисления, оптимизировать данные для быстрого создания отчетов и импортировать дополнительные сведения, чтобы сделать отчеты еще более интересными. Вот ссылка:
Учебник 3. Создание отчетов Power View на основе карт
ТЕСТ
Хотите проверить, насколько хорошо вы усвоили пройденный материал? Вот твой шанс. Этот тест посвящен функциям, возможностям и требованиям, о которых вы узнали в этом учебнике. В нижней части страницы вы найдете ответы. Удачи!
Вопрос 1. Какие из следующих представлений позволяют создавать связи между двумя таблицами?
А. Связи между таблицами создаются в Power View.
Б. Вы создаете связи между таблицами с помощью конструктора в Power Pivot.
В. Вы создаете связи между таблицами с помощью представления сетки в Power Pivot
Г. Все вышеперечисленные.
Вопрос 2. Верно ли приведенное утверждение? Можно создать связи между таблицами на основе уникального идентификатора, который создается с помощью формул DAX.
А. Да
B: ЛОЖЬ
Вопрос 3. Где можно создать формулу DAX?
О. В области вычислений Power Pivot.
Б. В новом столбце Power Pivotf.
В. В любой ячейке Excel 2013.
Г. A и B.
Вопрос 4. Какое из приведенных утверждений об иерархиях является верным?
А. После создания иерархии поля, включенные в нее, больше не доступны по отдельности.
Б. После создания иерархии поля, включенные в нее, можно использовать в клиентских средствах, просто перетащив иерархию в Power View или область сводной таблицы.
В. После создания иерархии соответствующие данные в модели данных объединяются в одно поле.
Г. Нельзя создавать иерархии в Power Pivot.
Ответы на вопросы теста
- Правильный ответ: D
- Правильный ответ: А
- Правильный ответ: D
- Правильный ответ: Б
Примечание
Ниже перечислены источники данных и изображений в этом цикле учебников.
- Набор данных об Олимпийских играх © Guardian News & Media Ltd.
- Изображения флагов из справочника CIA Factbook (cia.gov).
- Данные о населении из документов Всемирного банка (worldbank.org).
- Авторы эмблем олимпийских видов спорта Thadius856 и Parutakupiu.