Power BI je skvělý nástroj pro integraci dat – nabízí spoustu konektorů, které si poradí s daty z různých zdrojů. Ale občas se stane, že ani tyhle možnosti nestačí. Tady přichází na řadu vlastní konektory. V tomhle článku si projdeme, co s vlastními konektory zvládnete, jaké mají limity, jak vám můžou pomoct a na co se připravit, pokud se rozhodnete vytvořit vlastní konektor pro svůj specifický zdroj dat.
Pochopení vlastních konektorů v Power BI
Proč jednoduše nepoužít nějaký obecný konektor, jako například ODBC nebo webový konektor, které Power BI poskytuje?
Přestože tyto konektory nabízejí flexibilitu a svobodu při výběru zdroje dat, nejsou kompatibilní se vším. Například vestavěný webový konektor, který se obvykle používá k připojení k rozhraní REST API, nezvládá ověřování typu OAuth2. Ještě by se dalo namítnout, že to lze zvládnout v dotazech Power Query, ale obecně to není bezpečná, ani spolehlivá možnost. Vlastní konektor se od tohoto řešení liší způsobem, jakým zpracovává ověřování. Protože konektor vytváří rozpoznatelný zdroj dat, Power BI je schopen ukládat uživatelská jména / hesla nebo ID klienta / tajné údaje klienta, aniž by bylo nutné je natvrdo kódovat do dotazu nebo načítat nový token při každém volání rozhraní API.
Mezi další výhody použití vlastního konektoru patří předdefinované transformace. Proč definovat proces transformace ve vaší organizaci několikrát, když jej můžete definovat na jednom místě - ve vlastním konektoru - a pak jej použít tolikrát, kolikrát si přejete? Toho lze využít k usnadnění přípravy a čištění dat nebo jiných opakujících se úkolů, kterými váš analytický tým tráví příliš mnoho času.
Běžné použití
Pro lepší ilustraci uvádím několik běžných scénářů, kdy by použití vlastního konektoru bylo užitečným řešením:
Vlastní nebo interní systémy
Společnost používá vlastní nebo interní systém CRM nebo ERP, který není podporován vestavěnými konektory Power BI.
Zdroje dat specifické pro dané odvětví
Organizace v odvětvích, jako je zdravotnictví, finance nebo logistika, často používají platformy specifické pro dané odvětví, které nemají žádné vlastní konektory.
Starší systémy
Mnoho organizací má starší systémy, které jsou pro jejich provoz klíčové. Mnohým z nich chybí moderní možnosti integrace dat. Použití vlastního konektoru vám umožní přizpůsobit řešení speciálně pro váš starší systém.
Zvýšené požadavky na zabezpečení a dodržování předpisů
Vlastní konektory lze vytvořit tak, aby splňovaly specifické bezpečnostní standardy a požadavky, což je dobrá volba pro zajištění bezpečného a korektního přístupu k datům.
Vlastní autentizační mechanismy
Ve scénářích, kde se používají jedinečné nebo složité mechanismy ověřování, umožňuje vývoj vlastního konektoru připojení ke zdroji dat s těmito požadavky.
Vidíte, že vlastní konektory přinášejí hodnotu hlavně v případě zvýšeného zabezpečení a specializovaných řešení. Jsou však také cenným přínosem ve velkých společnostech, kde umožňují běžným uživatelům v oblasti Power BI připojit se ke zdrojům, které by vyžadovaly náročné transformace a přípravu dat. Díky konektoru s předdefinovanými transformacemi může svá data vizualizovat každý.
Předpoklady pro vývoj vlastního konektoru
Než se rozhodnete pustit do vývoje vlastního konektoru, měli byste dobře rozumět jazyku M Language a dotazům Power query. Konektor se vytváří ve Visual Studio Code pomocí rozšíření Power Query SDK a proces vývoje může být zpočátku poměrně frustrující, zejména pokud máte s těmito nástroji málo zkušeností. Celý proces nastavení vývojového prostředí naleznete zde.
Při vývoji datového konektoru je nezbytné důkladně znát zdroj dat i požadavky na konečný produkt. Mělo by být samozřejmé, že důkladná znalost datového zdroje je pro vytvoření efektivního konektoru klíčová.
Věnujte čas skutečnému pochopení dat, která vaším systémem proudí, a analýze všech možných komplikací, s nimiž se můžete kvůli datům setkat. Poté se zamyslete nad tím, jaký druh dat ze zdroje přesně potřebujete a v jaké podobě byste chtěli data získat. To vám ušetří spoustu času v procesu vývoje.
Průvodce vytvořením vlastního konektoru krok za krokem
Poté, co dokončíte shromažďování požadavků na nový vlastní konektor a provedete důkladnou analýzu zdroje dat, který hodláte použít, je čas se vrhnout na vývoj. Pokud budete vlastní konektor Power BI vyvíjet poprvé, je dobré projít si výukový program TripPin, který je k dispozici v dokumentaci společnosti Microsoft. Tento průvodce vás seznámí se základy vývoje vlastního konektoru. Protože tento průvodce krok za krokem pokrývá většinu konceptů v tomto článku, zaměříme se spíše na to, co bychom mohli nazvat osvědčenými postupy vývoje vlastního konektoru.
Ačkoli na pořadí obecně nezáleží, každý konektor by měl začínat definicí zdroje dat.
Výše vidíte funkce DataSource.Kind a Publish, které definují, jak Power BI zobrazí váš konektor. Na druhém řádku je sdílená funkce, která funguje jako hlavní blok vašeho konektoru. Je to první věc, která se zpracovává při inicializaci konektoru. Tato funkce používá funkci Value.ReplaceType pro volání NavTable a Type. Více informací o definici zdroje dat najdete v kapitole Power Query dokumentaci.
Datový zdroj DataSource.Kind definuje typ ověřování a zobrazovací štítek. Všimněte si, že pro svůj zdroj dat můžete definovat více typů ověřování, což uživateli umožňuje volbu. Další informace o ověřování zde.
Objekt Publish slouží k určení způsobu, jakým Power BI prezentuje váš konektor v seznamu konektorů. Můžete definovat kategorii, popisek a zdrojové obrázky.
Atribut ButtonText přebírá seznam dvou hodnot. První z nich je název zobrazený v seznamu konektorů a druhá je nápověda, která se zobrazí při najetí myší.
Vidíte, že atributy SourceImage a SourceTypeImage odkazují na jiný objekt. YourCustomConnectorName.Icons je objekt, který obsahuje cesty k ikonám, které konektor používá pomocí funkce Extension.Contents(). K vytvoření ikon v požadovaných velikostech použijte program jako např. Gimp.
Globální proměnné je vhodné inicializovat na začátku kódu. Při připojování k rozhraní API můžete nyní nastavit hlavičky nebo zahrnout klíč API pro ověření. Pokud navíc chcete uživatelům později poskytnout možnost výběru z různých koncových bodů API, můžete tyto koncové body definovat již nyní. Takto je můžete snadno integrovat do uživatelského rozhraní a používat v dotazech na zdroje dat.
Funkce Extension.CurrentCredential()[Key] slouží k získání klíče z ověřovacího formuláře.
Dále budeme definovat objekt Type. Tento objekt nastavuje uživatelské rozhraní vašeho konektoru pomocí příkazu Dokumentace a Formátování v kódu M.
Ačkoli existují určité nedostatky, jako jsou konflikty Documentation.Description, a uživatelské rozhraní je poměrně omezené, můžete pro svůj konektor vytvořit funkční a snadno použitelné uživatelské rozhraní.
Dalším objektem, který jsme již dříve použili, ale stále není definován, je NavTable neboli navigační tabulka. Pokud jste prošli TripPin, jste již s konceptem navigačních tabulek obeznámeni. Stručně řečeno se jedná o tabulku, která umožňuje navigaci ve zdroji dat pomocí předdefinovaných transformací. V příkladu TripPin od společnosti Microsoft byla použita k výběru mezi koncovými body služby TripPin REST Service.
Sloupec Data obsahuje aktuální předdefinované dotazy na zdroj dat. Další užitečnou poznámkou je použití pomocných funkcí od společnosti Microsoft. V tomto případě je to funkce Table.ToNavigationTable. Tato funkce není předdefinovaná a budete ji muset definovat sami. Naštěstí se o tuto část již společnost Microsoft postarala za vás zde.
Nyní, když máte potřebné části hotové, přichází na řadu ta pravá zábava. Je čas definovat skutečné dotazy na zdroj dat tak, jak je vložíte do navigační tabulky. Je to to, co jste zvyklí dělat v Power Query, ale zabalené do funkce. Doporučuji spouštět dotazy současně v Power Query, abyste mohli řešit problémy a ladit kód.
Testování konektoru
Až dosud byla veškerá vaše práce uložena v souboru .pq vašeho projektu. Pokud však chcete konektor otestovat bez sestavení a importu do Power BI, sada Power Query SDK vám nabízí tuto možnost v rámci souboru .query.pq, který vypadá přibližně takto.
Sada Power Query SDK nespustí celý konektor, takže neočekávejte, že se zobrazí uživatelské rozhraní. Musíte natvrdo zadat parametr sdílené funkce, který jsme definovali na začátku. To, co vidíte výše, uvidí uživatel, pokud otevře pokročilý editor při použití vašeho konektoru v dotazu Power Query.
Chcete-li test spustit, musíte nejprve nastavit přístupové údaje. Sada SDK umožňuje zvolit metodu ověřování a zadat přístupové údaje. Poté stiskněte tlačítko Evaluate current file. V našem případě byste měli být schopni zobrazit obsah navigační tabulky. Více informací o používání sady Power Query SDK ke spouštění testů naleznete zde.
Nasazení konektoru
Pokud chcete svůj konektor skutečně vidět v akci, budete muset vytvořit soubor .mez. Tento soubor překládá konektor pro Power BI a umožňuje jeho použití v desktopové aplikaci.
Použijte kombinaci kláves Ctrl+Shift+B nebo přejděte do sekce Terminal > Run Build Task… a vyberte MakePQX build. Tím se v projektu vytvoří soubor .mez v cestě /bin/AnyCPU/Debug. Chcete-li spustit konektor z Power BI, musíte tento soubor zkopírovat do cesty [[Documents]\Microsoft Power BI Desktop\Custom Connectors.
Poslední věcí, která předchází použití konektoru v Power BI, je povolení "Spuštění libovolného rozšíření bez ověření nebo varování". Tuto možnost najdete v nabídce Power BI Options and Setting > Options > Security > Data Extensions.
Nyní stačí restartovat aplikaci Power BI a poté vybrat konektor ze seznamu dostupných konektorů a načíst data do aplikace Power Query!
Nasazení do služby Power BI
Vlastní konektory nejsou službou Power BI ve výchozím nastavení podporovány. Chcete-li je v Power Bi Service používat, musíte si svůj konektor nechat certifikovat společností Microsoft. Díky této certifikaci bude služba Power BI Service schopna číst vlastní konektor prostřednictvím lokální datové brány a provádět aktualizace prostřednictvím tohoto připojení. Více informací o tom, jak toto připojení s certifikovaným konektorem nastavit, naleznete zde.
Běžné problémy a tipy na jejich řešení
Vývoj vlastního konektoru může být náročný úkol, zejména pokud se provádí poprvé. Zde jsou některé běžné problémy, se kterými se můžete setkat, a tipy, jak je řešit.
Optimalizace výkonu
Při práci s velkými soubory dat nebo složitými dotazy může dojít k problémům s výkonem. Problémy s výkonem jsou častější u vlastních konektorů než u vestavěných konektorů.
- Optimalizujte dotazy tak, abyste získali pouze potřebná data.
- Implementujte stránkování nebo dávkové zpracování velkého množství dat.
- Dotazy udržujte jednoduché.
Zpracování Errorů a Debugování
Neexistuje žádný snadný způsob, jak debugovat M kód. Dotazy si můžete vyzkoušet v pokročilém editoru v aplikaci Power Query, ale jiné bloky kódu v konektoru nemusí být tak snadné.
- Fórum je váš nejlepší přítel. Neváhejte se zeptat.
- Rozdělte proces na menší zvládnutelné části.
Limity a kvóty zdrojů dat
Můžete se setkat se situací, kdy vám například rozhraní API, se kterým pracujete, neumožní načíst všechna data ze zdroje kvůli nastaveným limitům. Překročení limitu může v některých případech vést k dočasnému zákazu nebo omezenému přenosu dat.
- Optimalizujte dotazy tak, abyste co nejméně volali zdroj.
- V případě potřeby implementujte logiku opakování.
- Poznejte zdroj dat.
Kompatibilita a aktualizace
Většina rozhraní API má nepříjemný zvyk a to často se mění. Některé z drobných změn mohou zůstat nepovšimnuty a některé mohou být schopny váš konektor zcela rozbít.
Při vývoji na to pamatujte. Vypracujte plán údržby pro pravidelnou aktualizaci a testování konektoru. Pokud rozhraní API poskytuje verze, používejte je.
Pište čistý, snadno spravovatelný kód, který můžete v případě potřeby aktualizovat, aniž byste museli konektor od základu přestavovat.
Závěr
Vytvořením vlastního konektoru v aplikaci Power BI můžete výrazně rozšířit možnosti integrace dat a připojit se k jedinečným nebo vlastním zdrojům dat, které nejsou podporovány vestavěnými konektory. Ačkoli tento proces zahrnuje několik překážek, jako je správa ověřování, práce s různými formáty dat a optimalizace výkonu, lze tyto nástrahy překonat pečlivým plánováním a metodickým přístupem.
Pokud chcete vyvinout vlastní konektory nebo potřebujete pomoc s Power BI, naše konzultační služby vám mohou poskytnout potřebné odborné znalosti a podporu. Máme zkušenosti s vytvářením a nasazováním vlastních konektorů, které splňují různé obchodní požadavky a zajišťují bezproblémovou integraci dat a robustní analytiku.
Jste připraveni plně využít potenciál svých dat pomocí vlastních konektorů v Power BI? Kontaktujte nás a zjistěte, jak vám můžeme pomoci s vývojem, nasazením a údržbou vlastních konektorů, které vyhovují vašim specifickým podnikovým potřebám. Navštivte naše webové stránky, kde najdete další informace a můžete si naplánovat konzultaci s našimi odborníky.