Связанные и вычисляемые объекты. Потоки данных в Power BI, часть 4
Ранее мы объясняли, что такое поток данных и где его использовать, мы также рассказывали, как создать поток данных и какова общая модель данных. В этой статье мы поясним одно из различий между потоком данных и Power Query в Power BI Desktop, а именно связанными и вычисляемыми объектами. Не все объекты в потоке данных одинаковы, существуют разные типы объектов, и они могут помочь в разных сценариях. Вам также нужно будет рассмотреть другой метод лицензирования для некоторых типов объектов. Давайте посмотрим, что представляют собой эти два типа объектов.
Необходимое условие
Чтобы понять содержание этой статьи, полезно иметь общую информацию о том, что такое поток данных, и сценарии использования потока данных:
Часть 1. Каковы варианты использования потока данных для вас в Power BI?
Часть 2. Начало работы с потоком данных в Power BI
Часть 3. Что такое общая модель данных и зачем она нужна?
Типы объектов в потоке данных
В отличие от Power Query в Power BI Desktop, не все объекты одинаковы. Некоторые объекты являются производными от других, а некоторые основаны на существующем объекте. В Power Query в Power BI Desktop мы просто называем их всех объектами - Entities. Объекты имеют различную структуру значений (например, List, Record и Table), но, тем не менее, все они являются объектами. Однако, когда дело доходит до их использования в потоке данных, есть некоторые различия. В этой статье мы сосредоточимся на вычисляемых и связанных объектах.
Вычисляемый объект
Вы когда-нибудь использовали опцию Reference в редакторе Power Query Power BI Desktop? Если нет, ознакомьтесь с объяснением этого здесь. Используя ссылку, вы можете создать новый запрос, который ссылается на исходный запрос, с некоторыми дополнительными шагами в нем. Reference - отличный вариант для создания нескольких ветвей преобразований данных из одного объекта. Вот как вы получаете ссылку из запроса в Power Query Editor в Power BI Desktop:
Ссылочный запрос в редакторе Power Query будет представлять собой запрос, подобный исходному запросу, единственное отличие которого заключается в том, что исходный запрос является обязательным этапом этого нового запроса.
Ссылка в потоке данных: вычисляемый объект
Вы также можете сгенерировать ссылку из запроса в Power Query в Dataflow, однако результат будет немного отличаться от опыта в Power BI Desktop. Вот как вы создаете ссылку в Dataflow:
Запрос, который будет сгенерирован с помощью команды Reference, однако, отличается. Он называется Computed Entity
Вы можете видеть на скриншоте выше, что значок для вычисляемого объекта отличается от обычных сущностей.
Использование вычисляемого объекта
Существует много способов использования ссылок из другого запроса. Например, вы можете создать еще одну вложенную таблицу из исходного запроса и оставить исходный запрос без изменений. Допустим, вы хотите создать сгруппированную (или агрегированную) версию основного запроса. и вы можете в конечном итоге использовать ссылку для создания вычисляемого объекта, а затем использовать преобразование Group By, чтобы иметь меньшее подмножество данных в этой новой таблице.
Group By не единственная причина для создания вычисляемого объекта, но может служить хорошим примером. Если мы говорим об агрегациях в Power BI, то это важный шаг.
Computed Entity против Reference в Power BI Desktop
Хотя вычисляемая сущность выглядит как опция Reference в редакторе Power Query Power BI Desktop. Есть некоторые различия в том, как он совершает обработку. Давайте проверим их.
Первоначально будет загружен оригинальный запрос, оттуда будет извлечен вычисляемый объект
Если у вас есть ссылочный запрос в Power Query Editor, оба запроса во время обновления будут извлечены из источника данных и затем загружены в модель Power BI. В потоке данных, однако, процесс отличается. Исходный запрос (запрос, на который мы ссылались из него, в приведенном выше примере - таблица заказов) будет извлекать данные из источника данных, применять к ним преобразования данных и затем загружать их в озеро данных Azure. Второй запрос, или, скажем, вычисляемый объект (в примере выше Orders (2)), не будет извлекать данные из источника данных. Вычисляемый объект извлечет данные из результата исходной таблицы в озере данных Azure, а затем применит к ней преобразования.
Преобразования Computed Entity будут применяться к данным, размещенным в разделе потока данных хранилища озера данных Azure, а не к источнику данных.
Исходный запрос должен быть установлен как Enable Load
Не поймите неправильно. Вы можете создать ссылку даже из запроса, который является отключенной нагрузкой. Однако это не будет являться Computed Entity, и в результате у нее не будет особого поведения, о котором упоминалось при обновлении данных из промежуточной области. Он будет считаться вычисляемым объектом только в том случае, если исходный запрос установлен в качестве разрешающей нагрузки - Enable Load (поскольку таким образом выходные данные исходного запроса будут храниться в хранилище озера данных Azure).
Computed Entity является премиум-функцией
На момент написания этой статьи Computed Entity является только премиум-функцией. Вы не можете использовать его в учетной записи Power BI pro.
Связанный объект
Вычисляемые объекты хороши для создания другой ветви преобразования данных через другой объект. Однако иногда вы можете не захотеть делать другой набор преобразований. Вы хотите просто получить копию того же объекта, который есть у вас в другом потоке данных, в этом потоке данных как часть этой витрины данных. Вы можете вообще не захотеть преобразовывать данные, просто скопировать или, скажем, просто связать их. Этот тип объекта называется связанным объектом - Linked Entity.
Создание Linked Entity
Чтобы создать связанный объект, когда вы находитесь в потоке данных, нажмите Add linked entity.
Вы можете установить учетные данные для потоков данных Power BI.
Затем выберите поток данных, который вы хотите получить оттуда.
Новый объект, то есть связанный объект, будет создан с определенным значком, который показывает, что он отличается от других типов объектов.
Использование связанного объекта
Связанный объект может использоваться для сценариев, в которых вы хотите создать несколько витрин данных через несколько потоков данных. Возможно, вы захотите повторно использовать один из объектов из одного из потоков данных в другом. Например, объект Product, который вы использовали в потоке данных продаж (или, скажем, витрине данных), также может быть полезен как часть потока данных производства.
Что нужно знать о связанном объекте
Подобно вычисляемым объектам, связанные объекты также имеют некоторые ограничения и возможности. давайте проверим их.
Связанный объект не может быть изменен
Вы не можете применить какое-либо преобразование данных к связанному объекту. Как вы помните, связанный объект - это просто ссылка на исходный объект, который является объектом в другом потоке данных. Если вы хотите изменить преобразование, вы должны перейти к исходному запросу и изменить его.
Связанный объект является премиум-функцией
Вы не можете обновить поток данных с помощью связанного объекта через учетную запись Power BI pro. Необходим Power BI premium для обновления связанного объекта.
Резюме
Связанные объекты связаны с другими объектами в других потоках данных. Вычисляемые объекты - это новая ветвь преобразования, на которую ссылается другой объект в потоке данных. Существуют варианты использования для каждого из этих типов объектов. но главное знать, что для этих двух типов объектов существуют определенные особенности и ограничения. В этой статье мы говорили об этих функциях. Если вам нравится серия потоков данных, следите за обновлениями к следующей статье этой серии.