Připojení ke zdrojům dat SAP HANA pomocí DirectQuery v Power BI

Ke zdrojům dat SAP HANA se můžete připojit přímo pomocí DirectQuery. Při připojování k SAP HANA existují dvě možnosti:

  • Zacházet se SAP HANA jako s multidimenzionálním zdrojem (výchozí): V tomto případě se chování podobá tomu, když se Power BI připojí k jiným multidimenzionálním zdrojům, jako je SAP Business Warehouse nebo Analysis Services. Když se připojíte k SAP HANA pomocí tohoto nastavení, vybere se jedno zobrazení analýzy nebo výpočtu a v seznamu polí jsou k dispozici všechny míry, hierarchie a atributy tohoto zobrazení. Při vytváření vizuálů se agregovaná data vždy načítají ze SAP HANA. Tato technika je doporučeným přístupem a je výchozí pro nové sestavy DirectQuery přes SAP HANA.

  • Zacházet se SAP HANA jako s relačním zdrojem: V tomto případě Power BI považuje SAP HANA za relační zdroj. Tento přístup nabízí větší flexibilitu. Při tomto přístupu je potřeba dbát na to, aby se míry agregovaly podle očekávání a aby nedocházelo k problémům s výkonem.

Přístup k připojení je určen globální možností nástroje, která je nastavená tak, že vybere >možnosti Soubor a nastavení a pak Možnosti>DirectQuery a pak vybere možnost Považovat SAP HANA za relační zdroj, jak je znázorněno na následujícím obrázku.

Screenshot of the Options dialog, showing the DirectQuery options.

Možnost pracovat se SAP HANA jako s relačním zdrojem řídí přístup použitý pro jakoukoli novou sestavu pomocí DirectQuery přes SAP HANA. Nemá žádný vliv na žádná existující připojení SAP HANA v aktuální sestavě ani na připojení v jiných sestavách, které jsou otevřeny. Pokud je tato možnost aktuálně nezaškrtnutá, pak po přidání nového připojení k SAP HANA pomocí funkce Získat data se toto připojení považuje za multidimenzionální zdroj SAP HANA. Pokud se ale otevře jiná sestava, která se také připojí k SAP HANA, bude se tato sestava dál chovat podle možnosti, která byla nastavena v době vytvoření. Tento fakt znamená, že všechny sestavy připojující se k SAP HANA vytvořené před únorem 2018 nadále zachází se SAP HANA jako s relačním zdrojem.

Dva přístupy představují odlišné chování a není možné přepnout existující sestavu z jednoho přístupu na druhou.

Zpracování SAP HANA jako multidimenzionálního zdroje (výchozí)

Všechna nová připojení k SAP HANA používají tuto metodu připojení ve výchozím nastavení a považují SAP HANA za multidimenzionální zdroj. Pokud chcete zacházet s připojením k SAP HANA jako s relačním zdrojem, musíte vybrat Možnosti souboru>a nastavení>Možnosti a potom zaškrtnout políčko v části Direct Query>Treat SAP HANA jako relační zdroj.

Při připojování k SAP HANA jako multidimenzionálnímu zdroji platí následující aspekty:

  • V navigátoru získat data je možné vybrat jedno zobrazení SAP HANA. Není možné vybrat jednotlivé míry nebo atributy. V době připojení není definovaný žádný dotaz, který se liší od importu dat nebo při použití DirectQuery při zpracování SAP HANA jako s relačním zdrojem. To také znamená, že při výběru této metody připojení není možné přímo použít dotaz SAP HANA SQL.

  • V seznamu polí se zobrazí všechny míry, hierarchie a atributy vybraného zobrazení.

  • Při použití míry ve vizuálu se SAP HANA dotazuje, aby načetla hodnotu míry na úrovni agregace potřebné pro vizuál. Při práci s nedatnými mírami, jako jsou čítače a poměry, provádí sap HANA všechny agregace a Power BI neprovádí žádnou další agregaci.

  • Aby se zajistilo, že správné agregační hodnoty je možné vždy získat ze SAP HANA, musí být stanovena určitá omezení. Například není možné přidávat počítané sloupce ani kombinovat data z více zobrazení SAP HANA ve stejné sestavě.

Zpracování SAP HANA jako multidimenzionálního zdroje nenabízí větší flexibilitu poskytovanou alternativním relačním přístupem, ale je jednodušší. Přístup také zajišťuje správné agregační hodnoty při práci se složitějšími mírami SAP HANA a obecně vede k vyššímu výkonu.

Seznam polí obsahuje všechny míry, atributy a hierarchie ze zobrazení SAP HANA. Všimněte si následujících chování, které platí při použití této metody připojení:

  • Každý atribut, který je součástí alespoň jedné hierarchie, je ve výchozím nastavení skrytý. Pokud je to ale potřeba, můžete je zobrazit výběrem možnosti Zobrazit skryté v místní nabídce v seznamu polí. V případě potřeby je možné zviditelnit ze stejné místní nabídky.

  • V SAP HANA lze atribut definovat tak, aby jako popisek používal jiný atribut. Například Součin s hodnotami 1, 2, 3a tak dále, může jako popisek použít ProductName, with values Bike, Shirt, Glovesatd. V tomto případě se v seznamu polí zobrazí jedno pole Produkt, jehož hodnoty jsou popisky Bike, ShirtGlovesatd., ale které jsou seřazeny podle, a s jedinečností určenou hodnotami klíče 1, 2, . 3 Vytvoří se také skrytý sloupec Product.Key , který v případě potřeby umožní přístup k hodnotám podkladového klíče.

Všechny proměnné definované v podkladovém zobrazení SAP HANA se zobrazí v době připojení a je možné zadat potřebné hodnoty. Tyto hodnoty můžete později změnit tak , že na pásu karet vyberete Transformovat data a pak v zobrazené rozevírací nabídce upravíte parametry .

Povolené operace modelování jsou více omezující než v obecném případě při použití DirectQuery vzhledem k tomu, že je potřeba zajistit, aby se správná agregovaná data dala vždy získat ze SAP HANA. Je ale stále možné provádět mnoho přidání a změn, včetně definování měr, přejmenování a skrytí polí a definování formátů zobrazení. Všechny tyto změny se při aktualizaci zachovají a použijí se všechny konfliktní změny provedené v zobrazení SAP HANA.

Další omezení modelování

Další primární omezení modelování při připojování k SAP HANA pomocí DirectQuery (považují se za multidimenzionální zdroj) jsou následující omezení:

  • Žádná podpora počítaných sloupců: Možnost vytvářet počítané sloupce je zakázaná. Tento fakt také znamená, že seskupení a clustering, které vytvářejí počítané sloupce, nejsou k dispozici.
  • Další omezení pro míry: Existují další omezení týkající se výrazů DAX, které lze použít v mírách, aby odrážely úroveň podpory, kterou nabízí SAP HANA.
  • Žádná podpora pro definování relací: V sestavě je možné dotazovat pouze jedno zobrazení, a proto neexistuje žádná podpora pro definování relací.
  • Žádné zobrazení dat: Zobrazení dat obvykle zobrazuje data na úrovni podrobností v tabulkách. Vzhledem k povaze zdrojů OLAP, jako je SAP HANA, není toto zobrazení dostupné přes SAP HANA.
  • Opravili jsme podrobnosti o sloupcích a měrách: Seznam sloupců a měr, které jsou vidět v seznamu polí, jsou pevně dané podkladovým zdrojem a nelze je upravit. Například sloupec není možné odstranit ani změnit jeho datový typ. Dá se ale přejmenovat.
  • Další omezení v jazyce DAX: Existují další omezení jazyka DAX, která lze použít v definicích měr, aby odrážela omezení ve zdroji. Například není možné použít agregační funkci v tabulce.

Další omezení vizualizace

Při připojování k SAP HANA pomocí DirectQuery existují omezení ve vizuálech (považují se za multidimenzionální zdroj):

  • Žádná agregace sloupců: Agregaci sloupce ve vizuálu není možné změnit a vždy není možné ji sumarizovat.

Zpracování SAP HANA jako relačního zdroje

Když se rozhodnete připojit k SAP HANA jako relační zdroj, bude dostupná další flexibilita. Můžete například vytvořit počítané sloupce, zahrnout data z více zobrazení SAP HANA a vytvořit relace mezi výslednými tabulkami. Existují však rozdíly od chování při zacházení se SAP HANA jako s multidimenzionálním zdrojem, zejména pokud zobrazení SAP HANA obsahuje nesoučtové míry, například jedinečné počty nebo průměry, a nikoli jednoduché součty, a související s efektivitou dotazů, které se spouštějí proti SAP HANA.

Je užitečné začít objasněním chování relačního zdroje, jako je SQL Server, když dotaz definovaný v příkazu Získat data nebo Editor Power Query provede agregaci. V následujícím příkladu vrátí dotaz definovaný v Editor Power Query průměrnou cenu podle IDproduktu.

Diagram showing a query defined in Power Query Editor that returns the average price by Product ID.

Pokud se data naimportují do Power BI a používají DirectQuery, může to mít za následek následující situaci:

  • Data se naimportují na úrovni agregace definované dotazem vytvořeným v Editor Power Query. Například průměrná cena podle produktu. Výsledkem této skutečnosti je tabulka se dvěma sloupci ProductID a AveragePrice , které lze použít ve vizuálech.
  • Ve vizuálu se u importovaných dat provádí jakákoli následná agregace, například Součet, Průměr, Minimum a další. Například zahrnutí AveragePrice ve vizuálu používá agregaci Součet ve výchozím nastavení a vrátilo by součet přes Hodnotu AveragePrice pro každý ID produktu, v tomto příkladu 13,67. Totéž platí pro všechny alternativní agregační funkce, jako je minimum nebo průměr, které se ve vizuálu používají. Například average of AveragePrice vrátí průměr 6,66, 4 a 3, který odpovídá 4,56, a nikoli průměr Ceny na šesti záznamech v podkladové tabulce, což je 5,17.

Pokud se místo importu používá DirectQuery přes stejný relační zdroj, použije se stejná sémantika a výsledky by byly naprosto stejné:

  • Vzhledem ke stejnému dotazu se logicky přesně stejná data zobrazují do vrstvy vytváření sestav, i když se data ve skutečnosti neimportují.

  • Ve vizuálu se u této logické tabulky z dotazu znovu provede jakákoli následná agregace, například Součet, Průměr a Minimum. A opět vizuál obsahující průměrprůměrné ceny vrátí stejnou hodnotu 4,56.

Zvažte SAP HANA, když se připojení považuje za relační zdroj. Power BI může pracovat s analytickými zobrazeními i zobrazenímivýpočtů v SAP HANA, z nichž obě můžou obsahovat míry. Přístup pro SAP HANA se v současné době řídí stejnými principy, jaké jsme popsali dříve v této části: dotaz definovaný v části Získat data nebo Editor Power Query určuje dostupná data a následná agregace ve vizuálu je přes tato data a totéž platí pro Import i DirectQuery. Vzhledem k povaze SAP HANA je ale dotaz definovaný v počátečním dialogovém okně Získat data nebo Editor Power Query vždy agregační dotaz a obecně zahrnuje míry, ve kterých je skutečná agregace definovaná zobrazením SAP HANA.

Ekvivalentem předchozího příkladu SQL Serveru je, že existuje zobrazení SAP HANA obsahující ID, PRODUCTID, DepotID a míry, včetně AveragePrice, definované v zobrazení Average of Price.

Pokud jste v prostředí Získat data , byly provedeny výběry pro ProductID a AveragePrice míry, pak se tím definuje dotaz v zobrazení, který požaduje tato agregovaná data. V předchozím příkladu se pro jednoduchost používá pseudo-SQL, který neodpovídá přesné syntaxi SAP HANA SQL. Potom všechny další agregace definované ve vizuálu dále agregují výsledky takového dotazu. Znovu, jak je popsáno dříve pro SQL Server, tento výsledek platí pro případ Import i DirectQuery. V případě DirectQuery se dotaz ze získání dat nebo Editor Power Query použije v dílčím výběru v rámci jednoho dotazu odeslaného do SAP HANA, a proto se ve skutečnosti nejedná o případ, že by se všechna data před další agregací přečetla.

Všechny tyto aspekty a chování vyžadují následující důležité aspekty při použití DirectQuery přes SAP HANA:

  • Pozornost je třeba věnovat jakékoli další agregaci prováděné ve vizuálech, kdykoli je míra v SAP HANA nesčítá, například ne jednoduchý součet, minimum nebo maximum.

  • V části Získat data nebo Editor Power Query by měly být k načtení potřebných dat zahrnuty pouze požadované sloupce, které odrážejí skutečnost, že výsledkem je dotaz, který musí být přiměřeným dotazem, který se dá odeslat do SAP HANA. Pokud byly například vybrány desítky sloupců s myšlenkou, že by mohly být potřeba u následných vizuálů, znamená to, že i u jednoduchého vizuálu DirectQuery agregační dotaz použitý v dílčím výběru obsahuje ty desítky sloupců, které obvykle fungují špatně.

V následujícím příkladu výběr pěti sloupců (CalendarQuarter, Color, LastName, ProductLine, SalesOrderNumber) v dialogovém okně Získat data spolu s mírou OrderQuantity znamená, že později vytvoření jednoduchého vizuálu obsahujícího Min OrderQuantity vede k následujícímu dotazu SQL na SAP HANA. Stínovaný je dílčí výběr, který obsahuje dotaz z získat data / Editor Power Query. Pokud má tento dílčí výběr vysoký výsledek kardinality, bude výsledný výkon SAP HANA pravděpodobně nízký.

Screenshot of a query example, showing the SQL query to SAP HANA.

Vzhledem k tomuto chování doporučujeme vybrat položky vybrané v části Získat data nebo Editor Power Query být omezené na ty, které jsou potřeba, a přesto výsledkem je rozumný dotaz pro SAP HANA.

Osvědčené postupy

U obou přístupů k připojení k SAP HANA platí doporučení pro použití DirectQuery také pro SAP HANA, zejména doporučení související s zajištěním dobrého výkonu. Další informace najdete v tématu Použití DirectQuery v Power BI.

Úvahy a omezení

Následující seznam popisuje všechny funkce SAP HANA, které nejsou plně podporované, nebo funkce, které se při používání Power BI chovají jinak.

  • Hierarchie nadřazeného podřízeného objektu: Hierarchie nadřazených podřízených objektů nejsou v Power BI viditelné. Důvodem je to, že Power BI přistupuje k SAP HANA pomocí rozhraní SQL a nadřazené podřízené hierarchie nejsou plně přístupné pomocí SQL.
  • Další metadata hierarchie: Základní struktura hierarchií se v Power BI zobrazuje, ale některá metadata hierarchie, jako je například řízení chování nepravidelných hierarchií, nemají žádný vliv. Tento fakt je opět způsoben omezeními uloženými rozhraním SQL.
  • Připojení ion pomocí PROTOKOLU SSL: Můžete se připojit pomocí importu a multidimenzionálního protokolu TLS, ale nemůžete se připojit k instancím SAP HANA nakonfigurovaným tak, aby používaly protokol TLS pro relační konektor.
  • Podpora zobrazení atributů: Power BI se může připojit k zobrazením analýzy a výpočtů, ale nemůže se připojit přímo k zobrazení atributů.
  • Podpora objektů katalogu: Power BI se nemůže připojit k objektům katalogu.
  • Změna na proměnné po publikování: Po publikování sestavy nemůžete změnit hodnoty pro žádné proměnné SAP HANA přímo v služba Power BI.

Známé problémy

Následující seznam popisuje všechny známé problémy při připojování k SAP HANA (DirectQuery) pomocí Power BI.

  • Problém SE SAP HANA při dotazování na čítače a další míry: Z SAP HANA se vrátí nesprávná data, pokud se připojujete k analytickému zobrazení, a míra čítače a nějaká jiná míra poměru jsou součástí stejného vizuálu. Tento problém se týká 2128928 SAP Note (neočekávané výsledky při dotazování počítaného sloupce a čítače). V tomto případě je míra poměru nesprávná.

  • Několik sloupců Power BI z jednoho sloupce SAP HANA: V některých zobrazeních výpočtů, kde se sloupec SAP HANA používá ve více než jedné hierarchii, sap HANA sloupec zveřejňuje jako dva samostatné atributy. Výsledkem tohoto přístupu jsou dva sloupce vytvořené v Power BI. Tyto sloupce jsou ve výchozím nastavení skryté a všechny dotazy týkající se hierarchií nebo sloupců se chovají správně.

Další informace o DirectQuery najdete v následujících zdrojích informací: