Каковы варианты использования потока данных для вас в Power BI?

Tags: dataflow, PowerBI, Power BI, хранилище данных, DataWarehouse, data lake, Azure

О потоке данных много говорят в сети, через видео, статьи и новости. Также есть много демонстраций потока данных. Тем не менее на конференциях, когда заходит разговор о потоке данных, один из главных вопросов аудитории таков: «Каковы его варианты использования?». В этом посте мы постараемся ответить на этот вопрос. Сначала мы расскажем, что такое Dataflow и как он может быть полезен в различных сценариях для бизнес-аналитиков или разработчиков, использующих Power BI. Если вы хотите использовать поток данных в Power BI, но не знаете, где его использовать, эта статья для вас.

Что такое поток данных

Простое определение Dataflow - запуск Power Query в облаке. Ну, это может показаться не очень новой функцией, верно? потому что прямо сейчас вы можете опубликовать свой отчет * .pbix в Power BI, а затем запланировать обновление отчета. Это означает, что вы планируете запуск сценария Power Query в своем отчете в облаке. Так что же нового с Dataflow? Новая часть заключается в том, что Dataflow не является частью одного отчета. Так что лучшее определение для потока данных таково:

Поток данных - это процесс Power Query, который выполняется в облаке независимо от отчетов Power BI.

Где хранятся выходные данные?

Если сценарии Power Query выполняются независимо от отчета, то где он хранит данные? Это очень актуальный вопрос. Поскольку, когда Power Query является частью отчета, выходные данные каждого запроса будут загружаться в модель Power BI (или, скажем, набор данных Power BI). В случае с потоком данных мы сказали, что к нему нет привязки отчета, поэтому нет привязки набора данных к нему. Поток данных должен где-то хранить выходные данные запроса.

Поток данных сохраняет данные в хранилище озера данных Azure.

Хранилище Azure Data Lake - это облачное хранилище Microsoft, которое может хранить структурированные данные (например, таблицы) и неструктурированные данные (например, файлы).

Но у меня нет подписки Azure Data Lake!

Если у вас нет учетной записи в Azure или у вас нет подписки, которую вы можете использовать для Azure Data Lake, не беспокойтесь! Вы все еще можете использовать Dataflow. Весь процесс хранения данных в озере данных Azure внутренне управляется с помощью потока данных. Вам даже не нужно входить на портал Azure или куда-либо еще. На веб-сайте Power BI вы создаете поток данных, который управляет всей конфигурацией хранилища. Вам не нужно иметь никаких других учетных записей или платить больше или больше, чем то, что вы платите за подписку Power BI. 

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

Однако некоторые пользователи имеют собственные подписки Azure и предпочитают сами управлять способом хранения в озере данных. Существуют методы, с помощью которых они могут работать с потоками данных и настраивать свое собственное озеро данных Azure в качестве механизма хранения.

Power BI может получить данные из потока данных

Другой конец решения с потоком данных таков: Power BI имеет параметр Get data из потока данных. Вам не нужно подключаться к Azure Data Lake и выяснять, где хранятся данные (особенно если вы используете встроенное хранилище потока данных, а не внешний поток данных с собственным хранилищем озера данных). Вы можете просто получить данные из потока данных в Power BI и выбрать нужную таблицу.

В чем преимущество использования потока данных?

Сейчас мы на правильном пути. Вы знаете, что такое Dataflow, и теперь пришло время посмотреть, как его использовать? Чем и чем может быть полезен запуск сценария Power Query в облаке независимо от набора данных Power BI? Давайте вместе покопаемся в ответе на нескольких примерах.

Использование одной таблицы Power Query в нескольких отчетах Power BI

Вам когда-нибудь приходилось использовать одну таблицу Power Query в нескольких отчетах Power BI? Конечно, да. Если вы некоторое время работали с Power BI, вы знаете, что таблицы, созданные с помощью Power Query, являются лишь частью одного файла Power BI. Если вы хотите использовать ту же таблицу в другом файле с комбинацией некоторых других таблиц, которых нет в первом файле, то вам нужно будет реплицировать преобразования Power Query (или скопировать и вставить сценарий M) в новый * Файл .pbix. Вы можете сказать: “Нет, я не знаю”, но вот пример: Date Dimension!

 

Date Dimension - это таблица, которую вы используете в * .pbix, скажем, для анализа продаж, а также в другом * .pbix для отчетов инвентаризации, а также для анализа данных HR * .pbix. Так что вы делаете в этих ситуациях? Копируете сценарий для измерения даты во всех этих трех файлах? Что если через год вы решили добавить преобразование или столбец в измерение даты? Затем вам нужно повторить это изменение во всех ваших * .pbix файлах, в противном случае ваш код станет несовместимым. Было бы намного лучше, если бы вы однажды выполнили преобразование, где-то сохранили вывод и затем использовали его повторно. Это именно то, что Dataflow может сделать для вас!

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

 

Другой источник данных с другим графиком обновления

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

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

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

 

Централизованное хранилище данных

С развитием Power BI и других технологий самообслуживания многие компании начали внедрять систему BI без хранилища данных. Однако, если количество систем BI увеличивается, быстро возникает потребность в централизованном хранилище данных. Хранилище данных - это специально разработанная база данных для хранения данных в формате, необходимом для отчетности. В традиционных системах BI одним из этапов построения системы BI и, скажем, одним из наиболее важных этапов, является создание централизованного хранилища данных. Процесс ETL извлечет данные из источников данных и загрузит их в централизованное хранилище данных. Используйте хранилище данных в качестве единственного действительного источника.

Поток данных может быть важной частью построения централизованного хранилища данных для вашего решения Power BI. Вы можете построить необходимую структуру с помощью скриптов Power Query в потоке данных. Затем поток данных запускает эти сценарии и сохраняет данные в выходные таблицы. Выходные таблицы потока данных могут выступать в качестве централизованного хранилища данных для ваших файлов * .pbix. Кроме того, вы можете иметь собственное хранилище Azure Data Lake и настроить его так, как вам нужно, со структурой таблиц, которую вы хотите, и получить поток данных для загрузки данных в эти таблицы.

Поток данных может быть механизмом ETL, который питает централизованное хранилище данных в хранилище озера данных Azure.

 

Управление версиями данных из источника данных

Одна из наиболее востребованных функций для пользователей Power BI заключается в том, как сохранить выходные данные этого отчета (или, в нашем случае, сценарий Power Query) где-нибудь,и как обратиться к нему позже? Данные меняются каждый день, но вы можете сохранить версию данных на данный момент времени и сохранить ее где-нибудь для дальнейшего использования. Например, получение версии данных в конце каждого финансового года, периода или квартала. Поток данных, хотя и не созданный для этой цели, может сделать это для вас. Используя поток данных, вы можете создавать различные процессы потока данных для запуска ETL в любое время и каждый раз сохранять его в другой выходной таблице.

Как создать поток данных и использовать его?

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

No Comments

Add a Comment