Pripojenie k zdrojom údajov SAP HANA pomocou režimu DirectQuery v službe Power BI

K zdrojom údajov SAP HANA sa môžete pripojiť priamo pomocou režimu DirectQuery. Pri pripájaní k databáze SAP HANA existujú dve možnosti:

  • Považovať databázu SAP HANA za multidimenzionálny zdroj (predvolené): v tomto prípade je správanie podobné, ako keď sa služba Power BI pripojí k iným multidimenzionálnym zdrojom, napríklad k zdroju SAP Business Warehouse alebo Analysis Services. Keď sa pripojíte k databáze SAP HANA pomocou tohto nastavenia, je vybraté jedno zobrazenie analýzy alebo výpočtu a všetky mierky, hierarchie a atribúty tohto zobrazenia sú k dispozícii v zozname polí. Pri vytváraní vizuálov sa agregované údaje vždy načítajú z databázy SAP HANA. Táto technika je odporúčaný postup a je predvolený pre nové zostavy DirectQuery cez SAP HANA.

  • Považovať databázu SAP HANA za relačný zdroj: v tomto prípade služba Power BI považuje databázu SAP HANA za relačný zdroj. Tento prístup ponúka väčšiu flexibilitu. Pri tomto prístupe je potrebné zabezpečiť, aby boli mierky agregované podľa očakávania a aby sa zabránilo problémom s výkonom.

Prístup pripojenia určuje možnosť globálneho nástroja, ktorú je možné nastaviť tak, že vyberiete položky Súbor>Možnosti a nastavenia a potom >možnosti DirectQuery a potom vyberiete možnosť Považovať SAP HANA za relačný zdroj, ako je to znázornené na nasledujúcom obrázku.

Screenshot of the Options dialog, showing the DirectQuery options.

Možnosť považovať databázu SAP HANA za relačný zdroj ovláda prístup používaný pre každú novú zostavu používanú pomocou režimu DirectQuery prostredníctvom databázy SAP HANA. Nemá žiadny vplyv na existujúce pripojenia databázy SAP HANA v aktuálnej zostave, ani na pripojenia v žiadnych ďalších otvorených zostavách. Ak táto možnosť v súčasnosti nie je začiarknutá, po pridaní nového pripojenia k databáze SAP HANA pomocou funkcie Získať údaje sa pri tomto pripojení považuje databáza SAP HANA za multidimenzionálny zdroj. Ak je však otvorená iná zostava, ktorá sa tiež pripája k databáze SAP HANA, táto zostava sa naďalej správa podľa možnosti, ktorá bola nastavená v čase jej vytvorenia. To znamená, že všetky zostavy pripojené k databáze SAP HANA, ktoré boli vytvorené pred februárom 2018, naďalej považujú databázu SAP HANA za relačný zdroj.

Tieto dva prístupy predstavujú odlišné správanie a nie je možné prepnúť existujúcu zostavu z jedného prístupu do druhého.

Považovať databázu SAP HANA za multidimenzionálny zdroj (predvolené)

Všetky nové pripojenia k databáze SAP HANA predvolene používajú tento spôsob, priom ktorým považujú databázu SAP HANA za multidimenzionálny zdroj. Ak chcete pripojenie k databáze SAP HANA považovať za relačný zdroj, musíte vybrať položku Možnosti a nastavenia>Súboru>Možnosti a potom začiarknuť políčko v časti Direct Query>Považovať SAP HANA za relačný zdroj.

Pri pripájaní k databáze SAP HANA ako multidimenzionálnemu zdroju platia nasledujúce informácie:

  • V navigátore funkcie Získať údaje je možné vybrať jedno zobrazenie databázy SAP HANA. Nie je možné vybrať jednotlivé mierky alebo atribúty. V čase pripojenia nie je definovaný žiadny dotaz, čo je rozdielom oproti importu údajov alebo použitiu režimu DirectQuery, keď sa SAP HANA považuje za relačný zdroj. Toto hľadisko tiež znamená, že pri výbere tohto spôsobu pripojenia nie je možné priamo použiť dotaz SQL databázy SAP HANA.

  • Všetky mierky, hierarchie a atribúty vybratého zobrazenia sa zobrazujú v zozname polí.

  • Keď je mierka použitá vo vizuáli, databáza SAP HANA je dotazovaná na načítanie hodnoty mierky na úrovni agregácie potrebnej pre vizuál. Pri práci s mierkami bez pripočítania, ako sú napríklad počítadlá a pomery, všetky agregácie vykonáva databáza SAP HANA a služba Power BI nevykonáva žiadnu ďalšiu agregáciu.

  • Ak chcete zabezpečiť, aby bolo vždy možné získať z databázy SAP HANA správne agregované hodnoty, je potrebné zaviesť určité obmedzenia. Nie je napríklad možné pridať vypočítané stĺpce alebo kombinovať údaje z viacerých zobrazení databázy SAP HANA v rámci tej istej zostavy.

Považovanie databázy SAP HANA za multidimenzionálny zdroj neponúka väčšiu flexibilitu, ako poskytuje alternatívny relačný prístup, ale je to jednoduchšie. Tento prístup tiež zaisťuje správne agregované hodnoty pri práci so zložitejšími mierkami databázy SAP HANA a vo všeobecnosti má za následok vyšší výkon.

Zoznam polí obsahuje všetky mierky, atribúty a hierarchie zo zobrazenia databázy SAP HANA. Všimnite si nasledujúce správanie, ktoré sa uplatňuje pri použití tohto spôsobu pripojenia:

  • Každý atribút zahrnutý aspoň v jednej hierarchii je predvolene skrytý. V prípade potreby ich však možno zobraziť výberom možnosti Zobraziť skryté z kontextovej ponuky v zozname polí. Z tej istej kontextovej ponuky môžu byť v prípade potreby viditeľné.

  • V databáze SAP HANA je možné definovať atribút tak, že ako svoje označenie použije iný atribút. Napríklad produkt s hodnotami 1, 2, 3, atď. ako svoje označenie môže použiť vlastnosť NázovProduktu s hodnotami Bike, Shirt, Gloves, a tak ďalej. V tomto prípade sa v zozname polí zobrazí jedno pole Produkt , ktorého hodnotami sú označenia Bike, Shirt, Glovesa tak ďalej, ale ktoré je zoradené podľa a s jedinečnosťou určenou kľúčovými hodnotami 1, 2, 3. Vytvorí sa tiež skrytý stĺpec Product.Key , ktorý v prípade potreby umožní prístup k základným hodnotám kľúčov.

Všetky premenné definované v základnom zobrazení databázy SAP HANA sa zobrazujú v čase pripojenia a je možné zadať potrebné hodnoty. Tieto hodnoty môžete neskôr zmeniť tak , že na páse s nástrojmi vyberiete položku Transformovať údaje a potom v zobrazenej rozbaľovacej ponuke vyberiete položku Upraviť parametre .

Povolené operácie modelovania sú prísnejšie ako vo všeobecnom prípade použitia režimu DirectQuery, pretože je potrebné zabezpečiť, aby bolo vždy možné získať z databázy SAP HANA správne agregované údaje. Stále je však možné robiť veľa doplnení a zmien vrátane definovania mierok, premenovania a skrytia polí a definovania formátov zobrazenia. Všetky takéto zmeny sa pri obnovení zachovajú a všetky nekonfliktné zmeny zobrazenia databázy SAP HANA sa použijú.

Ďalšie obmedzenia modelovania

Ďalšie primárne obmedzenia modelovania pri pripojení k databáze SAP HANA (ako multidimenzionálnemu zdroju) pomocou režimu DirectQuery sú nasledujúce obmedzenia:

  • Žiadna podpora pre vypočítané stĺpce: Funkcia vytvárania vypočítaných stĺpcov je zakázaná. Táto skutočnosť tiež znamená, že nie je k dispozícii ani zoskupovanie a klastrovanie, ktoré vytvára vypočítané stĺpce.
  • Ďalšie obmedzenia pre mierky: Existujú aj iné obmedzenia uložené na výrazy jazyka DAX, ktoré možno použiť v mierkach, aby odrážali úroveň podpory, ktorú ponúka databáza SAP HANA.
  • Žiadna podpora pre definovanie vzťahov: V rámci zostavy je možné dotazovať iba jedno zobrazenie, a preto neexistuje žiadna podpora pre definovanie vzťahov.
  • Žiadne zobrazenie údajov:Zobrazenie údajov zvyčajne zobrazuje údaje na úrovni podrobností v tabuľkách. Vzhľadom na povahu zdrojov OLAP, ako je napríklad databáza SAP HANA, toto zobrazenie nie je k dispozícii v rámci databázy SAP HANA.
  • Podrobnosti stĺpcov a mierok sú pevne dané: Stĺpce a mierky zobrazené v zozname polí sú pevne dané v základnom zdroji a nemožno ich upravovať. Nie je napríklad možné odstrániť stĺpec ani zmeniť jeho typ údajov. Dá sa však premenovať.
  • Ďalšie obmedzenia v jazyku DAX: Existujú aj iné obmedzenia jazyka DAX, ktorý je možné použiť v definíciách mierok, aby odrážali obmedzenia v zdroji. Nie je napríklad možné použiť na tabuľku agregačnú funkciu.

Ďalšie obmedzenia vizualizácií

Existujú obmedzenia vizuálov pri pripojení k databáze SAP HANA (ako multidimenzionálnemu zdroju) pomocou režimu DirectQuery:

  • Žiadne agregácie stĺpcov: Nie je možné zmeniť agregáciu pre stĺpec vo vizuáli. Ten je vždy typu Nezhrnúť.

Považovať databázu SAP HANA za relačný zdroj

Keď sa rozhodnete pripojiť k databáze SAP HANA ako k relačnému zdroju, bude k dispozícii väčšia flexibilita. Môžete napríklad vytvoriť vypočítané stĺpce, zahrnúť údaje z viacerých zobrazení databázy SAP HANA a vytvoriť vzťahy medzi výslednými tabuľkami. Existujú však rozdiely od správania pri liečbe databázy SAP HANA ako multidimenzionálneho zdroja, najmä ak zobrazenie databázy SAP HANA obsahuje mierky bez pripočítania, napríklad jedinečné počty alebo priemery namiesto jednoduchých súčtov a súvisiace s účinnosťou dotazov, ktoré sa spúšťajú v databáze SAP HANA.

Je dobré začať objasnením správania relačného zdroja, ako je napríklad SQL Server, keď dotaz definovaný vo funkcii Získať údaje alebo Editor Power Query vykoná agregáciu. V nasledujúcom príklade dotaz definovaný v Editor Power Query vráti priemernú cenu podľa vlastnosti ProductID (IDProduktu).

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

Ak sa údaje importujú do služby Power BI a používajú režim DirectQuery, výsledkom by bola nasledujúca situácia:

  • Údaje sa importujú na úrovni agregácie definovanej dotazom vytvoreným v službe Editor Power Query. Napríklad priemerná cena podľa produktu. Výsledkom tejto skutočnosti je tabuľka s dvomi stĺpcami ProductID (IDProduktu) a AveragePrice (PriemernáCena), ktorú je možné použiť vo vizuáloch.
  • Vo vizuáli sa každá ďalšia agregácia, napríklad Sum (Súčet), Average (Priemer), Min a ďalšie), vykoná v rámci týchto importovaných údajov. Napríklad zahrnutie stĺpca AveragePrice (PriemernáCena) do vizuálu predvolene používa agregáciu Sum (Súčet) a vráti hodnotu súčtu stĺpca AveragePrice (PriemernáCena) pre každú položku ProductID (IDProduktu) v tomto príklade 13,67. To isté platí pre všetky alternatívne agregačné funkcie, ako je napríklad Min alebo Average, použité vo vizuáli. Napríklad funkcia Average (Priemer) stĺpca AveragePrice (PriemernáCena) vráti priemer 6,66, 4 a 3, ktorý sa rovná 4,56, a nie priemer stĺpca Price (Cena) zo šiestich záznamov v základnej tabuľke, čo je 5,17.

Ak sa použije režim DirectQuery pre ten istý relačný zdroj namiesto funkcie Importovať, použije sa rovnaká sémantika a výsledky budú presne rovnaké:

  • Keďže dotaz je rovnaký, logicky sa vrstve zostavy odovzdajú presne tie isté údaje – aj keď sa tieto údaje v skutočnosti neimportujú.

  • Vo vizuáli sa každá ďalšia agregácia, napríklad Sum (Súčet), Average (Priemer) a Min, znova uskutoční v rámci tejto logickej tabuľky z dotazu. A znova, vizuál obsahujúci priemer stĺpca AveragePrice (PriemernáCena) vráti rovnaký výsledok 4,56.

Databázu SAP HANA považujte za relačný zdroj, ak sa pripojenie považuje za relačný zdroj. Služba Power BI môže v databáze SAP HANA pracovať so zobrazeniami analýzyaj zobrazeniami výpočtov, ktoré môžu obsahovať mierky. Napriek tomu sa súčasný prístup k databáze SAP HANA riadi rovnakými zásadami, ako je popísané vyššie v tejto časti: dotaz definovaný vo funkcii Získať údaje alebo Editor Power Query určuje dostupné údaje a potom všetky následné agregácie vo vizuáli sa budú rozhodovať o týchto údajoch a to isté platí pre režim Importovať aj režim DirectQuery. Vzhľadom na povahu databázy SAP HANA je však dotaz definovaný v pôvodnom dialógovom okne Získať údaje alebo v Editor Power Query vždy agregačný dotaz a vo všeobecnosti zahŕňa mierky, v ktorých je skutočná používaná agregácia definovaná zobrazením databázy SAP HANA.

Ekvivalentom predchádzajúceho príkladu s SQL Serverom je zobrazenie databázy SAP HANA obsahujúce položky ID, ProductID (IDProduktu), DepotID (IDSkladu) a mierky zahŕňajúce stĺpec AveragePrice (PriemernáCena), ktorý je v zobrazení definovaný ako priemerná hodnota stĺpca Price (Cena).

Ak bola v rámci používania funkcie Získať údaje výbery pre položku ProductID (IDProduktu ) a mierku AveragePrice (PriemernáCena), v rámci zobrazenia sa definuje dotaz, ktorý požaduje tieto agregované údaje. V predchádzajúcom príklade sa pre jednoduchosť používa jazyk pseudo-SQL, ktorý nezodpovedá presnej syntaxi jazyka SQL databázy SAP HANA. Všetky ďalšie agregácie definované vo vizuáli potom ďalej agregujú výsledky takéhoto dotazu. Opäť platí, že ako bolo popísané vyššie pre SQL Server, tento výsledok sa vzťahuje aj na prípad Importovať aj Režim DirectQuery. V prípade režimu DirectQuery sa dotaz z funkcie Získať údaje alebo Editor Power Query použije v podvýbere v rámci jedného dotazu odoslaného do databázy SAP HANA, a teda v skutočnosti sa nenačítajú všetky údaje pred ďalšou agregáciou.

Všetky tieto informácie a druhy správania vyžadujú nasledujúce informácie, ktoré je potrebné zvážiť pri používaní režimu DirectQuery s databázou SAP HANA:

  • Treba venovať pozornosť každej ďalšej agregácii vykonávanej vo vizuáloch vždy, keď je mierka v databáze SAP HANA bez pripočítania, napríklad nie je to jednoduchá funkcia Sum (Súčet), Min alebo Max).

  • V okne Získať údaje alebo Editor Power Query by sa na získanie potrebných údajov mali zahrnúť iba požadované stĺpce vzhľadom na skutočnosť, že výsledkom je dotaz, ktorý musí byť primeraný na odoslanie do databázy SAP HANA. Ak by napríklad boli vybraté desiatky stĺpcov, pretože možno budú potrebné v ďalších vizuáloch, potom by aj pre režim DirectQuery jednoduchý vizuál znamená, že agregovaný dotaz použitý v podvýbere obsahuje tieto desiatky stĺpcov, ktoré vo všeobecnosti majú slabý výkon.

V nasledujúcom príklade výber piatich stĺpcov (CalendarQuarter, Color, LastName, ProductLine, SalesOrderNumber) v dialógovom okne Získať údaje spolu s mierkou OrderQuantity znamená, že neskôr vytvoríte jednoduchý vizuál obsahujúci výsledok min OrderQuantity v nasledujúcom dotaze SQL do databázy SAP HANA. Podfarbená časť je čiastký výber, ktorý obsahuje dotaz z tabuľky Získať údaje/Editor Power Query. Ak je po tomto podvýbere vysoká kardinalita, výsledný výkon databázy SAP HANA bude pravdepodobne veľmi slabý.

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

Z dôvodu tohto správania odporúčame, aby boli položky vybraté vo vlastnosti Získať údaje alebo Editor Power Query obmedzené len na tie položky, ktoré sú potrebné na vytvorenie primeraného dotazu pre databázu SAP HANA.

Osvedčené postupy

V prípade oboch prístupov k pripojeniu k databáze SAP HANA sa odporúčania na používanie režimu DirectQuery vzťahujú aj na databázu SAP HANA, a to najmä odporúčania súvisiace so zabezpečením dobrého výkonu. Ďalšie informácie nájdete v téme Používanie režimu DirectQuery v službe Power BI.

Dôležité informácie a obmedzenia

V nasledujúcom zozname sú popísané všetky funkcie SAP HANA, ktoré nie sú úplne podporované, alebo funkcie, ktoré sa správajú inak pri používaní služby Power BI.

  • Hierarchie typu nadradený-podriadený: Hierarchie typu nadradený-podriadený sa v službe Power BI nezobrazujú. Dôvodom je, že služba Power BI pristupuje k databáze SAP HANA pomocou rozhrania SQL a hierarchie typu nadradený-podriadený nie sú plne prístupné pomocou SQL.
  • Ďalšie metaúdaje hierarchie: Základná štruktúra hierarchií sa zobrazuje v službe Power BI, ale niektoré metaúdaje hierarchie, ako napríklad kontrola správania nepravidelných hierarchií, nemajú žiadny vplyv. Táto skutočnosť je opäť spôsobená obmedzeniami ukladanými rozhraním SQL.
  • Pripojenie ion pomocou SSL: S protokolom TLS sa môžete pripojiť pomocou importu a multidimenzionálne, ale nemôžete sa pripojiť k inštanciám SAP HANA nakonfigurovaným na používanie protokolu TLS pre relačný konektor.
  • Podpora zobrazení atribútov: Služba Power BI sa môže pripojiť k zobrazeniam analýzy a výpočtu, ale nemôže sa pripojiť priamo k zobrazeniam atribútov.
  • Podpora pre objekty katalógu: Power BI sa nemôže pripojiť k objektom katalógu.
  • Zmena premenných po publikovaní: Po publikovaní zostavy nie je možné zmeniť hodnoty premenných SAP HANA priamo v služba Power BI.

Známe problémy

V nasledujúcom zozname sa popisujú všetky známe problémy pri pripájaní k databáze SAP HANA (DirectQuery) pomocou služby Power BI.

  • Problém databázy SAP HANA pri dotaze na počítadlá a ďalšie mierky: Z databázy SAP HANA sa vrátia nesprávne údaje, ak je pripojenie pripojené k analytickému zobrazeniu a ten istý vizuál obsahuje mierku počítadla a ďalšiu mierku pomeru. Tento problém je zahrnutý v poznámke 2128928 SAP (Neočakávané výsledky pri dotaze na vypočítaný stĺpec a počítadlo). Mierka pomeru je v tomto prípade nesprávna.

  • Viacero stĺpcov služby Power BI z jedného stĺpca databázy SAP HANA: V prípade niektorých zobrazení výpočtu, kde sa stĺpec databázy SAP HANA používa vo viac ako jednej hierarchii, sa daný stĺpec v databáze SAP HANA zobrazuje ako dva samostatné atribúty. Výsledkom tohto prístupu je vytvorenie dvoch stĺpcov v službe Power BI. Tieto stĺpce sú však predvolene skryté a všetky dotazy týkajúce sa hierarchií alebo priamo stĺpcov sa správajú správne.

Ďalšie informácie o režime DirectQuery získate v nasledujúcich zdrojoch: