Поделиться через


Создавать связи

Применимо к: SQL Server 2019 и более поздних версий Analysis Services Azure Analysis Services Fabric/Power BI Premium

В этом занятии вы проверите связи, созданные автоматически при импорте данных, а также добавите новые связи между различными таблицами. Связь — это соединение между двумя таблицами, которое определяет, каким образом должны соотноситься данные этих таблиц. Например, у таблиц DimProduct и DimProductSubcategory есть связь, основанная на том факте, что каждый продукт в таблице DimProduct принадлежит к подкатегории в таблице DimProductSubcategory. Дополнительные сведения см. в статье Связи.

Важно!

В настоящее время образец базы данных AdventureWorksDW по умолчанию, установленный вместе с Azure Synapse Analytics (SQL Data Warehouse), не имеет связей между таблицами, описанными в этом руководстве. Вам придется вручную создать все связи. Создание связей вручную описано далее в этом уроке.

Предполагаемое время выполнения этого занятия: 10 минут

Предварительные требования

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

Обзор существующих связей и добавление новых

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

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

Просмотр существующих связей

  1. Щелкните меню >Модельпредставление>диаграммы.

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

    Снимок экрана: представление схемы файла Model.bim.

    Примечание

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

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

  2. Щелкните сплошную линию между таблицами DimCustomer и DimGeography. Сплошная линия между этими двумя таблицами показывает, что связь активна, то есть используется по умолчанию при вычислении формул DAX.

    Обратите внимание, что столбец GeographyKey таблицы DimCustomer и столбец GeographyKey таблицы DimGeography вместе появились в поле. Эти столбцы используются для построения связи. Свойства связи теперь также отображаются в окне Свойства .

    Совет

    Вы также можете использовать диалоговое окно Управление связями для отображения связей между всеми таблицами в формате таблицы. В Обозреватель табличной модели щелкните правой кнопкой мыши Связь>Управление связями.

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

    Активен Таблица Связанная таблица подстановки
    Да DimCustomer [GeographyKey] DimGeography [GeographyKey]
    Да DimProduct [ProductSubcategoryKey] DimProductSubcategory [ProductSubcategoryKey]
    Да DimProductSubcategory [ProductCategoryKey] DimProductCategory [ProductCategoryKey]
    Да FactInternetSales [CustomerKey] DimCustomer [CustomerKey]
    Да FactInternetSales [ProductKey] DimProduct [ProductKey]

    При отсутствии связей убедитесь, что модель включает в себя следующие таблицы: DimCustomer, DimDate, DimGeography, DimProduct, DimProductCategory, DimProductSubcategory и FactInternetSales. Если таблицы из одного подключения к источнику данных импортируются в отдельное время, все связи между этими таблицами не создаются и должны создаваться вручную. Если связи не отображаются, это значит, что в источнике данных нет связей. Их можно создать вручную в модели данных.

Более подробный взгляд

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

Снимок экрана: представление схемы с выделенными стрелками, звездочками и числами.

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

Снимок экрана: диалоговое окно

Эти функции предназначены для расширенного моделирования данных и выходят за рамки данного учебника. Дополнительные сведения см. в разделе Двунаправленные кросс-фильтры для табличных моделей в службах Analysis Services.

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

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

  1. В конструкторе моделей в таблице FactInternetSales щелкните и удерживайте столбец OrderDate , а затем перетащите курсор в столбец Date в таблице DimDate , а затем отпустите.

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

    Снимок экрана: конструктор моделей с элементами OrderDate и Date, показывающими сплошную линию между таблицами.

    Примечание

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

  2. В таблице FactInternetSales нажмите и удерживайте столбец DueDate и перетащите курсор в столбец Date таблицы DimDate.

    Появится пунктирная линия, показывающая, что вы создали неактивную связь между столбцом DueDate в таблице FactInternetSales и столбцом Date в таблице DimDate . Можно использовать несколько связей между таблицами, но одновременно может быть активна только одна из них. Неактивные связи можно сделать активными для выполнения специальных статистических вычислений в пользовательских выражений DAX.

  3. Теперь создайте еще одну связь. В таблице FactInternetSales нажмите и удерживайте столбец ShipDate и перетащите курсор в столбец Date таблицы DimDate.

    Снимок экрана: конструктор моделей с указанными значениями ShipDate и Date.

Следующий шаг

Занятие 5. Создание вычисляемых столбцов