Интегрируйте таблицы Tulip с PowerBI Desktop для оптимизации аналитики
Обзор
Прилагаемый шаблон .pbix демонстрирует, как легко выполнять запросы к таблицам Tulipв PowerBI. Скачать шаблон PowerBI
Tulip Analytics гораздо эффективнее справляется с анализом как данных Tulip, так и потоковых данных. Для анализов, требующих сложной модели данных, более редких обновлений и более широкого охвата, этот подход можно использовать, чтобы донести данные Tulip до руководства
Скрипт PowerQuery
В качестве альтернативы см. ниже скрипт PowerQuery, включённый в шаблон PowerBI```(TulipTableId as text, instance as text) as table=>
letQuery = #table( type table [#"table" = text], { {TulipTableId}}),
Function = Table.AddColumn(Query, "Offset", Number.Round(Json.Document(Web.Contents("https://"&instance&"/api/v3/tables/"& TulipTableId &"/count"))/100)),
ExpandedOffset = Table.ExpandListColumn(Function, "Offset"),
NbLoop = Number.Round(Json.Document(Web.Contents("https://" & instance & "/api/v3/tables/" & TulipTableId & "/count")) / 100),
TableOffset = Table.FromList(List.Transform({0..NbLoop}, each Number.ToText(_*100))),
TableOffset1 = Table.RenameColumns(TableOffset, {{"Column1", "Offset"}}),
TulipTable = Table.AddColumn(TableOffset1, "Records", each Table.FromRecords(Json.Document(Web.Contents("https://"&instance&"/api/v3/tables/" & TulipTableId & "/records?limit=100&offset="& [Offset] &"&sortBy=_sequenceNumber&sortDir=asc"))))
inTulipTable```
Интеграция со службой Power BI
:::(Информация) (Примечание)
Хотя приведённый выше скрипт работает в Power BI Desktop, автоматическое обновление в облаке (сервис Power BI) требует особого внимания. Чтобы избежать ошибки «Динамический источник данных», в скрипте необходимо использовать функции RelativePath и Query в рамках Web.Contents.
Это позволяет Power BI идентифицировать корневой URL-адрес Tulip instance в качестве статического источника данных, что обеспечивает возможность обновления по расписанию и безопасное управление учетными данными API после публикации отчета.
:::
Используйте следующий скрипт Power Query (M) для обеспечения совместимости с Power BI Service:
(TulipTableId as text, instance as text) as table =>let BaseUrl = "https://" & instance, CountPath = "api/v3/tables/" & TulipTableId & "/count", NbRecords = Json.Document(Web.Contents(BaseUrl, [RelativePath = CountPath])), NbLoop = Number.RoundUp(NbRecords / 100), Offsets = List.Transform({0..NbLoop-1}, each _ * 100), TableOffset = Table.FromList(Offsets, Splitter.SplitByNothing(), {"Offset"}), TableOffset1 = Table.TransformColumnTypes(TableOffset, {{"Offset", type text}}), TulipTable = Table.AddColumn(TableOffset1, "Records", each let RecordsPath = "api/v3/tables/" & TulipTableId & "/records", Response = Json.Document( Web.Contents(BaseUrl, [ RelativePath = RecordsPath, Query = [ limit = "100", offset = [Offset], sortBy = "_sequenceNumber", sortDir = "asc" ] ]) ) в Table.FromRecords(Response) )в TulipTableДанное руководство по интеграции с Power BI Service предоставлено компанией ATS.
Инструкции
Загрузите шаблон .pbix и следуйте инструкциям в приложении (приведены ниже)
- Просмотрите шаблон PowerQuery в разделе: «Главная >>> Преобразование данных», чтобы открыть PowerQuery
- Просмотрите запрос «Tulip Query» и замените Tulip TableID на нужный идентификатор таблицы, а instance — на URL экземпляра (например, company.tulip.co)
- Нажмите «Invoke» и введите учетные данные API (используйте «базовую» аутентификацию)
- Укажите уровень конфиденциальности при появлении запроса (по умолчанию для большинства случаев использования установлено значение «организация»)
- Нажмите на стрелки разделения справа от столбца записей
- Измените таблицу по необходимости; нажмите «Закрыть и применить»
Дополнительные ссылки
- [microsoft.com/en-us/power-bi/transform-model/desktop-query-overview">PowerBI Desktop Support](https://learn.<span translate=)
- [microsoft.com/en-us/power-bi/connect-data/refresh-data#refresh-and-dynamic-data-sources">Microsoft Documentation on Dynamic Data Sources](https://learn.<span translate=)
