Integrálja a Tulip táblákat a PowerBI Desktopba a hatékonyabb elemzés érdekében
Áttekintés
Ez a csatolt .pbix sablon bemutatja, hogyan lehet egyszerűen lekérdezni a Tulip táblákata PowerBI-ben. PowerBI-sablon letöltése
A Tulip Analytics sokkal hatékonyabban elemzi mind a kizárólag Tulip-adatokat, mind a streaming adatokat. Azoknál az elemzéseknél, amelyek komplex adatmodellt, hosszabb frissítési gyakoriságot és szélesebb hatókört igényelnek, ez a megközelítés felhasználható arra, hogy a Tulip-adatokat a vezetők figyelmébe helyezzük
PowerQuery szkript
Alternatív megoldásként lásd alább a PowerBI-sablonban szereplő PowerQuery-szkriptet```(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 szolgáltatás integrációja
Bár a fenti szkript a Power BI Desktopban működik, a felhőben (Power BI szolgáltatás) történő automatikus frissítés különös figyelmet igényel. A „Dynamic Data Source” hiba elkerülése érdekében a szkriptnek a Web.Contents-en belül a RelativePath és a Query függvényeket kell használnia.
Ez lehetővé teszi a Power BI számára, hogy a Tulip instance gyökér-URL-jét statikus adatforrásként azonosítsa, így a jelentés közzététele után ütemezett frissítések és az API-hitelesítő adatok biztonságos kezelése válik lehetővé.
A Power BI Service-kompatibilitás érdekében használja a következő Power Query (M) szkriptet:
(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" ] ]) ) in Table.FromRecords(Response) )in TulipTable Ezt a Power BI Service integrációs útmutatót az ATS készítette.
Utasítások
Töltse le a .pbix sablont, és kövesse az alkalmazáson belüli utasításokat (lásd alább)
- A „Home >>> Transform Data” szakaszban található sablonos PowerQuery-t tekintse át a PowerQuery megnyitásához
- Ellenőrizze a „Tulip Query” lekérdezést, és cserélje ki a Tulip TableID-t a kívánt táblázat-azonosítóra, az instance-t pedig az instance URL-re (pl. company.tulip.co)
- Kattintson az „Invoke” gombra, és adja meg az API-hitelesítő adatait („Basic” hitelesítés használata)
- A rendszer kérésére határozza meg az adatvédelmi szintet (a legtöbb esetben az alapértelmezett érték a szervezet)
- Kattintson a rekordok oszlop jobb oldalán található osztó nyilakra
- Szükség szerint módosítsa a táblát; kattintson a „Close and Apply” gombra
További hivatkozások
- [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=)
