Интеграция с PowerBI Desktop

Prev Next

Интегрируйте таблицы 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 и следуйте инструкциям в приложении (приведены ниже)

  1. Просмотрите шаблон PowerQuery в разделе: «Главная >>> Преобразование данных», чтобы открыть PowerQuery
  2. Просмотрите запрос «Tulip Query» и замените Tulip TableID на нужный идентификатор таблицы, а instance — на URL экземпляра (например, company.tulip.co)
  3. Нажмите «Invoke» и введите учетные данные API (используйте «базовую» аутентификацию)
  4. Укажите уровень конфиденциальности при появлении запроса (по умолчанию для большинства случаев использования установлено значение «организация»)
  5. Нажмите на стрелки разделения справа от столбца записей
  6. Измените таблицу по необходимости; нажмите «Закрыть и применить»

Дополнительные ссылки

  • [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=)