Применяется к
Excel 2013

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

Примечание: В этой статье описаны модели данных в Excel 2013. Однако те же функции моделирования данных и Power Pivot, представленные в Excel 2013, также применяются к Excel 2016.

В этом учебнике вы научитесь использовать Power Pivot для расширения модели данных, создания иерархий и построения вычисляемых полей из существующих данных для создания новых связей между таблицами.

Ниже перечислены разделы этого учебника.

В конце учебника есть тест, с помощью которого можно проверить свои знания.

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

  1. Импорт данных в Excel и создание модели данных

  2. Расширение связей модели данных с помощью Excel Power Pivot и DAX

  3. Создание отчетов Power View на основе карт

  4. Объединение интернет-данных и настройка параметров отчета Power View по умолчанию

  5. Справка по Power Pivot

  6. Создание впечатляющих отчетов Power View, часть 2

Рекомендуется изучить их по порядку.

В учебниках используется Excel 2013 с включенной надстройкой Power Pivot. Дополнительные сведения о Excel 2013 см. здесь. Инструкции по включению Power Pivot см. здесь.

Добавление связи с помощью представления диаграммы в Power Pivot

В этом разделе вы научитесь расширять модель с помощью надстройки Microsoft Office Power Pivot в Excel 2013. Представление диаграммы в Microsoft SQL Server PowerPivot для Excel упрощает создание отношений. Прежде всего вам нужно убедиться, что надстройка Power Pivot включена.

Примечание. Надстройка Power Pivot в Microsoft Excel 2013 является частью Office профессиональный плюс. Дополнительные сведения см. в статье Запуск Power Pivot в надстройке Microsoft Excel 2013.

Добавьте Power Pivot на ленту Excel, включив надстройку Power Pivot

Если надстройка Power Pivot включена, в Excel 2013 отображается вкладка ленты под названием POWER PIVOT. Чтобы включить Power Pivot, выполните следующие действия:

  1. Выберите ФАЙЛ > Параметры > Надстройки.

  2. В поле Управление внизу выберите Надстройки COM> Перейти.

  3. Установите флажок Microsoft Office Power Pivot в Microsoft Excel 2013, а затем нажмите кнопку ОК.

На ленте Excel появится вкладка POWER PIVOT.

Вкладка PowerPivot на ленте

Добавление связи с помощью представления диаграммы в Power Pivot

Книга Excel включает в себя таблицу под названием Hosts. Мы импортировали таблицу Hosts путем ее копирования и вставки в Excel, а затем отформатировали данные в виде таблицы. Чтобы добавить таблицу Hosts в модель данных, нужно настроить связь. Давайте используем Power Pivot для визуального представления связей в модели данных, а затем создадим связь.

  1. В Excel щелкните ярлычок Hosts, чтобы сделать этот лист активным.

  2. На ленте выберите POWER PIVOT > Таблицы > Добавить в модель данных. Этот шаг добавляет таблицу Hosts в модель данных. Также откроется надстройка Power Pivot, которую можно использовать для выполнения оставшихся шагов задачи.

  3. Обратите внимание, что в окне Power Pivot отображаются все таблицы в модели, включая узлы. Просмотрите несколько таблиц. В Power Pivot вы можете просмотреть все данные, содержащиеся в модели, даже если они не отображаются на листах Excel, например в приведенных ниже дисциплинах, событиях и медалях, а также S_Teams,W_Teamsи спорте.Все таблицы в PowerPivot

  4. В окне Power Pivot в группе Просмотр выберите команду Представление диаграммы.

  5. С помощью полосы прокрутки измените размер диаграммы таким образом, чтобы видеть все объекты в диаграмме. Переупорядочите таблицы, перетащив их строку заголовка, чтобы они были видимы и расположены рядом друг с другом. Обратите внимание, что четыре таблицы не связаны с остальными таблицами: Hosts, Events, W_Teams и S_Teams.Таблицы PowerPivot в представлении схемы

  6. Вы заметите, что как в таблице Medals, так и в таблице Events есть поле под названием DisciplineEvent. При дальнейшем изучении вы определяете, что поле DisciplineEvent в таблице Events состоит из уникальных, неповторяющихся значений.

Примечание: Поле DisciplineEvent представляет уникальное сочетание каждой дисциплины и соревнования. С другой стороны, в таблице Medals поле DisciplineEvent повторяется много раз. Это понятно, потому что для каждого сочетания дисциплины и соревнования есть три медали (золото, серебро, бронза), которые присуждаются на каждых Олимпийских играх. Поэтому между этими таблицами существует отношение "один ко многим" (одна уникальная запись, включающая дисциплину и соревнование, в таблице Disciplines, и несколько записей для каждого значения "дисциплина + соревнование").

  1. Создайте связь между таблицами Medals и Events. В представлении диаграммы перетащите поле DisciplineEvent из таблицы Events на поле DisciplineEvent таблицы Medals. Между ними появится линия, показывающая, что связь была создана.

  2. Щелкните линию, которая соединяет Events и Medals. Выделенные поля определяют связь, как показано на следующем экране.Связь, показанная в представлении схемы

  3. Чтобы связать Hosts с моделью данных, нам требуется поле со значениями, уникально определяющими каждую строку в таблице Hosts. Затем мы можем выполнить поиск в модели данных, чтобы узнать, есть ли такие же данные в другой таблице. Просмотр в представлении диаграммы не позволяет сделать это. Выбрав Hosts, вернитесь в представление данных.

  4. После изучения столбцов мы понимаем, что у узлов нет столбца с уникальными значениями. Нам потребуется создать его с помощью вычисляемого столбца и выражений анализа данных (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

Таблица Hosts с выбранными полями Edition и Season

Создание вычисляемых столбцов с помощью DAX

Начнем с таблицы Hosts . Мы хотим создать в таблице Hosts , а затем в таблице Medals вычисляемый столбец, который может использоваться для установления связи между ними.

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

  1. Чтобы убедиться, что выбрано представление данных, а не представление схемы, на вкладке Power Pivot выберите пункты В начало > Просмотр > Представление данных.

  2. Выберите таблицу Hosts в Power Pivot. Рядом с существующими столбцами есть пустой столбец под названием Добавить столбец. Power Pivot предоставляет этот столбец в качестве заполнителя. В Power Pivot есть много способов добавления нового столбца в таблицу, один из которых — выбрать пустой столбец с названием Добавить столбец.Использование столбца "Добавить столбец" для создания вычисляемого поля с помощью DAX

  3. Введите указанную ниже формулу DAX в строке формул. Функция CONCATENATE объединяет несколько полей в одно. По мере ввода функция автозаполнения поможет ввести полные имена столбцов и таблиц и представит доступные функции. Используйте клавишу TAB для выбора предложений автозаполнения. Вы также можете просто щелкнуть столбец при вводе формулы, и Power Pivot вставит его имя в формулу.=CONCATENATE([Edition],[Season])

  4. Когда вы закончите вводить формулу, нажмите клавишу ВВОД, чтобы подтвердить ее.

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

  6. Давайте переименуем вычисляемый столбец в EditionID. Любой столбец можно переименовать, дважды щелкнув его или щелкнув его правой кнопкой мыши и выбрав команду Переименовать столбец. После завершения таблица Hosts в PowerPoint будет выглядеть так, как на следующем экране.Таблица Hosts с созданным вычисляемым полем DAX

Таблица Hosts готова. Далее давайте создадим вычисляемый столбец в Medals , соответствующий формату столбца EditionID, созданного на узлах, чтобы можно было создать связь между ними.

  1. Для начала создайте новый столбец в таблице Medals (так же, как в таблице Hosts). В Power Pivot выберите таблицу Medals и щелкните Конструктор > Столбцы > Добавить. Обратите внимание, что установлен флажок Добавить столбец. Это дает тот же результат, что и выбор столбца Добавить столбец.

  2. Формат столбца Edition в Medals отличается от формата Edition в таблице Hosts. Прежде чем объединять (сцеплять) столбцы Edition и Season для создания столбца EditionID, нам нужно создать промежуточное поле, которое возвращает данные Edition в правильном формате. В строке формул над таблицей введите следующую формулу DAX.

    = YEAR([Edition])
    
  3. Когда вы закончите вводить формулу, нажмите клавишу ВВОД. Все строки вычисляемого столбца будут заполнены значениями на основе введенной формулы. Если вы сравните этот столбец со столбцом Выпуск на узле, вы увидите, что эти столбцы имеют одинаковый формат.

  4. Переименуйте столбец, щелкнув правой кнопкой мыши CalculatedColumn1 и выбрав Переименовать столбец. Введите Year и нажмите клавишу ВВОД.

  5. При создании нового столбца надстройка Power Pivot добавила еще один заполнитель столбца с именем Добавить столбец. Далее нам нужно создать вычисляемый столбец EditionID, поэтому выберите Добавить столбец. Введите указанную ниже формулу DAX в строке формул и нажмите ВВОД.=CONCATENATE([Year],[Season])

  6. Переименуйте столбец: дважды щелкните CalculatedColumn1 и введите EditionID.

  7. Отсортируйте столбец в порядке возрастания. Таблица Medals в Power Pivot теперь выглядит так, как на следующем экране.Таблица медалей с вычисляемым полем, созданным с помощью с DAX

Обратите внимание, что многие значения в поле EditionID таблицы Medals повторяются. Это нормально и ожидаемо, так как во время каждого выпуска Олимпиады (в настоящее время представлено значением EditionID) было награждено много медалей. Уникальной в таблице Medals является каждая медаль. Уникальным идентификатором для каждой записи в таблице Medals и ее первичным ключом является поле MedalKey.

Следующим шагом является создание связи между таблицами Hosts и Medals.

Создание связи с помощью вычисляемых столбцов

Теперь давайте используем созданные вычисляемые столбцы, чтобы установить связь между узлами и медалями.

  1. На ленте в окне Power Pivot выберите В начало > Просмотр > Представление диаграммы. Вы также можете переключаться между сеткой и представлением схемы с помощью кнопок в нижней части окна PowerView, как показано на следующем экране.Кнопка представления схемы в PowerPivot

  2. Разверните таблицу Hosts, чтобы можно было просмотреть все ее поля. Мы создали столбец EditionID, который является первичным ключом (уникальным, не повторяющимся полем) таблицы Hosts, и столбец EditionID в таблице Medals, чтобы установить связь между ними. Нам нужно найти их и создать связь. На ленте Power Pivot есть функция Найти, которая позволяет искать нужные поля в модели данных. На следующем экране показано окно Поиск метаданных, в поле Найти которого указано "EditionID".Использование команды "Поиск" в представлении схемы PowerPivot

  3. Расположите таблицу Hosts рядом с таблицей Medals.

  4. Перетащите столбец EditionID из таблицы Medals на столбец EditionID в таблице Hosts. Power Pivot создаст между таблицами связь, основанную на столбце EditionID, и нарисует между двумя столбцами линию, которая показывает ее.Представление схемы со связью таблиц

В этом разделе вы научились новому способу добавления столбцов, создали вычисляемый столбец с помощью DAX и использовали его для создания связи между таблицами. Теперь таблица Hosts интегрирована в модель данных, а ее данные доступны для сводной таблицы на листе Лист1. Вы также можете использовать связанные данные для создания дополнительных сводных таблиц, сводных диаграмм, отчетов Power View и т. д.

Создание иерархии

Данные, входящие в большинство моделей, по сути своей иерархичны. Распространенные примеры: данные календаря, географические данные и категории товаров. Создание иерархий в Power Pivot полезно тем, что позволяет перетаскивать в отчет элемент (иерархию), а не собирать и упорядочивать одни и те же поля каждый раз заново.

Данные Olympics также являются иерархическими. Полезно понимать иерархию Олимпийских игр с точки зрения спорта, дисциплин и событий. У каждого вида спорта есть одна или несколько дисциплин (иногда их много). По каждой дисциплине проводится одно или несколько соревнований (опять же, таких соревнований бывает много). На следующем рисунке показана эта иерархия.

Логическая иерархия данных об олимпийских медалях

В этом разделе вы создадите две иерархии в олимпийских данных, которые вы использовали в этом руководстве. Затем на их примере мы покажем, как иерархии упрощают организацию данных в сводных таблицах и (в следующем учебнике) в Power View.

Создание иерархии Sport

  1. В Power Pivot выберите Представление диаграммы. Разверните таблицу Events, чтобы было проще работать с ее полями.

  2. Нажмите и удерживайте нажатой клавишу CTRL, а затем щелкните поля Спорт, Дисциплина и Событие. Выбрав эти три поля, щелкните правой кнопкой мыши и выберите Создать иерархию. В нижней части таблицы создается родительский узел иерархии Иерархия 1, а выбранные столбцы копируются в иерархию как дочерние узлы. Убедитесь, что в иерархии сначала отображается Sport, затем — Дисциплина, а затем — Событие.

  3. Дважды щелкните заголовок Иерархия1 и введите SDE, чтобы переименовать новую иерархию. Теперь у вас есть иерархия, которая включает в себя виды спорта, дисциплины и соревнования. Таблица Events теперь выглядит так, как показано на следующем экране.Иерархия, показанная в представлении схемы PowerPivot

Создание иерархии Location

  1. В представлении схемы в Power Pivot выберите таблицу Hosts и нажмите кнопку "Создать иерархию" в заголовке таблицы, как показано на следующем экране.Кнопка "Создать иерархию" В нижней части таблицы отображается пустой родительский узел иерархии.

  2. Введите в качестве имени новой иерархии Locations.

  3. Есть много способов добавления столбцов в иерархию. Перетащите поля Season, City и NOC_CountryRegion на имя иерархии (в данном случае — Locations), пока имя иерархии не будет выделено, а затем отпустите, чтобы добавить их.

  4. Щелкните правой кнопкой мыши EditionID и выберите пункт Добавить в иерархию. Выберите Locations.

  5. Убедитесь, что дочерние узлы в иерархии расположены в нужном порядке. Сверху вниз заказ должен быть: Season, NOC, City, EditionID. Если дочерние узлы расположены не по порядку, просто перетащите их в нужное место в иерархии. Ваша таблица должна выглядеть так, как на следующем экране.Таблица Hosts с иерархией

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

Использование иерархий в сводных таблицах

Теперь, когда у нас иерархии Sports и Locations, мы можем добавить их в сводные таблицы или Power View и быстро сгруппировать данные или получить другие полезные результаты. Перед созданием иерархий вы добавили отдельные поля в сводную таблицу и упорядочили их так, как вы хотите их просматривать.

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

  1. Вернитесь назад в Excel.

  2. На листе Лист1 удалите поля из области строк полей сводной таблицы, а затем удалите все поля из области столбцов. Убедитесь, что сводная таблица выбрана (сейчас она довольно небольшая, так что вы можете выбрать ячейку A1, чтобы сделать это). В сводной таблице остались только поля Medal в области фильтров и Count of Medal в области значений. Практически пустая сводная таблица должна быть похожа на изображенную на следующем экране.

    Практически пустая сводная таблица

  3. В области полей сводной таблицы перетащите SDE из таблицы Events в область строк. Затем перетащите Locations из таблицы Hosts в область СТОЛБЦЫ. Просто путем перетаскивания этих двух иерархий можно заполнить сводную таблицу большим количеством данных, все из которых организованы в иерархии, созданные на предыдущих шагах. Ваша таблица должна выглядеть так, как на следующем экране.Сводная таблица с иерархией

  4. Давайте немного отфильтруем эти данные и просто рассмотрим первые десять строк событий. В сводной таблице щелкните стрелку в поле Метки строк, щелкните (Выбрать все), чтобы снять выделение, а затем установите флажки рядом с первыми десятью видами спорта. Сводная таблица теперь выглядит так, как показано на следующем экране.Отфильтрованная сводная таблица

  5. Вы можете развернуть любой из этих видов спорта, которые являются верхним уровнем в иерархии SDE, и просмотреть информацию на следующем уровне (дисциплины). Если для этой дисциплины существует более низкий уровень в иерархии, то можно развернуть ее для просмотра соревнований. Вы можете сделать то же самое в иерархии Location, где верхним уровнем является Season, который выводится как Summer и Winter в сводной таблице. При развертывании вида спорта Aquatics выводятся все его дочерние элементы дисциплин и их данные. Если развернуть дисциплину Diving спорта Aquatics, появятся соревнования по ней, как показано на следующем экране. Мы можем сделать то же самое для дисциплины Water Polo и увидеть, что у нее только оно соревнование.Изучение иерархии в сводной таблице

Перетаскивая эти две иерархии, вы быстро создали сводную таблицу с интересными структурированными данных, которые можно детализировать, упорядочить и отфильтровать.

Теперь давайте создадим ту же сводную таблицу без преимуществ иерархий.

  1. В области полей сводной таблицы удалите Locations из области столбцов. Затем удалите SDE из области строк. Вы вернелись к базовой сводной таблице.

  2. Из таблицы Hosts перетащите Season, City, NOC_CountryRegion и EditionID в область столбцов и расположите их в указанном порядке сверху вниз.

  3. Из таблицы Events перетащите Sport, Discipline и Event в область строк и расположите их в указанном порядке сверху вниз.

  4. В сводной таблице отфильтруйте метки строк, чтобы показать десять первых видов спорта.

  5. Сверните все строки и столбцы, а затем разверните Aquatics, Diving и Water Polo . Книга выглядит так, как показано на следующем экране.Сводная таблица, созданная без иерархии

Экран выглядит похоже, хотя вы перетащили семь отдельных полей в области Поля сводной таблицы, вместо того чтобы просто перетащить две иерархии. Если вы единственный пользователь, создающий сводные таблицы или отчеты Power View на основе этих данных, создание иерархий может показаться только удобным. Но когда отчеты создает много людей, которым требуется знать надлежащий порядок полей для правильного представления данных, иерархии становятся инструментом повышения производительности и обеспечения единообразия.

Из другого учебника вы узнаете, как использовать иерархии и другие поля в привлекательных отчетах, созданных с помощью Power View.

Контрольная точка и тест

Повторите изученный материал

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

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

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

Учебник 3. Создание отчетов Power View на основе карт

ТЕСТ

Хотите проверить, насколько хорошо вы усвоили пройденный материал? Вот твой шанс. Этот тест посвящен функциям, возможностям и требованиям, о которых вы узнали в этом учебнике. В нижней части страницы вы найдете ответы. Удачи!

Вопрос 1. Какие из следующих представлений позволяют создавать связи между двумя таблицами?

А. Связи между таблицами создаются в Power View.

Б. Связи между таблицами создаются в представлении конструирования в Power Pivot.

В. Связи между таблицами создаются в сетке в Power Pivot.

Г. Все вышеперечисленные.

Вопрос 2. TRUE или FALSE. Отношения между таблицами можно установить на основе уникального идентификатора, созданного с помощью формул DAX.

А. Да

B: ЛОЖЬ

Вопрос 3. Где можно создать формулу DAX?

А. В области вычислений Power Pivot.

Б. В новом столбце в Power Pivot.

В. В любой ячейке Excel 2013.

Г. A и B.

Вопрос 4. Какое из приведенных утверждений об иерархиях является верным?

А. После создания иерархии поля, включенные в нее, больше не доступны по отдельности.

Б. После создания иерархии поля, включенные в нее, можно использовать в клиентских средствах, просто перетащив иерархию в Power View или область сводной таблицы.

В. После создания иерархии соответствующие данные в модели данных объединяются в одно поле.

Г. В Power Pivot нельзя создавать иерархии.

Ответы на вопросы теста

  1. Правильный ответ: D

  2. Правильный ответ: А

  3. Правильный ответ: D

  4. Правильный ответ: Б

Примечания: Ниже перечислены источники данных и изображений в этом цикле учебников.

  • Набор данных об Олимпийских играх © Guardian News & Media Ltd.

  • Изображения флагов из справочника CIA Factbook (cia.gov).

  • Данные о населении из документов Всемирного банка (worldbank.org).

  • Авторы эмблем олимпийских видов спорта Thadius856 и Parutakupiu.

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.