Около трех лет назад, когда инженеры по разработке моделей данных из группы продуктов Power BI сказали, что работают над возможностью для табличных моделей данных совместно использовать другие опубликованные модели данных, это звучало слишком хорошо, чтобы быть правдой. Мечта о распределенных наборах данных в декабре перешла в предварительную версию с объявлением: Использование DirectQuery для наборов данных и служб Azure Analysis Services (предварительная версия) - Power BI | Документы Microsoft. Сейчас мы исследуем эту захватывающую новую функцию.
Для этого тестирования есть две разные модели данных в отдельных файлах PBIX. Один опубликованный набор данных содержит информацию о продажах через Интернет из базы данных ContosoDW Azure SQL, а другой - информацию о продажах в магазине. Эти модели содержат множество одинаковых таблиц и несколько уникальных таблиц. Примечательно, что каждая модель данных содержит отдельную таблицу фактов. Вот две опубликованные модели данных в рабочей области Contoso Sales:
Убедившись, что установлена обновлённая версия Power BI Desktop от декабря 2020 г., открываем диалоговое окно «Параметры» и включаем функцию предварительного просмотра: DirectQuery для наборов данных Power BI и служб Analysis Services.
После перезапуска Power BI Desktop используем Получить данные и выбираем наборы данных Power BI. После подключения к рабочей области и выбора опубликованного набора данных ContosoDW Internet Sales локальная модель теперь подключается с помощью активного подключения.
После подключения к удаленной модели все таблицы будут перечислены в списке полей.
В строке состояния отображается новое сообщение со ссылкой, позволяющей внести изменения в модель. На ленте «Модель» также отображается новая кнопка. Использование любого из этих параметров приведет к изменению метаданных локальной модели, чтобы разрешить несколько подключений к живым наборам данных.
После нажатия на кнопку Внести изменения в эту модель, диалоговое окно позволяет подтвердить, нужно ли переключить текущее соединение на соединение DirectQuery и подготовить локальную модель, чтобы разрешить дополнительные соединения DirectQuery.
Что произойдет, если начать с существующей локальной модели?
Первый важный урок, который стоит усвоить, заключается в том, что если бы вам пришлось создать новый файл отчета PBIX, содержащий существующие таблицы, а затем подключиться к опубликованному набору данных, это не дало возможности вносить изменения в локальную модель.
При импортированной таблице в модели данных перед использованием Get Data для выбора и подключения к опубликованному набору данных в строке состояния отображается это сообщение:
На данный момент нет возможности обновить локальную модель с необходимыми изменениями. Здесь придется начать с пустой PBIX, чтобы добавить первое живое соединение. После этого можете использовать Get Data для импорта дополнительных таблиц из других источников, но не наоборот.
Добавление дополнительных подключений наборов данных
Затем используем Get Data для подключения к опубликованному набору данных ContosoDW Store Sales. После преобразования местной модели в этом опыте не было ничего особенного. Можно было бы просто подключиться к дополнительному набору данных, и все таблицы отобразились в представлении диаграммы модели данных. Таблицы каждой модели отображаются с заголовками разного цвета, в данном случае они синего и красного цвета.
После подключения второй модели данных появятся несколько повторяющихся имен таблиц. Второй набор таблиц был переименован и снабжен постфиксом 2. Лучше переименовать таблицы, которые хотите оставить видимыми. Повторяющиеся таблицы, которые не нужны, отображаются в правой части этой схемы. Таблицы в удаленной модели нельзя удалить из локальной модели. Используйте панель «Свойства», чтобы скрыть неиспользуемые таблицы.
Открываем редактор таблиц с ленты «Внешние инструменты» и используем его так же, как если бы проектировали обычную модель данных модели импорта, для переименования таблиц и установки свойств с несколькими выбранными объектами.
Добавление отношений между таблицами из каждой удаленной модели было почти таким же процессом, как и в локальной модели. Можно использовать диалоговое окно «Управление отношениями» и использовать метод перетаскивания в представлении диаграммы. Последний метод открывает диалоговое окно «Управление отношениями», а не просто создает отношения.
Наконец, добавляем новую меру Combined Sales Qty в одну из удаленных таблиц в локальной модели, которая ссылается на существующую меру из каждой из удаленных моделей. Для демонстрации визуальный элемент таблицы, показанный ниже, включает поле даты заказа, которое связано с каждой из двух таблиц фактов (онлайн-продажи и продажи в магазине), показатель количества онлайн-продаж из удаленной модели интернет-продаж, показатель количества продаж в магазине из удаленной модели Store Sales и новая мера Combined Sales Qty, которую добавляем в локальную модель:
После публикации новой составной модели данных и отчета в линейном представлении показано, что набор данных Combined Sales имеет подключения и зависимости от двух удаленных наборов данных, которые отображаются как подключения DirectQuery служб Analysis Services, очевидно, с использованием конечной точки XMLA в службе Power BI.
После того, как вы пару раз поработаете над процессом проектирования, вы заметите, что поведение модели данных, будет таким же, как всегда, и создание отчетов ничем не будет отличаться.
Наши курсы по Power BI:
Курс Финансовый анализ в Power BI
Наши каналы: