Excel связь многие ко многим

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

Все таблицы в книге указываются в списках полей сводной таблицы и Power View.

Браузер не поддерживает видео.

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

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

  2. Вы можете отформатировать данные как таблицу или импортировать внешние данные в виде таблицы на новом.

  3. Присвойте каждой из таблиц понятное имя: На вкладке Работа с таблицами щелкните Конструктор > Имя таблицы и введите имя.

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

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

  5. Щелкните Данные> Отношения.

Если команда Отношения недоступна, значит книга содержит только одну таблицу.

  1. В окне Управление связями нажмите кнопку Создать.

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

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

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

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

  6. Нажмите кнопку ОК.

Дополнительные сведения о связях между таблицами в Excel

  • Примечания о связях

  • Пример. Связывание данных логики операций со временем с данными по рейсам авиакомпании

  • «Могут потребоваться связи между таблицами»

    • Шаг 1. Определите, какие таблицы указать в связи

    • Шаг 2. Найдите столбцы, которые могут быть использованы для создания пути от одной таблицы к другой

Примечания о связях

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

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

  • В модели данных связи таблиц могут быть типа «один к одному» (у каждого пассажира есть один посадочный талон) или «один ко многим» (в каждом рейсе много пассажиров), но не «многие ко многим». Связи «многие ко многим» приводят к ошибкам циклической зависимости, таким как «Обнаружена циклическая зависимость». Эта ошибка может произойти, если вы создаете прямое подключение между двумя таблицами со связью «многие ко многим» или непрямые подключения (цепочку связей таблиц, в которой каждая таблица связана со следующей отношением «один ко многим», но между первой и последней образуется отношение «многие ко многим»). Дополнительные сведения см. в статье Связи между таблицами в модели данных.

  • Типы данных в двух столбцах должны быть совместимы. Подробные сведения см. в статье Типы данных в моделях данных.

  • Другие способы создания связей могут оказаться более понятными, особенно если неизвестно, какие столбцы использовать. Дополнительные сведения см. в статье Создание связи в представлении диаграммы в Power Pivot.

Пример. Связывание данных логики операций со временем с данными по рейсам авиакомпании

Вы можете узнать о связях обеих таблиц и логики операций со временем с помощью свободных данных на Microsoft Azure Marketplace. Некоторые из этих наборов данных очень велики, и для их загрузки за разумное время необходимо быстрое подключение к Интернету.

  1. Запустите надстройку Power Pivot в Microsoft Excel и откройте окно Power Pivot.

  2. Нажмите Получение внешних данных > Из службы данных > Из Microsoft Azure Marketplace. В мастере импорта таблиц откроется домашняя страница Microsoft Azure Marketplace.

  3. В разделе Price (Цена) нажмите Free (Бесплатно).

  4. В разделе Category (Категория) нажмите Science & Statistics (Наука и статистика).

  5. Найдите DateStream и нажмите кнопку Subscribe (Подписаться).

  6. Введите свои учетные данные Майкрософт и нажмите Sign in (Вход). Откроется окно предварительного просмотра данных.

  7. Прокрутите вниз и нажмите Select Query (Запрос на выборку).

  8. Нажмите кнопку Далее.

  9. Чтобы импортировать данные, выберите BasicCalendarUS и нажмите Готово. При быстром подключении к Интернету импорт займет около минуты. После выполнения вы увидите отчет о состоянии перемещения 73 414 строк. Нажмите Закрыть.

  10. Чтобы импортировать второй набор данных, нажмите Получение внешних данных > Из службы данных > Из Microsoft Azure Marketplace.

  11. В разделе Type (Тип) нажмите Data Данные).

  12. В разделе Price (Цена) нажмите Free (Бесплатно).

  13. Найдите US Air Carrier Flight Delays и нажмите Select (Выбрать).

  14. Прокрутите вниз и нажмите Select Query (Запрос на выборку).

  15. Нажмите кнопку Далее.

  16. Нажмите Готово для импорта данных. При быстром подключении к Интернету импорт займет около 15 минут. После выполнения вы увидите отчет о состоянии перемещения 2 427 284 строк. Нажмите Закрыть. Теперь у вас есть две таблицы в модели данных. Чтобы связать их, нужны совместимые столбцы в каждой таблице.

  17. Убедитесь, что значения в столбце DateKey в таблице BasicCalendarUS указаны в формате 01.01.2012 00:00:00. В таблице On_Time_Performance также есть столбец даты и времени FlightDate, значения которого указаны в том же формате: 01.01.2012 00:00:00. Два столбца содержат совпадающие данные одинакового типа и по крайней мере один из столбцов (DateKey) содержит только уникальные значения. В следующих действиях вы будете использовать эти столбцы, чтобы связать таблицы.

  18. В окне Power Pivot нажмите Сводная таблица, чтобы создать сводную таблицу на новом или существующем листе.

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

  20. Разверните таблицу BasicCalendarUS и нажмите MonthInCalendar, чтобы добавить его в область строк.

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

  22. В списке полей, в разделе «Могут потребоваться связи между таблицами» нажмите Создать.

  23. В поле «Связанная таблица» выберите On_Time_Performance, а в поле «Связанный столбец (первичный ключ)» — FlightDate.

  24. В поле «Таблица» выберитеBasicCalendarUS, а в поле «Столбец (чужой)» — DateKey. Нажмите ОК для создания связи.

  25. Обратите внимание, что время задержки в настоящее время отличается для каждого месяца.

  26. В таблице BasicCalendarUS перетащите YearKey в область строк над пунктом MonthInCalendar.

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

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

  1. Таблица BasicCalendarUS должна быть открыта в окне Power Pivot.

  2. В главной таблице нажмите Сортировка по столбцу.

  3. В поле «Сортировать» выберите MonthInCalendar.

  4. В поле «По» выберите MonthOfYear.

Сводная таблица теперь сортирует каждую комбинацию «месяц и год» (октябрь 2011, ноябрь 2011) по номеру месяца в году (10, 11). Изменить порядок сортировки несложно, потому что канал DateStream предоставляет все необходимые столбцы для работы этого сценария. Если вы используете другую таблицу логики операций со временем, ваши действия будут другими.

«Могут потребоваться связи между таблицами»

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

Кнопка "Создать", отображаемая при необходимости создать связь

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

Шаг 1. Определите, какие таблицы указать в связи

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

Представление диаграммы, в котором показаны несвязанные таблицы

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

Шаг 2. Найдите столбцы, которые могут быть использованы для создания пути от одной таблице к другой

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

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

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

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

  • Типы данных столбца подстановок и исходного столбца должны быть совместимы. Подробнее о типах данных см. в статье Типы данных в моделях данных.

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

К началу страницы

Браузер не поддерживает видео.

Проверьте, как это работает!

Что такое связь «многие-ко-многим»?

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

Связь «многие-ко-многим» предполагает возможность связи одного или нескольких элементов из одной таблицы с одним или несколькими элементами из другой таблицы. Примеры:

  • В таблице «Заказы» указаны заказы, сделанные разными клиентами из таблицы «Клиенты». Каждый клиент мог сделать несколько заказов.

  • В таблице «Продукты» указаны продаваемые товары, каждый из которых может фигурировать в нескольких заказах из таблицы «Заказы».

  • Каждый продукт может входить в один заказ как в одном, так и в нескольких экземплярах.

Например, в заказ Арины Ивановой № 1012 могут входить продукты № 12 и 15, а также пять продуктов № 30.

Создание связи «многие-ко-многим»

Связи «многие-многим» создаются не так, как «один-к-одному» или «один-к-многим». Для таких связей достаточно соединить соответствующие поля линией. Чтобы создать связи «многие-к-многим», необходимо создать таблицу для соединения двух других. Эта новая таблица называется промежуточной (или иногда связующим или связующим).

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

Ниже рассмотрим пример, когда в заказ Арины Ивановой № 1012 входят продукты № 12, 15 и 30. Это значит, что записи в таблице «Сведения о заказах» выглядят следующим образом:

Номер заказа

Код продукта

1012

12

1012

15

1012

30

Арина заказала по одному продукту № 12 и 15, а также пять продуктов № 30. Создать другие строки с номером заказа 1012 и кодом продукта 30 нельзя, потому что поля «Номер заказа» и «Код продукта» вместе составляют первичный ключ, а первичные ключи должны быть уникальными. Вместо этого можно добавить в таблицу «Сведения о заказах» поле «Количество».

Номер заказа

Код продукта

Количество

1012

12

1

1012

15

1

1012

30

5

Создание промежуточной таблицы

  1. Выберите Создание > Таблица.

  2. Выберите Сохранить Сохранение.

  3. Укажите описательное имя таблицы. Чтобы подчеркнуть назначение таблицы, можете включить в ее имя слова связующая или промежуточная.

Создание полей в промежуточной таблице

Столбец «Код» автоматически добавляется в Access в качестве первого. Измените имя этого поля на идентификатор вашей первой таблицы в связи «многие-ко-многим». Например, если первая таблица называется «Заказы», поле «Код» в ней переименовано в «Номер заказа», и его первичный ключ — число, измените имя поля «Код» в новой таблице на «Номер заказа», а в качестве типа данных выберите Числовой.

  1. В режиме таблицы выберите заголовок столбца Код и введите новое имя поля.

  2. Выберите переименованное поле.

  3. На вкладке Поля в списке Тип данных выберите тип, как в соответствующем поле исходной таблицы, например Числовой или Короткий текст.

  4. Щелкните надпись Щелкните для добавления и выберите тип данных, соответствующий первичному ключу во второй таблице. В заголовке столбца введите имя поля первичного ключа из второй таблицы, например «Код продукта».

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

Объединение полей для создания первичного ключа

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

  1. Откройте промежуточную таблицу в режиме конструктора.

  2. Выберите обе строки с идентификаторами. (Если вы следовали предыдущим указаниям, это будут две первые строки.)

  3. На вкладке Конструктор нажмите кнопку Ключевое поле.
    Рядом с обоими полями будут отображаться значки ключей.

    Снимок экрана: первичный ключ в таблице

Соединение трех таблиц для создания связи «многие-ко-многим»

Чтобы завершить создание связи «многие-ко-многим», создайте связь «один-ко-многим» между полем первичного ключа в каждой таблице и соответствующим полем в промежуточной таблице. Инструкции см. в статье Начало работы со связями между таблицами.

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

Снимок экрана: связи между тремя таблицами в базе данных

Вам нужны дополнительные возможности?

Начало работы со связями между таблицами

Создание, изменение и удаление отношения

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

Это продолжение перевода книги Роб Колли. Формулы DAX для Power Pivot. Главы не являются независимыми, поэтому рекомендую читать последовательно.

Предыдущая глава        Содержание    Следующая глава

В DAX связи очень важны. Но некоторые связи, как бы это сказать, сложнее, чем другие))

Несколько связей между двумя таблицами

Рассмотрим таблицы Sales и Calendar. Они связаны Calendar[Date] –> Sales[OrderDate]. Файл примера – ch22A_ComplicatedRelationships.xlsx.

Ris. 22.1. Mogut li eti dve tablitsy imet bolee odnoj svyazi

Рис. 22.1. Могут ли эти две таблицы иметь более одной связи?

Скачать заметку в формате Word или pdf

Дата заказа [OrderDate] – не единственное поле даты в таблице продаж Sales. Есть еще дата доставки. Что делать, если мы иногда хотим проанализировать наши данные о продажах по дате доставки? Как мы с этим справимся? Создадим ли мы еще одну связь между этими двумя таблицами? Это вообще сработает?

Ris. 22.2. Popytka sozdat svyaz CalendarDate SalesShipDate

Рис. 22.2. Попытка создать связь Calendar[Date] –> Sales[ShipDate]; чтобы увеличить изображение кликните на нем правой кнопкой мыши и выберите Открыть картинку в новой вкладке

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

Ris. 22.3. Dvojnye svidaniya ne vsegda prohodyat gladko

Рис. 22.3. Двойные свидания не всегда проходят гладко))

Легче понять, что происходит, если в окне Power Pivot перейти на вкладку Конструктор и кликнуть на копке Управление связями (рис. 22.4) Обратите внимание на столбец Активно для связей между таблицами продаж Sales и календарем Calendar. В один и тот же момент может быть активна только одна связь между двумя таблицами.

Ris. 22.4. V lyuboj moment vremeni mozhet byt aktivna tolko odna svyaz mezhdu dvumya tablitsami

Рис. 22.4. В любой момент времени может быть активна только одна связь между двумя таблицами

Если нам нужно проанализировать данные о продажах по дате доставки, то можем перевернуть активные связи, нажав на кнопку Изменить (см. верхнюю часть рис. 22.4). Если у вас есть сводная таблица, показывающая меру [Total Sales], вот как она изменится при изменении активной связи:

Ris. 22.5. Mera Total Sales pokazyvaet obem prodazh na osnove daty zakaza ili daty dostavki

Рис. 22.5. Мера [Total Sales] показывает объем продаж на основе даты заказа или даты доставки, в зависимости от того, какая связь активна

Это неудобно, поэтому давайте рассмотрим несколько более элегантных способов сделать то же самое.

USERELATIONSHIP()

[Total Sales by Ship Date] =

CALCULATE (

   [Total Sales],

   USERELATIONSHIP (Sales[ShipDate], Calendar[Date])

)

Теперь мы можем поместить обе меры [Total Sales by Ship Date] и [Total Sales] (по дате заказа) в одну сводную.

Ris. 22.5. Obshhij obem prodazh po date zakaza i po date otgruzki v odnoj svodnoj

Рис. 22.5. Общий объем продаж по дате заказа и по дате отгрузки в одной сводной

Связи Многие ко многим

Начнем с неудачного примера. Только что вы создали связь Calendar[Date] –> Sales[ShipDate]. Это связь Один ко многим, поскольку в таблице Calendar каждая дата уникальна, а в таблице Sales каждая дата может встречаться более одного раза. И это наиболее распространенный тип связи (и единственный, с которым мы имели дело до сих пор). А теперь давай сделаем что-нибудь… оригинальное. В таблице клиентов Customers у нас есть данные о дне рождении. Попробуем создать связь Customers[BirthDate] –> Sales[ShipDate].

Ris. 22.6. Pozvolit li PowerPivot svyazat SalesOrderDate CustomersBirthDate

Рис. 22.6. Позволит ли PowerPivot связать Customers[BirthDate] –> Sales[ShipDate]?

Обратите внимание, что оба столбца содержат не уникальные значения:

Ris. 22.7. U nas est mnogo povtoryayushhihsya znachenij dlya oboih stolbtsov

Рис. 22.7. У нас есть много повторяющихся значений для обоих столбцов

Давайте продолжим и попытаемся создать эту связь Customers[BirthDate] –> Sales[ShipDate]:

Ris. 22.8. Popytka sozdat svyaz privodit k oshibke

Рис. 22.8. Попытка создать связь приводит к ошибке

Power Pivot не позволит нам создать связь, потому что с каждой стороны повторяются (дублируются) значения. Повторим, что пример нереалистичен. Мы выбрали его, чтобы проиллюстрировать, что мы получим ошибку.

А вот еще один плохой пример. Ранее мы говорили, что не следует связывать две таблицы данных друг с другом. В том примере у нас были таблицы звонков ServiceCalls и продаж Sales. И каждую из них мы связывали с общими для них таблицами поиска, но не друг с другом! Теперь попытаемся создать связь между ними Sales[OrderDate] –> ServiceCalls[CallDate]:

Ris. 22.9. Popytka svyazat dve tablitsy dannyh privodit k analogichnoj oshibke

Рис. 22.9. Попытка связать две таблицы данных приводит к аналогичной ошибке

Реальный мир – источник законных связей Многие ко многим

Теперь мы перейдем к описанию ситуации, когда связь Многие ко многим легитимна. Многие ко многим, или M2M сводится к тому, как организован ваш бизнес (или реальный мир), и в частности к концепции членства, когда некий объект (продукт, место, человек, …) одновременно принадлежит к двум родительским группам.

Ris. 22.10. Kazhdaya strana region otnositsya k odnomu kontinentu no morozhenoe odnovremenno mozhet byt i molochnym i desertnym

Рис. 22.10. Каждая страна и/или регион относится к одному континенту, но мороженое одновременно может быть и молочным и десертным

Файл с примерами – ch22B_ComplicatedRelationships_M2M.xlsx.

Это приводит к таблице поиска (FoodMultiCategory), которая для некоторых продуктом содержит две строки (рис. 22.11). Если вы попытаетесь создать связь между таблицей данных Sales и этой «сломанной» таблицей поиска, она завершится неудачей.

Ris. 22.11. Teper u nas est dublikaty v tablitse poiska i eto problema my ne smozhem svyazat ee s tablitsej dannyh

Рис. 22.11. Теперь у нас есть дубликаты в таблице поиска, и это проблема

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

Ris. 22.12. Vydelenie stolbtsa Category v otdelnuyu tablitsu

Рис. 22.12. Выделение столбца Category в отдельную таблицу

Теперь можно связать таблицы Sales и Food:

Ris. 22.13. Tablitsy Sales i Food mozhno svyazat po polyu Food

Рис. 22.13. Таблицы Sales и Food можно связать по полю [Food]

Но таблица Category оказалась неприкаянной, и вторая наша задача соединить ее с таблицей Food с помощью «моста» – переходной таблицы.

Переходная таблица

Связь Многие ко многим между двумя объектами можно обрабатывать с помощью переходной таблицы:

Ris. 22.14. Perehodnaya tablitsa

Рис. 22.14. Переходная таблица

Переходная таблица FoodCategory перечисляет для каждого продукта все категории, к которым относится этот продукт – по одной строке на родительскую категорию. Теперь мы можем создавать связи: FoodCategory[Food] –> Food[Food] и FoodCategory[Category] –> Category[Category].

Ris. 22.15. FoodCategory mozhno svyazat s Food i Category

Рис. 22.15. FoodCategory можно связать с Food и Category

Но не всё так просто. Давайте определим базовую меру Units Sold = SUM(Sales[Units]). Сможем ли мы проанализировать продажи по категориям продуктов? Сводная работает не вполне корректно:

Ris. 22.16. Prodazhi a po produktam vsyo Ok b prodazhi po kategoriyam mera ne rabotaet

Рис. 22.16. Продажи (а) по продуктам – всё Ok; (б) продажи по категориям – мера не работает

Давайте разберем, что здесь происходит по шагам золотых правил (например, для категории завтрак – Breakfest).

Шаг 1. Определите набор фильтров ячейки сводной таблицы: Category[Category] = «Breakfast»

Шаг 2. Измените набор фильтров, если используете функцию CALCULATE(): не применимо.

Шаг 3. Примените фильтры к таблице с исходными данными: используем фильтр «Breakfast» в таблице Category.

Шаг 4. Примените фильтры к таблицам поиска; фильтры передаются по направлению связей между таблицами; это приводит к тому, что в таблице данных будут отобраны только строки, соответствующие набору всех фильтров. Поскольку Category фильтруется на шаге 3, а таблица Category – это таблица поиска для таблицы FoodCategory, то фильтр течет вниз и применяется, как показано на рисунке:

Ris. 22.17. Tablitsa FoodCategory filtruetsya ustanovkami tablitsy poiska CategoryCategory Breakfast

Рис. 22.17. Таблица FoodCategory (внизу) фильтруется установками таблицы поиска Category (вверху)

Шаг 5 и 6. Рассчитайте формулы и верните результат в ячейку: Units Sold = SUM(Sales[Units])

Подожди минутку… таблица Sales никогда не фильтровалась ни на одном из шагов выше! Таким образом, SUM(Sales[Units]) вернет сумму всех строк в таблице Sales – 3 355 276. И одно и то же число повторяется для каждой категории.

Ris. 22.18. Filtry tekut cherez svyazi vniz no nikogda ne vverh

Рис. 22.18. Фильтры текут через связи вниз, но не вверх: 1) фильтры стартуют из таблицы Category; 2) фильтр течет вниз; 3) фильтр не будет течь вверх (по крайней мере, без специальной помощи); 4) мера Units Sold никогда не фильтруется

Оказывается, есть способ заставить фильтры течь вверх. Напишем новую меру:

Units Sold by Category = CALCULATE([Units Sold], FoodCategory)

Использование переходной таблицы в качестве аргумента фильтра в CALCULATE заставляет фильтры течь «вверх» по связи:

Ris. 22.19. Nasha novoj mera rabotaet kak ozhidalos

Рис. 22.19. Наша новой мера работает, как ожидалось

Обратите внимание, если вы суммируете пять строки, они не дадут общую сумму. Это легко объяснить, когда мы добавляем Food в сводную:

Ris. 22.20. Nekotorye produkty Food vstrechayutsya v raznyh kategoriyah Category

Рис. 22.20. Некоторые продукты (Food) встречаются в разных категориях (Category)

Помните, что мороженое попало в две категории; мы хотели, чтобы оно относилось, как молочным продуктам, так и к десертам. Таким образом, мороженое проявляется в двух местах. То же самое верно для других продуктов, относящихся к нескольким категориям. Следовательно, значения, показанные для любой одной категории, правильные (см. отдельные строки на рис. 20.19), но, если суммировать все пять строк, мы кое-что учтем дважды и итоговая сумма будет неверной. А вот итоги сводной таблицы суммируют «правильно», исключая двойной счет.

Мы рекомендуем вам просто запомнить этот шаблон работы со связями Многие ко многим:

М2М Measure = CALCULATE([Measure], BridgeTable)

Если вы хотите больше узнать по этой теме, рекомендую статьи Джеффри и Герхарда.

Power BI Desktop

Power BI Desktop имеет функцию, которая устраняет необходимость в приведенном выше подходе, но не необходимость в переходных таблицах. Удалите меру Units Sold by Category. Сохраните копию Excel-файла ch22B_ComplicatedRelationships_M2M.xlsx. Перейдите в Power BI Desktop и загрузите модель из Excel-файла (пройдите по меню Файл –> Импортировать –> Из Excel). Перейдите в режим Модель (рис. 22.21, цифра 1), кликните правой кнопкой мыши на связи таблиц Food и FoodCategory (2), выберите Свойства, и в открывшемся окне Изменение связи измените направление кросс-фильтрации на Двунаправленное (3).

Ris. 22.21. Izmenenie svojstv svyazi

Рис. 22.21. Изменение свойств связи

Мера…

Units Sold = SUM(Sales[Units])

… прекрасно работает, даже когда вы помещаете Category в область строк сводной таблицы. Никаких дополнительных работ не требуется!

Ris. 22.22. V Power BI Desktop obychnye formuly mogut rabotat i dlya svyazej Mnogie ko mnogim

Рис. 22.22. В Power BI Desktop обычные формулы могут работать и для связей Многие ко многим

Содержание

  1. Создание связей типа «многие-ко-многим»
  2. Проверьте, как это работает!
  3. Что такое связь «многие-ко-многим»?
  4. Создание связи «многие-ко-многим»
  5. Создание промежуточной таблицы
  6. Создание полей в промежуточной таблице
  7. Объединение полей для создания первичного ключа
  8. Соединение трех таблиц для создания связи «многие-ко-многим»
  9. Начало работы со связями между таблицами
  10. Проверьте, как это работает!
  11. Описание области «Схема данных»
  12. Виды связей между таблицами
  13. Изменение связи
  14. Удаление отношения между таблицами
  15. Связи между таблицами в модели данных

Создание связей типа «многие-ко-многим»

Проверьте, как это работает!

Что такое связь «многие-ко-многим»?

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

Связь «многие-ко-многим» предполагает возможность связи одного или нескольких элементов из одной таблицы с одним или несколькими элементами из другой таблицы. Примеры:

В таблице «Заказы» указаны заказы, сделанные разными клиентами из таблицы «Клиенты». Каждый клиент мог сделать несколько заказов.

В таблице «Продукты» указаны продаваемые товары, каждый из которых может фигурировать в нескольких заказах из таблицы «Заказы».

Каждый продукт может входить в один заказ как в одном, так и в нескольких экземплярах.

Например, в заказ Арины Ивановой № 1012 могут входить продукты № 12 и 15, а также пять продуктов № 30.

Создание связи «многие-ко-многим»

Связи «многие-многим» создаются не так, как «один-к-одному» или «один-к-многим». Для таких связей достаточно соединить соответствующие поля линией. Чтобы создать связи «многие-к-многим», необходимо создать таблицу для соединения двух других. Эта новая таблица называется промежуточной (или иногда связующим или связующим).

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

Ниже рассмотрим пример, когда в заказ Арины Ивановой № 1012 входят продукты № 12, 15 и 30. Это значит, что записи в таблице «Сведения о заказах» выглядят следующим образом:

Арина заказала по одному продукту № 12 и 15, а также пять продуктов № 30. Создать другие строки с номером заказа 1012 и кодом продукта 30 нельзя, потому что поля «Номер заказа» и «Код продукта» вместе составляют первичный ключ, а первичные ключи должны быть уникальными. Вместо этого можно добавить в таблицу «Сведения о заказах» поле «Количество».

Создание промежуточной таблицы

Выберите Создание > Таблица.

Выберите Сохранить .

Укажите описательное имя таблицы. Чтобы подчеркнуть назначение таблицы, можете включить в ее имя слова связующая или промежуточная.

Создание полей в промежуточной таблице

Столбец «Код» автоматически добавляется в Access в качестве первого. Измените имя этого поля на идентификатор вашей первой таблицы в связи «многие-ко-многим». Например, если первая таблица называется «Заказы», поле «Код» в ней переименовано в «Номер заказа», и его первичный ключ — число, измените имя поля «Код» в новой таблице на «Номер заказа», а в качестве типа данных выберите Числовой.

В режиме таблицы выберите заголовок столбца Код и введите новое имя поля.

Выберите переименованное поле.

На вкладке Поля в списке Тип данных выберите тип, как в соответствующем поле исходной таблицы, например Числовой или Короткий текст.

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

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

Объединение полей для создания первичного ключа

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

Откройте промежуточную таблицу в режиме конструктора.

Выберите обе строки с идентификаторами. (Если вы следовали предыдущим указаниям, это будут две первые строки.)

На вкладке Конструктор нажмите кнопку Ключевое поле.
Рядом с обоими полями будут отображаться значки ключей.

Соединение трех таблиц для создания связи «многие-ко-многим»

Чтобы завершить создание связи «многие-ко-многим», создайте связь «один-ко-многим» между полем первичного ключа в каждой таблице и соответствующим полем в промежуточной таблице. Инструкции см. в статье Начало работы со связями между таблицами.

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

Источник

Начало работы со связями между таблицами

Проверьте, как это работает!

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

Чтобы увидеть все связи в базе данных, откройте шаблон Access, а затем на вкладке Работа с базами данных нажмите кнопку Схема данных.

Примечание: Если вы открыли пустую базу данных или не еще не создали связей между таблицами, в Access вам будет предложено добавить таблицу или запрос. Для создания связи у вас должны быть хотя бы две таблицы. Лучше всего сразу создать все нужные таблицы. Дополнительные сведения см. в статьях Создание связей с помощью мастера подстановок и Создание связей в области «Схема данных».

Описание области «Схема данных»

Линии в представлении «Отношения» указывают на связи между таблицами. На рисунке ниже таблица слева является родительской. Таблица справа является детской. Линия между ними соединяет поля (в данном случае — «ИД заказа» и «ИД товара»), используемые для совпадения данных.

По линиям и символам можно определить параметры связи.

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

На приведенном изображении цифра 1 означает, что в таблице слева может быть только одна связанная запись. В таблице «Заказы» каждому заказу может соответствовать только одна запись.

Значок «∞» означает, что в нескольких записях может быть указан одинаковый номер или код. Заказ из таблицы слева, определяемый номером заказа, может быть указан в таблице «Сведения о заказах» несколько раз, поскольку в одном заказе может быть несколько продуктов.

Виды связей между таблицами

Между таблицами могут быть установлены связи трех видов:

Один-к-одному. Каждый элемент используется в каждой таблице только один раз. Например, каждый сотрудник может использовать только один служебный автомобиль. Дополнительные сведения см. в статье Создание связей типа «один-к-одному».

Один-ко-многим. Для одного элемента из первой таблицы можно создать связь с несколькими элементами из второй таблицы. Например, в каждой накладной может быть указано несколько продуктов.

Многие-ко-многим. Для одного или нескольких элементов из первой таблицы можно создать связь с одним или несколькими элементами из второй таблицы. Например, в каждый заказ может входить несколько продуктов, и каждый продукт может быть указан в нескольких заказах. Дополнительные сведения см. в статье Создание связей типа «многие-ко-многим».

Связи типа «один ко многим»

Связи типа «один-ко-многим» — одни из наиболее распространенных в хорошо структурированных базах данных.

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

В показанной ниже связи у каждого человека из таблицы «Контакты» есть идентификатор, представляющий собой первичный ключ (он отмечен значком ключа). Этот идентификатор также используется в поле «Владелец» в таблице «Активы». Чтобы написать электронное письмо человеку, связанному с активом, следует использовать значение поля «Адрес электронной почты». Для этого необходимо узнать значение поля «Владелец» из таблицы «Активы», а затем найти этот идентификатор в таблице «Контакты». Число 1 на одном конце соединительной линии и знак «∞» на другом означают, что это связь типа «один-ко-многим», поэтому один контакт может быть связан с несколькими активами.

Изменение связи

Если вы работаете с существующей базой данных или создали базу из шаблона, вы можете изменить связь нужным образом.

Примечание: Если необходимые таблицы открыты, сначала следует закрыть их, а также любые открытые объекты, которые их используют.

Выберите Работа с базами данных > Схема данных.

Выберите линию, соединяющую две связанные таблицы.

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

На вкладке Конструктор нажмите кнопку Изменить связи.

Таблица/запрос — это родительская таблица, указанная слева (в рассмотренном примере — «Клиенты»).

Связанная таблица/запрос — это дочерняя таблица (в рассмотренном примере — «Заказы»).

Даже если в области «Схема данных» таблицы расположены в другом порядке, их размещение в показанном диалоговом окне определяет направление соединительной линии между ними и, соответственно, направление связи. Это важно, например, для связей типа «один-ко-многим», потому что в таблице слева (родительской) в таком случае может быть связано только одно поле, а в таблице справа (дочерней) — несколько.

Чтобы изменить соединенные поля, выберите другое поле под каждой отображаемой таблицей. В рассмотренном примере поле «Код» из таблицы «Клиенты» соединяется с полем «Код клиента» из таблицы «Заказы».

Настройте синхронизацию данных между таблицами.

Обеспечение целостности данных

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

Например, предположим, что у вас есть связь типа «один-к-одному» между таблицами «Сотрудники» и «Льготы сотрудников». Если сотрудник уволится и вы удалите его из таблицы «Сотрудники», соответствующая запись в таблице «Льготы сотрудников» тоже удалится.

Иногда не имеет смысла применять обеспечение целостности данных. Предположим, у вас есть связь «один-к-многим» между «Грузоотправителями» и «Заказы». Вы удаляете грузоотправителя, и он сопопосывается с заказами в таблице «Заказы». Эти заказы становятся потерянными, то есть по-прежнему содержат ИД грузоотправителя, но он не является допустимым, так как запись, на которую он ссылается, больше не существует.

Каскадное обновление связанных полей

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

Предположим, вам нужно просто изменить код поставщика. Если у вас установлен этот флажок, код поставщика обновится не только в таблице «Поставщики», но и в других связанных с ней таблицах, в которых также используется это значение кода (например, в таблице «Заказы»).

Каскадное удаление связанных записей

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

Предположим, вы удалили грузоотправителя. Если выбран этот параметр, Access удаляет все записи во всех таблицах, ссылаясь на этот ИД грузоотправителя, включая все заказы (в таблице «Заказы»), отправленные этим грузоотправии. Этот параметр можно выбрать только в том случае, если вы уверены, что хотите удалить историю заказов.

Чтобы изменить связь между таблицами с внутреннего соединения на внешнее, нажмите кнопку Объединение. Дополнительные сведения см. в статье Создание запросов с внешними соединениями.

Удаление отношения между таблицами

Примечание: Если необходимые таблицы открыты, сначала следует закрыть их, а также любые открытые объекты, которые их используют.

Удаление связи между таблицами

Выберите Работа с базами данных > Схема данных.

Выберите линию, соединяющую две связанные таблицы.

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

Нажмите клавишу DELETE. Если потребуется подтвердить удаление, нажмите кнопку Да.

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

Источник

Связи между таблицами в модели данных

Чтобы сделать анализ данных более емким, создайте связи в разных таблицах. Связь — это соединение между двумя таблицами, которые содержат данные: один столбец в каждой таблице является основой для связи. Чтобы понять, чем полезны связи, представим, что отслеживаются данные для заказов клиентов в бизнесе. Вы можете отслеживать все данные в одной таблице с такой структурой:

Однообъективный зеркальный фотоаппарат

Этот подход может быть эффективным, но он подразумевает хранение множества избыточных данных, таких, как адрес электронной почты клиента для каждого заказа. Хранение данных обходится дешево, но если адрес электронной почты изменился, необходимо убедиться, чтоб была обновлена каждая строка для этого клиента. Одним из решений этой проблемы является разбиение данных на несколько таблиц и задание связей между этими таблицами. Этот подход используется в реляционных базах данных таких, как SQL Server. Например, импортированная база данных может представлять данные заказа, используя три связанные таблицы.

Однообъективный зеркальный фотоаппарат

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

Во время импорта таблицы из одной базы данных с помощью надстройки Power PivotPower Pivot может обнаруживать связи между таблицами, основанными на столбцах, заключенных в [квадратные скобки], и воспроизводить эти связи в модели данных, создаваемой в фоновом режиме. Дополнительные сведения см. в разделе Автоматическое обнаружение и вывод связей этой статьи. Если таблицы импортируются из нескольких источников, можно вручную создать связи, как это описано в статье Создание связей между двумя таблицами.

Связи основываются на столбцах в каждой таблице, содержащих одинаковые данные. Например, можно связать таблицу «Клиенты» с таблицей «Заказы», если каждая из них содержит столбец с ИД клиента. В данном примере имена столбцов одинаковы, но это не является обязательным условием. Один столбец может называться CustomerID, а другой — CustomerNumber, при условии, что все строки в таблице Orders содержат идентификатор, который также хранится в таблице Customers.

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

Хотя существует множество типов ключей, они являются самыми важными в нашем предназначении:

Первичный ключ: однозначно определяет строку в таблице, например CustomerID в таблице Customers.

Альтернативный ключ (или первичный ключ): уникальный столбец, который не является первичным ключом. Например, таблица Employees может хранить идентификатор работника и номер карточки социального страхования, при том что оба они являются уникальными.

Внешнее ключ: столбец, который ссылается на уникальный столбец другой таблицы, например CustomerID в таблице Orders, который ссылается на CustomerID в таблице Customers.

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

Связь между клиентом и заказом является связью «один-к-многим». Каждый клиент может иметь несколько заказов, однако ни один из заказов не может иметь несколько клиентов. Еще одна важная связь между таблицами — «один к одному». В нашем примере таблица CustomerDiscounts, которая определяет единую ставку дисконтирования для каждого клиента, имеет отношение «один-к-одному» с таблицей Customers.

В этой таблице показаны связи между тремя таблицами (Customers, CustomerDiscountsи Orders):

Примечание: Связи «многие ко многим» не поддерживаются в модели данных. Примером связи «многие ко многим» является прямая связь между таблицами Products и Customers, в которой заказчик может купить много продуктов и одинаковый продукт может быть одновременно куплен несколькими заказчиками.

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

Модель данных может содержать несколько связей между двумя таблицами. Для точного вычисления Excel требуется один путь от одной таблицы к другой. Поэтому одновременно активной может быть только одна связь между каждой парой таблиц. Хотя другие неактивны, вы можете указать неактивное отношение в формулах и запросах.

В представлении диаграммы активная связь является сплошной линией, а неактивные — пунктирными линиями. Например, в таблице AdventureWorksDW2012 таблица DimDate содержит столбец DateKey, связанный с тремя разными столбцами в таблице FactInternetSales: OrderDate, DueDateи ShipDate. Если есть активная связь между столбцами DateKey и OrderDate, эта связь и будет использоваться по умолчанию в формулах, если не указано иное.

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

Уникальный идентификатор для каждой таблицы

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

Уникальные столбцы подстановки

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

Совместимые типы данных

Типы данных в исходном столбце и в столбце подстановки должны быть совместимыми. Дополнительные сведения о типах данных см. в теме Типы данных, поддерживаемые в моделях данных.

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

Составные ключи и столбцы подстановки

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

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

Связи «многие ко многим»

Модель данных не может иметь связи «многие ко многим». В модель нельзя добавлять соединяющие таблицы . Тем не менее для моделирования связей «многие ко многим» можно использовать функции DAX.

Самосоединения и циклы

В модели данных не разрешается использование самосоединений. Самосоединение — это рекурсивная связь таблицы с самой собой. Самосоединения часто используются для определения иерархий типа «родители-потомки». Например, можно настроить самосоединение для таблицы Employees, чтобы создать иерархию, показывающую цепочку управления на предприятии.

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

Таблица 1, столбец «а» к Таблице 2, столбец «f»

Tаблица 2, столбец «f» к Таблице 3, столбец «n».

Таблица 3, столбец «n» к Таблице 1, столбец «a».

При попытке создания связи, которая приведет к образованию цикла, выдается ошибка.

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

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

Алгоритм обнаружения на основании статистических данных о значениях и метаданных столбцов формирует выводы о вероятности связей.

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

Для успешного обнаружения связи количество уникальных ключей в столбце подстановки должно превышать количество значений в таблице на стороне «многие». Другими словами, ключевой столбец на стороне «многие» связи не должен содержать значений, не содержащихся в ключевом столбце таблицы подстановки. Например, предположим, что имеется таблица, в которой перечислены продукты и их идентификаторы (таблица подстановки), а также таблица продаж, содержащая данные продаж всех продуктов (сторона «многие» связи). Если записи продаж содержат идентификатор продукта, не имеющего соответствующий идентификатор в таблице Products, связь нельзя создать автоматически, но можно создать вручную. Для обеспечения обнаружения связи с помощью Excel необходимо сначала обновить таблицу подстановки Product с использованием идентификаторов недостающих продуктов.

Убедитесь, что имя ключевого столбца на стороне «многие» совпадает с именем ключевого столбца в таблице подстановки. Имена не должны быть абсолютно идентичны. Например, в бизнес-параметрах часто имеются варианты имен столбцов, которые содержат фактически одинаковые данные: «ИД сотрудника», «ИД сотрудника», «ИД сотрудника», «EMP_ID»и так далее. Алгоритм выявляет похожие имена и задает более высокие значения вероятности столбцам, имена которых похожи или полностью совпадают. Поэтому, чтобы увеличить вероятность создания связи, можно попытаться переименовать столбцы в импортируемых данных, подобрав имена чем-то похожие на имена строк в существующих таблицах. Если Excel находит несколько возможных связей, связь не создается.

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

Автоматическое обнаружение именованных наборов

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

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

Products и Category — связь создается вручную

Category и SubCategory — связь создается вручную

Products и SubCategory — связь определяется автоматически

Для автоматического объединения связей в цепочки эти связи должны идти в одном направлении, как показано выше. Если исходные связи были установлены, например между таблицами Sales и Products, а также между Sales и Customers, то связь не выводится. Это вызвано тем, что связь между таблицами Products и Customers является связью «многие ко многим».

Источник

Создание связи между двумя таблицами в Excel

​Смотрите также​​ другой таблицы.​: Доброе время суток​ нескольких таблиц в​ придуманы только для​ инструмент анализа. Подробности​ столбцов. Модели данных​ связать данные в​ не позволяют формировать​ Связи между таблицами​ значения.​ в сводную таблицу​ в сводной таблице​Data​Другие способы создания связей​Столбец​и введите имя.​Примечание:​Отформатируйте данные в​Э… а может​ сводных.Jack_Famous, пробовали как​ вида «один-к-одному»… И​

​ в примере, поэтому​ в Power Pivot​ таблицу.​ осмысленные вычисления.​ в модели данных.​Предположим, у вас есть​ вы получите уведомление​ перечислены месяцы, но​Данные).​ могут оказаться более​.​Убедитесь, что столбец в​Мы стараемся как​ виде таблицы или​ его пользователь не…?​ я написал -​ проблему я решил,​ опишу кратко: есть​ немедленно будет синхронизировать.​Выделите диапазон строк и​При создании связей алгоритм​На панели уведомлений всегда​ модель, которая содержит​ о необходимости связи​ количество минут одинаковое​В разделе​ понятными, особенно если​Нажмите кнопку​ одной из таблиц​ можно оперативнее обеспечивать​

​импортируйте внешние данные​Jack_Famous​ в столбцах расположить​ только способ требует​

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

  1. ​ неизвестно, какие столбцы​ОК​ имеет уникальные значения​ вас актуальными справочными​ как таблицу на​: , это же​ шифры?​ много дополнительных телодвижений​

  2. ​ работ (шифров); есть​ исключение. Если переименовать​

    ​ хотите использовать в​ список всех возможных​ о необходимости установления​

  3. ​ территории, и вы​ разобраться с полями,​ Нужны одинаковые значения,​​(Цена) нажмите​​ использовать. Дополнительные сведения​​.​​ без дубликатов. Excel​​ материалами на вашем​​ новый лист.​

  4. ​ и есть пример,​P.S. Не шифры,​ (сцепка формулой слоёв​ список, в котором​ таблицы в Excel,​ связанной таблице.​ связей исходя из​ связи при перетаскивании​ впоследствии импортируете демографические​

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

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

​(Бесплатно).​​ Создание связи в​​Пример. Связывание данных логики​ только в том​ переведена автоматически, поэтому​

  1. ​ таблиц понятное имя:​​ виде — нет?​​ И макет сводной​​ расцепление по разделителю​​ (список слоёв) и​

  2. ​ таблицу в Power​​ как таблицы.​​ таблицах, и ранжирует​Значения​​ есть ли корреляция​​Хотя Excel может подсказать​ разделе «Могут потребоваться​Найдите​ представлении диаграммы в​ операций со временем​ случае, если один​ ее текст может​ На вкладке Работа​Андрей VG​ сделать в табличном​ и построение сводной​ есть ведомость ведения​ Pivot.​Выберите​ возможные связи в​

  3. ​существующей сводной таблицы​​ между продажами и​​ вам, когда необходима​ связи между таблицами»​US Air Carrier Flight​​ Power Pivot.​​ с данными по​ столбец содержит уникальные​ содержать неточности и​ с таблицами щелкните​: Не понял вопроса.​

  4. ​ виде. Прикрепленные файлы​​ уже по итогам)​​ работ (в которую​Совет:​Главная​ соответствии с их​ в случае, если​​ демографическими тенденциями на​​ связь, он не​

  5. ​ нажмите​​ Delays​​Вы можете узнать о​ рейсам авиакомпании​ значения.​ грамматические ошибки. Для​ Конструктор > Имя​​ Сводная сформирована как​​ PT_FieldsCol.png (27.65 КБ)​

  6. ​The_Prist​​ заносятся комплексы работ​​ Работа в учебнике Дополнительные​

Дополнительные сведения о связях между таблицами в Excel

​>​

​ вероятностью. Затем Excel создает​ это поле не​ каждой территории. Так​ может подсказать, какие​

​Создать​и нажмите​

​ связях обеих таблиц​»Могут потребоваться связи между​

​Например, чтобы связать продажи​ нас важно, чтобы​ таблицы и введите​ на листе «СВОДНАЯ​Jack_Famous​

Примечания о связях

  • ​: а какие там​ с количеством и,​ сведения о связанных​Форматировать как таблицу​ только наиболее вероятную​ связано ни с​ как демографические данные​ таблицы и столбцы​.​Select​ и логики операций​

  • ​ таблицами»​ клиента с логикой​ эта статья была​ имя.​ КАК НАДО» насколько​: , действительно больше​ связи? У сводной​ например, этажом). Так​ таблиц, читайте в​, а затем выберите​ связь. Поэтому, если​ одним из существующих​ поступают из различных​ использовать, а также​В поле «Связанная таблица»​(Выбрать).​

  • ​ со временем с​Шаг 1. Определите, какие таблицы​ операций со временем,​ вам полезна. Просим​Убедитесь, что столбец​ получилось настроить такое​ обрезать уже некуда.​ связи всегда просты​ вот…в ведомость заносятся​ статье Учебник: анализ​ стиль таблицы. Можно​ таблицы содержат несколько​ в сводной таблице​ источников, то их​ возможна ли связь​ выберите​Прокрутите вниз и нажмите​ помощью свободных данных​ указать в связи​ обе таблицы должны​ вас уделить пару​ в одной из​ же отображение. Хотя,​ Про компоновку сводной​ — она берет​ только шифры работ,​ данных сводной таблицы​ выбрать любой стиль,​ столбцов, которые могут​ полей. Однако иногда​ таблицы первоначально изолированы​ между таблицами. Чтобы​On_Time_Performance​Select Query​

  • ​ на Microsoft Azure​Шаг 2. Найдите столбцы, которые​ включать дату в​ секунд и сообщить,​ таблиц имеет уникальные​ так и не​

  • ​ — я так​ исходные данные и​ без слоёв, т.к.​ с использованием модели​ но не забудьте​ использоваться в качестве​ связь после уведомления​ от остальной части​ получить ответы на​

Пример. Связывание данных логики операций со временем с данными по рейсам авиакомпании

​, а в поле​(Запрос на выборку).​ Marketplace. Некоторые из​ могут быть использованы​ одинаковом формате (например,​ помогла ли она​ значения без дубликатов.​ понял смысл такого​ и сделал: из​ все…Дальше Вы просто​ работы считаются комплексами.​ данных в Excel.​ всегда выберите​

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

  2. ​ «Связанный столбец (первичный​​Нажмите кнопку​​ этих наборов данных​​ для создания пути​​ 01.01.2012) и по​​ вам, с помощью​​ Excel может создавать​ дублирующего вывода.​ таблицы «работа» закинул​ крутите данные как​

  3. ​ В то же​​По умолчанию связанная таблица​​Таблица с заголовками​​ могут получить более​​ Это может произойти​

  4. ​ демографических данных с​​ сделать следующее.​​ ключ)» —​​Далее​​ очень велики, и​

  5. ​ от одной таблицы​​ крайней мере в​​ кнопок внизу страницы.​​ связи только в​​P. S. Вариант,​

  6. ​ количество в значения,​ хотите в пределах​​ время, 2 разных​​ находится активного подключения,​. Если таблица не​

  7. ​ низкий ранг и​​ по разным причинам.​​ остальной частью своей​

  8. ​Если ваша модель содержит​​FlightDate​​.​

  9. ​ для их загрузки​​ к другой​​ одной таблице (логика​​ Для удобства также​​ том случае, если​ максимально удовлетворяющий оформлению​ а шифр в​ сводной, чтобы получить​ шифра могут отличаться​ которая сохраняется между​ содержит заголовков, рекомендуется​​ не будут автоматически​​Алгоритм обнаружения связей зависит​

  10. ​ модели вам нужно​ всего лишь несколько​​.​​Нажмите​​ за разумное время​​Вы узнаете, существуют ли​​ операций со временем)​​ приводим ссылку на​

  11. ​ один столбец содержит​​ вывода на «СВОДНАЯ​​ строки. Потом в​​ некий анализ данных.​​ всего 1 работой,​

  12. ​ диапазон или именованный​​ создать их сейчас.​​ созданы даже в​​ от внешнего ключевого​​ будет найти столбец​

  13. ​ таблиц, понятно, какие​​В поле «Таблица» выберите​Готово​​ необходимо быстрое подключение​​ связи, при перетаскивании​​ должны быть перечислены​

  14. ​ оригинал (на английском​​ уникальные значения.​​ КАК НАДО» (всего​

  15. ​ строки закинул слои​​ Но в Access​​ то есть в​

  16. ​ таблицу, содержащую значения​​ В противном случае​​ том случае, если​ столбца, имя которого​ в одной из​ из них нужно​BasicCalendarUS​для импорта данных.​ к Интернету.​ полей из разных​​ все даты только​​ языке) .​Например, чтобы связать​ то в двух​ из соответствующей таблицы.​ же связь «один-ко-многим»​ целом практически полностью​

  17. ​ данных и модели​ — Excel будет​​ связь является действительной.​​ схоже с именем​​ демографических таблиц, соответствующий​​ использовать. Но для​, а в поле​ При быстром подключении​​Запустите надстройку Power Pivot​​ таблиц в список​ один раз в​​Вы применяли функцию ВПР,​​ продажи клиента с​ местах отметиться).​ Несмотря на 2​ не так работает,​ повторять друг-друга и​ данных, которое управляет​ использовать произвольные имена​Если алгоритм автоматического обнаружения​​ первичного ключевого столбца.​​ тому, который вы​ больших моделей вам​ «Столбец (чужой)» —​ к Интернету импорт​ в Microsoft Excel​

  18. ​ полей сводной таблицы.​ столбце.​​ чтобы переместить данные​​ логикой операций со​Jack_Famous​ связи (работа-шифр и​

  19. ​ нет? Она там​ такие одинаковые слои​​ отчета. Если добавления​​ (Столбец1, Столбец2 и​​ предлагает связь, которая​​ Если имена столбцов​ уже используете. Например,​ может понадобиться помощь.​DateKey​ займет около 15 минут.​ и откройте окно​

  20. ​ Если вам не​​Щелкните​​ столбца из одной​​ временем, обе таблицы​​: , я ещё​ слои-шифр) сводная не​

  21. ​ больше для удобства​ нужно будет искать​ или удаления данных​ т. д.), которые​ не решает бизнес-задачи,​ недостаточно похожи, рекомендуется​ если демографические данные​

  22. ​ Один из способов​. Нажмите​ После выполнения вы​ Power Pivot.​​ будет предложено создать​​Данные​

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

  24. ​ то необходимо удалить​​ открыть окно Power​​ организованы по регионам​ заключается в том,​​ОК​​ увидите отчет о​​Нажмите​​ связь, то в​

  25. ​>​ Так как в​ в одинаковом формате​ — вы сделали​

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

​ чтобы использовать представление​для создания связи.​ состоянии перемещения 2 427 284​Получение внешних данных​ Excel уже есть​

​Отношения​​ Excel теперь есть​ (например, 01.01.2012) и​ как на вкладке​ этому шифру, а​ а не для​ таблички и сводная​ данных будет автоматически​ столбца.​

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

  2. ​ строк. Нажмите​​ >​​ сведения, необходимые для​

  3. ​.​​ встроенная модель данных,​​ по крайней мере​

  4. ​СВОДНАЯ КАК ПОЛУЧАЕТСЯ​​ какие — нет​​ анализа.​

​ по ним (всем​ обновляться.​Присвоение имени таблице. В​ верного ключевого столбца.​ между таблицами.​ область продажи, то​ Power Pivot. Представление​ задержки в настоящее​Закрыть​​Из службы данных​​ связи данных.​Если команда​ функция ВПР устарела.​ в одной таблице​. Различие со сводной​ и пихает ВСЕ​Юрий М​

«Могут потребоваться связи между таблицами»

​ трём)​В некоторых случаях может​ окне​ См.​Типы данных могут не​ вы могли бы​ диаграммы обеспечивает визуализацию​ время отличается для​

Кнопка

​. Теперь у вас​ >​Создание связей подобно использованию​Отношения​ Вы можете создать​ (логика операций со​ на вкладке​ слои во ВСЕ​: До «резки» -​с налаженными связями​ потребоваться управление поведением​

Шаг 1. Определите, какие таблицы указать в связи

​Excel​К началу страницы​ поддерживаться. Если любая​ связать два набора​ всех таблиц в​ каждого месяца.​ есть две таблицы​Из Microsoft Azure Marketplace​ команд vlookup. Необходимы​недоступна, значит книга​ связь между двумя​ временем) должны быть​СВОДНАЯ КАК НАДО​ шифры с присвоением​ 65,79К. После «резки»​. Однако, мы с​ обновления. Переключитесь в​щелкните​Примечание:​ из таблиц, используемых​

Представление диаграммы, в котором показаны несвязанные таблицы

​ данных, найдя общие​​ модели данных. С​В таблице​ в модели данных.​. В мастере импорта​ столбцы, содержащие совпадающие​ содержит только одну​ таблицами на основе​ перечислены все даты​в том, что​ им значения шифра…​ — 65,79К. А​ ней друг-друга не​ режим ручного обновления​Работа с таблицами >​Мы стараемся как​ в сводной таблице,​ столбцы, такие как​ помощью него вы​BasicCalendarUS​ Чтобы связать их,​ таблиц откроется домашняя​ данные, так что​ таблицу.​ совпадающих данных в​ только один раз​ на ней слои​Jack_Famous​ чем они отличаются?​ понимаем…она пихает все​ с помощью надстройки​ Конструктор​ можно оперативнее обеспечивать​ содержит столбцы только​ государство, почтовый индекс​ можете быстро определить,​перетащите​ нужны совместимые столбцы​ страница Microsoft Azure​

Шаг 2. Найдите столбцы, которые могут быть использованы для создания пути от одной таблице к другой

​ Excel может создавать​В окне​ них. Затем можно​ в столбце.​ соответствуют своим шифрам,​: Прошу всех меня​Файл не открывал,​ слои в КАЖДЫЙ​ Power Pivot.​. В группе​

​ вас актуальными справочными​ неподдерживаемых типов данных,​ или регион, чтобы​ какие таблицы отделены​YearKey​ в каждой таблице.​ Marketplace.​ перекрестные ссылки для​Управление связями​ создать листы Power​Щелкните Данные> Отношения.​ в не запихиваются​ простить за невнимательность…отпишусь​ если он даже​ шифр, а я​Выполните следующие действия, чтобы​Свойства​ материалами на вашем​ то связи обнаружить​ обеспечить подстановку.​ от остальной части​в область строк​Убедитесь, что значения в​В разделе​ строк из одной​нажмите кнопку​ View или сводные​Если команда Отношения​ всем скопом (19​ по итогам позже…​ в архиве такого​ считаю такое поведение​ перейти в режим​введите имя таблицы.​ языке. Эта страница​ невозможно. В этом​

​Кроме совпадающих значений есть​ модели.​ над пунктом​

  • ​ столбце​Price​ таблицы на строки​Создать​ таблицы и другие​ недоступна, значит книга​ штук) в каждый​ был прав по​ размера…​ легкомысленным))) Уповаю на​ ручного обновления.​Поместите курсор в любую​ переведена автоматически, поэтому​ случае необходимо создать​

  • ​ несколько дополнительных требований​Примечание:​MonthInCalendar​DateKey​(Цена) нажмите​ другой таблицы. В​.​

​ отчеты с полями​ содержит только одну​ шифр​ поводу «разброса» полей…​

​Jack_Famous​

support.office.com

Устранение неполадок в связях между таблицами

​ вашу помощь​Убедитесь, что открыта книга,​ ячейку таблицы.​ ее текст может​ связи между активными​ для создания связей.​ Можно создавать неоднозначные связи,​.​в таблице​Free​

​ примере с логикой​В окне​ из каждой таблицы,​ таблицу.​Jack_Famous​ Я поместил шифр​: , я имел​vikttur​ содержащая связанную таблицу​Щелкните​ содержать неточности и​ таблицами в сводной​

Сообщение. Связи не были обнаружены

​Значения данных в столбце​ которые являются недопустимыми​Теперь вы можете разделить​BasicCalendarUS​(Бесплатно).​​ операций со временем​​Создание связи​ даже если они​В окне Управление​: Прикрепляю текущее решение​ из «работа», а​ ввиду вот это​: Посмотрел, закрыл… Это​ в Microsoft Excel.​Power Pivot​ грамматические ошибки. Для​ таблице вручную в​

  • ​ подстановки должны быть​ при использовании в​ задержки прибытия по​указаны в формате​В разделе​ таблица клиента должна​щелкните стрелку рядом​ получены из различных​ связями нажмите кнопку​ этой проблемы в​ надо было из​

  • ​и это​ же нужно время,​Откройте окно Power Pivot.​>​ нас важно, чтобы​ диалоговом окне​ уникальными. Другими словами,​ сводной таблице или​ годам и месяцам,​ 01.01.2012 00:00:00. В​Category​ содержать значения даты,​ с полем​​ источников. Например, если​​ Создать.​ упрощённом виде на​ «слои»… Пошёл тестить​The_Prist​

В сводную таблицу добавлены несвязанные поля, однако сообщение не выдается

​ чтобы понять… Пример​На вкладках в нижней​Добавить в модель данных​ эта статья была​Создание связи​ столбец не может​ отчете Power View.​ а также другим​ таблице​(Категория) нажмите​ которые есть и​Таблица​ у вас есть​В окне Создание​ примере всего​ варианты…​​: Юр, автор изменил​​ простенький составить -​

Отсутствует допустимая связь между таблицами

​ щелкните связанную таблицу.​, чтобы создать связанную​ вам полезна. Просим​. Дополнительные сведения см.​ содержать дубликаты. В​ Пусть все ваши​ значениям в календаре.​On_Time_Performance​Science & Statistics​ в таблице логики​

​и выберите таблицу​ данные о продажах​ связи щелкните стрелку​3​Jack_Famous​ файл прямо в​ никак?​ Любой связанной таблицы​ таблицу. В окне​ вас уделить пару​ в разделе Создание​ модели данных нули​

При автоматическом обнаружении созданы неверные связи

​ таблицы связаны каким-то​Советы:​также есть столбец​(Наука и статистика).​ операций со временем.​ из раскрывающегося списка.​ клиентам, вам может​ рядом с полем​типов отделки полов.​: Теперь другая беда.​ стартовом сообщении​Jack_Famous​ обозначается значком маленькую​ Power Pivot вы​ секунд и сообщить,​ связи между двумя​ и пустые строки​ образом с другими​ По умолчанию месяцы перечислены​ даты и времени​Найдите​

​В модели данных связи​ В связи «один​ потребоваться импортировать и​ Таблица и выберите​ Может натолкнёт кого-то​ Сумму всех работ​Jack_Famous​: ща порежу))))))​

​ ссылку рядом с​

support.office.com

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

​ увидите таблицу со​​ помогла ли она​ таблицами.​ эквивалентны пустому полю,​ таблицами в модели,​ в алфавитном порядке.​FlightDate​DateStream​ таблиц могут быть​ ко многим» эта​ связать данные логики​ таблицу из раскрывающегося​ на более изящное…​ присваивает каждому шифру​: , верно сказал​vikttur​ именем таблицы.​ значком ссылки, который​ вам, с помощью​Автоматическое обнаружение связей запускается​ которое является самостоятельным​ но при попытке​

​ С помощью надстройки​, значения которого указаны​и выберите команду​ типа «один к​ таблица должна быть​ операций со временем,​ списка. В связи​Андрей VG​ Прикрепленные файлы 2016-03-27​ — изменил и​: Т.е. сразу нельзя​На ленте в верхней​ означает, что таблица​ кнопок внизу страницы.​ только для мер​ значением данных. Это​ объединения полей из​ Power Pivot вы​

​ в том же​подписаться​ одному» (у каждого​ частью с несколькими​​ чтобы проанализировать тенденции​​ «один ко многим»​: Понял разницу.​ 13-57-40 Скриншот экрана.png​ исходник. А большой,​ было?​ части откройте вкладку​ связана с исходной​ Для удобства также​

​ и не запускается​ означает, что не​ разных таблиц вы​

  1. ​ можете изменить порядок​ формате: 01.01.2012 00:00:00.​.​ пассажира есть один​

  2. ​ элементами. В примере​ продаж по годам​

    • ​ эта таблица должна​​Под Power Pivot​​ (6.81 КБ) 2016-03-27​​ потому что для​​Да и вообще​Связанная таблица​ таблицей в Excel.​ приводим ссылку на​ для вычисляемых полей,​​ может быть несколько​​ получите сообщение «Могут​ сортировки так, чтобы​ Два столбца содержат​Введите свои учетные данные​ посадочный талон) или​ с клиентами и​ и месяцам.​ быть частью с​ 2016 «вытанцевал». Для​ 13-58-39 Скриншот экрана.png​ осуществления связи в​

    • ​ — можно ведь​.​​Если модель уже содержит​​ оригинал (на английском​​ которые используются в​ нулей в столбце​​ потребоваться связи между​​ они отображались в​​ совпадающие данные одинакового​

  3. ​ Майкрософт и нажмите​ «один ко многим»​

  4. ​ логикой операций со​​Все таблицы в книге​​ несколькими элементами. В​​ 2013 надо подумать.​​ (60.7 КБ)​ сводной приходится добавлять​ отвлеченный пример: пару​В режиме обновления выберите​ таблиц, есть только​ языке) .​ метках строк и​ подстановок.​

    Значок связанной таблицы

  5. ​ таблицами». Наиболее вероятной​ хронологическом порядке.​ типа и по​Sign in​ (в каждом рейсе​ временем необходимо сначала​ указываются в списках​ примере с клиентами​Успехов.​The_Prist​ таблицы-источники в модель​ ячеек туда, пару​вручную​

​ одно действие. Следует​Связанная таблица представляет собой​ столбцов сводной таблицы.​Типы данных столбца подстановок​ причиной является то,​Таблица​ крайней мере один​(Вход). Откроется окно​​ много пассажиров), но​​ выбрать таблицу продаж​ полей сводной таблицы​ и логикой операций​P. S. Так​: Я же написал​

​ данных — она​ сюда, связи… Иначе​или​ создать связь между​ таблицу Excel, которая​ Поэтому перед началом​ и исходного столбца​ что вы столкнулись​BasicCalendarUS​ из столбцов (​

​ предварительного просмотра данных.​ не «многие ко​ клиентов, потому что​ и Power View.​ со временем необходимо​ и не ответили​

​ — кол-во поместить​​ «сжирает» бОльшую часть…​ может получиться, что​автоматически​ новой таблицы, который​ содержит ссылки на​ построения сводной таблицы​ должны быть совместимы.​

Синхронизация изменений между таблицей и моделью

​ со связью «многие​должна быть открыта​DateKey​Прокрутите вниз и нажмите​ многим». Связи «многие​ каждый день, скорее​При импорте связанных таблиц​ сначала выбрать таблицу​ — зачем эти​ В СТОЛБЦЫ.​Юрий М​ после «порежу» вопросы​. Автоматическое используется по​

​ вы только что​ таблицы в модели​ несвязанные таблицы можно​ Подробнее о типах​ ко многим». Если​ в окне Power​

​) содержит только уникальные​Select Query​ ко многим» приводят​

  1. ​ всего, происходит множество​ из реляционной базы​ продаж клиентов, потому​

  2. ​ дубли для слоёв?​

  3. ​Jack_Famous​: Зачем тогда ещё​ останутся.​ умолчанию. При переключении​ добавили и другими​ данных. Преимущество Создание​

  4. ​ добавить, однако связи​ данных см. в​​ вы будете следовать​​ Pivot.​

  5. ​ значения. В следующих​​(Запрос на выборку).​​ к ошибкам циклической​​ продаж.​​ данных Excel часто​ что каждый день,​ Информация я то​: , Несколько вариантов…​ один? )​​The_Prist​​ на вручную, будет​​ таблицами в модели.​​ и обслуживание данных​ не будут видны​ статье Типы данных​ цепочке связей между​​В главной таблице нажмите​​ действиях вы будете​Нажмите кнопку​ зависимости, таким как​

support.office.com

Осуществление динамической связи «один-ко-многим» между таблицами Excel

​Для элемента​​ может создавать эти​ скорее всего, происходит​ одна и та​В правилах -​Jack_Famous, а именно​: Файл не открывал,​ обновляются только при​ Подробные инструкции Создание​ в таблице Excel,​ до тех пор,​ в моделях данных.​ таблицами, которые подключаются​Сортировка по столбцу​ использовать эти столбцы,​Далее​ «Обнаружена циклическая зависимость».​Столбец (чужой)​ связи в модели​ множество продаж.​ же, в чём​ о размере вложения.​ НЕБОЛЬШОЙ файл-аналог создать​ но судя по​ использовании​ отношения между двумя​ вместо импорта данных​ пока поле не​Подробнее о связях таблиц​ к необходимым для​.​ чтобы связать таблицы.​.​ Эта ошибка может​выберите столбец, который​ данных, формируемой в​Для элемента Столбец​ «священный» смысл?​ Рисунки удалены [МОДЕРАТОР]​ нет никакой возможности?​
​ названию и описанию…Если​Обновить все​ таблицами или Создание​ из файла, будет​​ будет перемещено в​​ см. в статье​ вас таблицам, то​В поле «Сортировать» выберите​В окне Power Pivot​Чтобы импортировать данные, выберите​ произойти, если вы​ содержит данные, относящиеся​ фоновом режиме. В​:cry:

​ (чужой) выберите столбец,​​Jack_Famous​The_Prist​vikttur​ речь про аналог​или​

​ связей в представлении​​ продолжить изменение значений​

​ область​​ Связи между таблицами​ вы, вероятно, обнаружите​
​MonthInCalendar​ нажмите​BasicCalendarUS​ создаете прямое подключение​ к элементу​ других случаях необходимо​ который содержит данные,​: , спасибо -​

​: Вот разве на​​: Об этом и​ таковой связи в​Обновление выбранных​ схемы .​ на листе Excel​Значения​ в модели данных.​ наличие двух или​.​Сводная таблица​и нажмите​ между двумя таблицами​

​Связанный столбец (первичный ключ)​​ создавать связи вручную.​:D​ относящиеся к элементу​ решение верное))) я​

​ первом скрине не​​ посал в сообщении​ Access — то​команд на ленте​Если книга не содержит​ во время использования​

​.​​К началу страницы​ более связей «один​В поле «По» выберите​, чтобы создать сводную​Готово​ со связью «многие​. Например, при наличии​Убедитесь, что книга содержит​ Связанный столбец (первичный​ так понял, вся​ оно? Остается только​ №2​ чтобы это осуществить​

​ связанной таблицы в​​ ранее одну, теперь​ связанной таблицы в​Иногда таблицы, добавляемые в​При импорте нескольких таблиц​ ко многим» между​MonthOfYear​ таблицу на новом​. При быстром подключении​ ко многим» или​ столбца даты в​ хотя бы две​ ключ). Например, при​ соль в вычисляемом​ помимо расположения поля​Не нужна сводная,​ в Excel надо​ окне Power Pivot​ есть модель данных.​ модели данных в​

​ сводную таблицу, просто​​ Excel пытается обнаружить​ таблицами. Не существует​.​ или существующем листе.​
​ к Интернету импорт​ непрямые подключения (цепочку​ обеих таблицах необходимо​ таблицы и в​

​ наличии столбца даты​​ столбце «мера», -​ «кол-во» в столбцах​
​ которая грузит файл.​

​ изрядно потрудиться и​​ — или​ Модель создается автоматически,​ качестве основы для​:)

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

​ именно он правильно​​еще и в значения​ Нужен пример данных​
​ то не факт,​Обновить все​ когда вы создаете​

​ сводной таблицы ,​​ другими таблицами. Например,​ между этими таблицами,​ который бы работал​
​ каждую комбинацию «месяц​ таблицу​ После выполнения вы​ которой каждая таблица​
​ именно сейчас.​ есть столбец, который​ необходимо выбрать этот​ подставляет значения? Что​его закинуть.​

​ и пример результата.​​ что получится что-то​команды на ленте​ связь между двумя​ Сводной диаграммы или​ две таблицы могут​ поэтому нет необходимости​ в любой ситуации,​ и год» (октябрь​On_Time_Performance​ увидите отчет о​ связана со следующей​В поле​ можно сопоставить со​ столбец именно сейчас.​
​ это такое? =SUMX(SUMMARIZE(NATURALINNERJOIN(‘работа’,’слои’),[Кол-во]),[Кол-во])​А, нет. Вижу.​Хотя, похоже, Дима​ действительно удобное.​ Power Pivot в​ таблицами или нажмите​

​ Power View отчета.​​ иметь частично совпадающие​ создавать связи вручную​ но вы можете​ 2011, ноябрь 2011)​и нажмите​ состоянии перемещения 73 414​ отношением «один ко​Связанная таблица​ столбцом из другой​В поле Связанная​ — эта формула​ Он столбцов же​ уже дал ответ.​Jack_Famous​ Microsoft Excel.​ кнопку​Добавление связанной таблицы так​ данные, но не​ или создавать сложные​ попробоватьсоздать вычисляемые столбцы,​ по номеру месяца​ArrDelayMinutes​

​ строк. Нажмите​​ многим», но между​выберите таблицу, содержащую​ таблицы.​ таблица выберите таблицу,​ меня убивает((( даже​ сделает столько, сколько​ И замечание по​:​Jack_Famous​Добавить в модель данных​

​ же просто, как​​ иметь логических связей​ обходные решения, чтобы​ чтобы консолидировать столбцы,​ в году (10,​, чтобы добавить их​Закрыть​ первой и последней​ хотя бы один​

​Отформатируйте данные в виде​​ содержащую хотя бы​ не знаю, с​ уникальных чисел в​

​ файлу — для​​готово. Я за​
​: Доброго дня, уважаемые​в Power Pivot.​ выделение диапазона и​

​ с другими используемыми​​ работать с данными​ которые вы хотите​ 11). Изменить порядок​ в область значений.​.​​ образуется отношение «многие​​ столбец данных, которые​
​ таблицы или​ один столбец данных,​ чего начать…​ кол-ве. Ну, других​ «мотания на ус»​ мир)))​ форумчане! Поднакопил материала,​ Подробнее об этом​

​ выберите команду​​ таблицами.​ целостным способом.​ использовать в одной​:cry:​ сортировки несложно, потому​ В сводной таблице​

​Чтобы импортировать второй набор​​ ко многим»). Дополнительные​
​ связаны с таблицей,​импортируйте внешние данные как​

​ которые связаны с​​Марина в​ автоматизированных вариантов нет.​The_Prist​The_Prist​

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

​: Не пробовали слой​​ решился-таки на вопрос​ Создание модели данных​. Также полезно форматировать​ таблицу таблицу, которую​​ определить связь между​​После того как вы​DateStream​​ время задержанных рейсов​​Получение внешних данных​ статье Связи между​Таблица​ лист.​ поле Таблица.​Яr​ данные каким-нибудь кодом.​

​ так небольшой и​​ шифра в столбцы​ об осуществлении связи​ в Excel.​ как таблицу, а​​ нельзя соединить с​​ таблицами. В этом​ определили, какая таблица​предоставляет все необходимые​

​ в минутах.​​ >​
​ таблицами в модели​.​Присвойте каждой из таблиц​
​В поле Связанный​
​: двойным морским узлом,​Jack_Famous​ все понятно. Просто​ расположить? Сам не​ типа «один-ко-многим» в​Теперь, когда у вас​ затем Укажите собственное​ другой таблицей, то​

​ случае используйте информацию​​ не связана с​ столбцы для работы​Разверните таблицу​Из службы данных​ данных.​В поле​ понятное имя: На​ столбец (первичный ключ)​Убедитесь, что книга​: Вот и я​ лично у меня​ могу — сбой​

planetaexcel.ru

Как в Excel связать таблицы?

​ Excel. Как её​​ есть связанную таблицу,​

​ имядиапазона. Намного проще​​ обычно автоматическое обнаружение​
​ из этой статьи​ остальной частью модели,​ этого сценария. Если​BasicCalendarUS​ >​Типы данных в двух​Связанный столбец (первичный ключ)​ вкладке​
​ выберите столбец, содержащий​ содержит хотя бы​
​ о том же​ Excel 2010 и​ подключения к данным.​
​ осуществить в Access​ вы можете редактировать​ выполнять вычисления и​ не даст никаких​ для устранения ошибок​ пересмотрите столбцы в​ вы используете другую​
​и нажмите​Из Microsoft Azure Marketplace​ столбцах должны быть​выберите столбец, содержащий​Работа с таблицами​ уникальные значения, которые​ две таблицы и​ (((((​ поэтому не могу​
​Jack_Famous​ примерно представляю, но​ любую ячейку на​ управление ими связей​ результатов. В других​ автоматического обнаружения связей. Чтобы​ ней, чтобы определить​ таблицу логики операций​MonthInCalendar​.​ совместимы. Подробные сведения​ уникальные значения, которые​щелкните​ соответствуют значениям в​
​ в каждой из​
​а PowerPivot не​ со сводной ничего​: , просто не​ Excel куда более​
​ листе, в том​ с помощью именованных​ случаях по результатам​
​ лучше понять требования​ содержит ли другой​ со временем, ваши​, чтобы добавить его​В разделе​ см. в статье​ соответствуют значениям в​Конструктор​ столбце, выбранном в​ них есть столбец,​ поможет?​ сделать, т.к. 2010​ понимаю — неужели​ гибкий, близкий и,​ числе добавление и​ связанные таблицы.​ в сводной таблице​ и механизмы обнаружения​
​ столбец в другом​ действия будут другими.​ в область строк.​Type​ Типы данных в​ столбце, выбранном в​>​ поле Столбец.​ который можно сопоставить​Андрей VG​
​ не поддерживает связи​ связи в сводной​ самое главное, проверенный​ удаление строк и​Выполните следующие действия, чтобы​ видно, что поля​ связей, см. раздел​
​ месте модели соответствующие​По мере добавления полей​Обратите внимание, что теперь​(Тип) нажмите​ моделях данных.​ поле​Имя таблицы​
​Нажмите кнопку ОК.​

​ со столбцом из​

Like this post? Please share to your friends:
  • Excel связь между столбцами
  • Excel символ любого значения
  • Excel связь между двумя файлами
  • Excel символ любая цифра
  • Excel связь данных по листам