Zintegruj tabele Tulip z PowerBI Desktop w celu usprawnienia analiz
Przegląd
Załączony szablon .pbix pokazuje, jak w prosty sposób wysyłać zapytania do tabel Tulipw PowerBI. Pobierz szablon PowerBI
Tulip Analytics znacznie lepiej radzi sobie z analizą zarówno samych danych Tulip, jak i danych strumieniowych. W przypadku analiz wymagających złożonego modelu danych, dłuższych częstotliwości odświeżania i szerszego zasięgu, podejście to pozwala przedstawić dane Tulip kierownictwu
Skrypt PowerQuery
Alternatywnie, poniżej znajduje się skrypt PowerQuery zawarty w szablonie 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```
Integracja z usługą Power BI
:::(Informacja) (Uwaga)
Chociaż powyższy skrypt działa w Power BI Desktop, automatyczne odświeżanie w chmurze (usługa Power BI) wymaga szczególnej uwagi. Aby uniknąć błędu „Dynamiczne źródło danych”, skrypt musi wykorzystywać funkcje RelativePath i Query w ramach Web.Contents.
Dzięki temu Power BI może zidentyfikować adres URL katalogu głównego Tulip instance jako statyczne źródło danych, co umożliwia zaplanowane odświeżanie oraz bezpieczne zarządzanie poświadczeniami API po opublikowaniu raportu.
:::
Aby zapewnić zgodność z usługą Power BI, należy użyć następującego skryptu Power Query (M):
(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" ] ]) ) w Table.FromRecords(Response) )w TulipTableNiniejsze wytyczne dotyczące integracji z usługą Power BI zostały opracowane przez firmę ATS.
Instrukcje
Pobierz szablon .pbix i postępuj zgodnie z instrukcjami wyświetlanymi w aplikacji (przedstawionymi poniżej)
- Przejrzyj szablon PowerQuery w sekcji: „Strona główna >>> Przekształć dane”, aby otworzyć PowerQuery
- Przejrzyj zapytanie „Tulip Query” i zastąp Tulip TableID żądanym identyfikatorem tabeli, a instance adresem URL instancji (np. company.tulip.co)
- Kliknij „Invoke” i wprowadź poświadczenia API (użyj uwierzytelniania „Basic”)
- Po wyświetleniu monitu określ poziom prywatności (w większości przypadków domyślnym ustawieniem jest „organizacja”)
- Kliknij strzałki rozdzielające po prawej stronie kolumny rekordów
- Zmodyfikuj tabelę zgodnie z potrzebami; kliknij „Close and Apply”
Dalsze materiały referencyjne
- [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=)
