Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Эта статья относится к Power BI Desktop, а не к службе Power BI. Если вы используете службу Power BI, отношения "многие ко многим" в настоящее время не поддерживаются таким же образом.
Связи "многие ко многим" происходят, когда значение в одной таблице может быть связано с несколькими значениями в другом — и наоборот. Это часто происходит в таких сценариях, как клиенты с несколькими учетными записями или учащиеся, зарегистрированные в нескольких курсах.
Почему отношения "многие ко многим" имеют значение
В традиционных отношениях "один ко многим" каждое значение в одной таблице соответствует только одному значению в другой. Но реальные данные часто нарушают это правило. Power BI Desktop поддерживает связи "многие ко многим" для точной модели этих сценариев.
Как моделировать связи "многие ко многим"
Чтобы создать связь "многие ко многим", обычно требуется связывающая таблица. Эта таблица подключает две основные таблицы, перечисляя все допустимые сочетания их ключей.
Пример: клиенты и учетные записи
Предположим, что у вас есть две таблицы:
-
Таблица клиента: содержит уникальные
CustomerIDзначения -
Таблица учетных записей: содержит уникальные
AccountIDзначения
Затем таблица бриджинга (AccountCustomer) содержит такие строки:
-
CustomerID = 91,AccountID = 1 -
CustomerID = 92,AccountID = 1 -
CustomerID = 92,AccountID = 2
Эта таблица бриджинга позволяет Power BI понять, какие клиенты принадлежат к каким учетным записям, даже если есть перекрытия.
Создание связей
После настройки таблиц, включая связующую таблицу, необходимо определить связи между ними, чтобы Power BI понимала, как данные соединяются. Этот шаг необходим для обеспечения точной фильтрации и анализа в модели. Это можно сделать в представлении "Управление связями " Power BI Desktop, где можно связать поля и управлять потоком фильтров между таблицами.
- Создайте связи "один ко многим":
- Из
CustomerIDв таблице Customer вCustomerIDв таблице AccountCustomer. - Из
AccountIDтаблицы "Учетная записьAccountID" в таблицу AccountCustomer.
- Из
- При необходимости скрыть сводную таблицу из представления отчета. Он используется для моделирования, а не для создания отчетов.
Используйте модель
После определения связей Power BI использует их для автоматического подключения и фильтрации данных в таблицах. Это позволяет создавать визуальные элементы, которые отражают реальное взаимодействие, например, как клиенты связаны с учетными записями или как транзакции связаны с обоими.
Модель обрабатывает логику за кулисами, поэтому вам не нужно создавать сложные таблицы DAX или вручную присоединять таблицы. Вместо этого можно сосредоточиться на создании отчетов, которые динамически реагируют на фильтры и слайсеры.
После установки связей:
- Вы можете фильтровать учетные записи по клиентам и клиентов по учетным записям.
- Вы можете добавить таблицу фактов (например,
Transactions), которая подключается кAccountIDи анализирует активность по клиентам, учетным записям и времени.
Советы для начинающих
- Всегда используйте уникальные идентификаторы в таблицах.
- Используйте мостовые таблицы для разрешения связей "многие ко многим".
- Избегайте циклических связей. Power BI предупреждает вас, если они происходят.
- Эта функция доступна только в Power BI Desktop.