Композитная модель: комбинированные данные DirectQuery и Import: начало эволюции в Power BI

С новым объявлением о выпуске Power BI Desktop от июля 2018 года на саммите бизнес-приложений прорывной функцией является возможность создания составной модели. Теперь вы можете включить часть вашей модели Power BI непосредственно из источника данных и другую часть для импорта. Наряду с этим изменением вы также можете выбрать хранилище для каждого объекта. Наряду с этими двумя замечательными функциями вы также получаете тип отношений «многие ко многим». Это значительное изменение в моделировании Power BI и должно быть подробно обсуждено в этой статье, поэтому давайте подробно рассмотрим его.

 

Что такое композитная модель?

Композитная модель в Power BI означает, что частью вашей модели может быть подключение DirectQuery к источнику данных (например, база данных SQL Server), а другая часть - данные импорта (например, файл Excel). Раньше, когда вы использовали DirectQuery, вы даже не могли добавить в модель другой источник данных.

 

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

 

Давайте рассмотрим эту функцию в примере:

Включите функцию просмотра

Поскольку это предварительная версия функции предварительного просмотра, вам нужно включить функцию предварительного просмотра модели Composite в параметрах Power BI Desktop. После этого действия вашему файлу Power BI потребуется перезагрузка:

 

Вот файл Power BI с использованием подключения DirectQuery к базе данных SQL Server (AdventureWorksDW в этом примере):

 

Мы выбрали таблицу FactInternetSales из этой базы данных.

 

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

 

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

 



И выберите DimCustomer из файла Excel (этот файл excel представляет собой версию базы данных AdventureWorksDW в Excel, вы можете скачать ее из ссылки в других моих блогах). Как только вы принесете таблицу из другого источника данных, вам будет сообщено, что существует потенциальный риск для конфиденциальности, что данные из одного источника данных могут использоваться для передачи параметров в другой источник данных.

 

После того, как вы подтвердите это предупреждение, вы получите новую таблицу данных, загруженную в Power BI, и вы увидите, что режим переходит в смешанный режим.

 

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

 

Используя эту опцию, вы сможете увидеть вкладку Data (которую вы не могли бы сделать в простом режиме DirectQuery ранее), и вы можете видеть там только таблицы данных импорта.

 

Это довольно интересно.

 

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

 

Режим хранения: Dual

Учитывая описанный выше режим Composite, вы, вероятно, задаетесь вопросом, где хранятся данные в каждой таблице и как они работают за сценой? Можете ли вы выбрать таблицу и понять, для чего это режим хранения? Ответ будет положительный. Кроме того, новое изменение в Power BI Desktop имеет еще одну интересную особенность для вас: Dual storage mode - режим двойной памяти.

 

Если вы щелкните правой кнопкой мыши по таблице в Power BI Desktop, вы можете нажать Properties.

 

В разделе свойств вы можете выбрать режим хранения. Существует три варианта: Import, DirectQuery и Dual.

 

Import  и DirectQuery в режимах хранения выше достаточно понятны. Import  означает, что каждый раз, когда вы обновляете данные, он будет импортироваться из источника данных, DirectQuery означает, что он будет каждый раз запрашиваться непосредственно из источника независимо от того, какой визуал вы используете. Итак, что такое режим Dual?

Если вы попытаетесь изменить режим таблицы Import  на Dual, вы получите сообщение об ошибке, объясняющее, что это невозможно.

 

 

Двойной режим - это только опция для таблиц источников данных DirectQuery.

Когда вы измените режим хранения таблицы DirectQuery на Dual, она создаст копию этой таблицы в модели Power BI. Но в отличие от Import Data, в памяти есть копия, и в источнике DirectQuery по-прежнему есть основная таблица.

 

 

Отношение «многие ко многим» в Power BI

Наряду с перечисленными выше функциями теперь вы можете создавать отношения «many-to-many» в Power BI. Эта функция также является функцией предварительного просмотра, поэтому вам нужно убедиться, что у вас есть опция «Композитная модель», выбранная, как упоминалось ранее в этом сообщении. Эта функция является обязательным параметром, который необходимо выбрать, если вы создаете связь между таблицей данных импорта и таблицей DirectQuery.

 

Однако отношения «многие-ко-многим» связаны с некоторыми ограничениями и проблемами. Использование функций фильтра может дать вам странное поведение для такого типа отношений. Функция ALL DAX, например, не будет удалять фильтрацию из таблиц с двух сторон отношения «многие ко многим». Кроме того, вы не можете использовать функцию RELATED DAX в отношениях со многими типами.

Отношения «многие ко многим» могут значительно упростить процесс создания модели Power BI, вам может не понадобиться создавать таблицы измерений и таблицы фактов. Отношения «многие ко многим» сделают все быстрее и легче, однако это может быть неправильный способ сделать это. Использование отношений  «многие ко многим» в реальном мире - это то, что требует тщательных размышлений. Если вы правильно спроектируете свою модель, вам может и не понадобиться этот вариант. Мы всегда рекомендуем всем создать подходящую модель и таким образом вам никогда не нужны отношения, которые вызывают какую-либо проблему производительности или странное поведение.

Подведем итоги

Таким образом, Power BI Desktop июля 2018 поставляется со значительной функцией моделирования, сочетающей таблицы DirectQuery и таблицы данных импорта в одной модели Power BI. С помощью этой функции вы также можете использовать опцию для использования режима Dual storage, чтобы сохранить копию таблицы DirectQuery в памяти для ответа на вопросы продольно-поперечных срезов. Кроме того, отношения «многие ко многим» являются следующим дополнением функций моделирования Power BI в новой версии.

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

Все эти функции доступны только в Power BI Desktop на данный момент. Вы не можете опубликовать модель с использованием любой из этих функций в службе Power BI.

No Comments

Add a Comment