Megosztás a következőn keresztül:


Csatlakozás SAP HANA-adatforrásokhoz a DirectQuery használatával a Power BI-ban

Közvetlenül a DirectQuery használatával csatlakozhat SAP HANA-adatforrásokhoz, ami gyakran szükséges az olyan nagy adathalmazokhoz, amelyek túllépik a rendelkezésre álló erőforrásokat az importálási modellek támogatásához. Az SAP HANA-hoz directQuery módban való csatlakozásnak két megközelítése van, amelyek mindegyike különböző képességekkel rendelkezik:

  • Az SAP HANA többdimenziós forrásként való kezelése (alapértelmezett): Ebben az esetben a viselkedés hasonló ahhoz, amikor a Power BI más többdimenziós forrásokhoz, például az SAP Business Warehouse-hoz vagy az Analysis Serviceshez csatlakozik. Ha többdimenziós forrásként csatlakozik az SAP HANA-hoz, egyetlen elemzési vagy számítási nézet lesz kiválasztva, és a nézet összes mértéke, hierarchiája és attribútuma elérhető a mezőlistában. Számított oszlopokat vagy más adat testreszabásokat nem adhat hozzá a szemantikai modellhez. A vizualizációk létrehozásakor az összesítő adatok közvetlenül lekérhetők az SAP HANA-ból. Az SAP HANA többdimenziós forrásként való kezelése az alapértelmezett az új DirectQuery-jelentésekhez az SAP HANA-n keresztül.

  • Az SAP HANA relációs forrásként való kezelése: Ebben az esetben a Power BI relációs adatforrásként kezeli az SAP HANA-t. Ez a megközelítés nagyobb rugalmasságot biztosít. Többek között hozzáadhat számított oszlopokat, és más forrásokból származó adatokat is felvehet, de ügyelni kell arra, hogy a mértékek a várt módon legyenek összesítve. Kerülje a nem additív mértékeket. Emellett ügyeljen arra, hogy néhány oszlopot és illesztést tartalmazó egyszerű nézeteket használjon a teljesítményproblémák elkerülése érdekében. Fontolja meg a mértékek újralétrehozását a szemantikai modellen belül, de ne feledje, hogy az összetett mértékek nem biztos, hogy optimalizálódnak. Az SAP HANA-hierarchiák nem érhetők el az SAP HANA relációs forrásként való használatakor.

A kapcsolati módszert egy globális eszközbeállítás határozza meg, amelyet a következő módon állíthat be: válassza a Fájl>Beállítások és beállítások, majd a Beállítások>DirectQueryopciót. Ezután válassza az SAP HANA kezelése relációs forráskéntlehetőséget, ahogy az alábbi képen látható.

Beállítások párbeszédpanel képernyőképe, amelyen a DirectQuery beállításai láthatók.

Az SAP HANA relációs forrásként való kezelésének lehetősége szabályozza az SAP HANA-n keresztül a DirectQuery-t használó új jelentések csatlakozási módszerét. Nincs hatással az aktuális jelentésben meglévő SAP HANA-kapcsolatokra, sem a többi megnyitott jelentés kapcsolataira. Ha tehát a beállítás jelenleg nincs bejelölve, akkor ha új kapcsolatot ad hozzá az SAP HANA-hoz Adatok lekérésehasználatával, az a kapcsolat az SAP HANA-t többdimenziós forrásként kezeli. Ha azonban egy másik jelentés van megnyitva, amely az SAP HANA-hoz is csatlakozik, akkor a jelentés továbbra is a beállításnak megfelelően működik a létrehozáskor. Ez azt jelenti, hogy az SAP HANA-hoz relációs forrásként csatlakozó jelentések továbbra is relációs forrásként kezelik az SAP HANA-t, még akkor is, ha a lehetőség nincs bejelölve.

A két SAP HANA kapcsolati módszer eltérő viselkedést jelent, és nem lehet meglévő jelentést egyik kapcsolati módszerről a másikra váltani.

Az SAP HANA kezelése többdimenziós forrásként (alapértelmezett)

Az SAP HANA minden új kapcsolata alapértelmezés szerint ezt a kapcsolati módszert használja, és az SAP HANA-t többdimenziós forrásként kezeli. Ha többdimenziós forrásként csatlakozik az SAP HANA-hoz, az alábbi szempontokat kell figyelembe vennie:

  • A(z) Get Data Navigator-ben egyetlen SAP HANA-nézet választható ki. Az egyes mértékek és attribútumok nem választhatók ki. A csatlakozáskor nincs definiálva lekérdezés, amely különbözik az adatok importálásától, vagy ha DirectQueryt használ az SAP HANA relációs forrásként való kezelése során. Ez a szempont azt is jelenti, hogy a kapcsolati módszer kiválasztásakor nem lehet közvetlenül SAP HANA SQL-lekérdezést használni.

  • A kijelölt nézet összes mértéke, hierarchiája és attribútuma megjelenik a mezőlistában.

  • Mivel egy vizualizációban mérték van használatban, az SAP HANA lekérdezi a mérték értékét a vizualizációhoz szükséges összesítés szintjén. A nem additív mértékek, például a számlálók és az arányok kezelésekor az összes összesítést az SAP HANA végzi, és a Power BI nem végez további összesítést.

  • Annak érdekében, hogy a megfelelő összesített értékek mindig az SAP HANA-tól származhassanak, bizonyos korlátozásokat kell bevezetni. Nem lehet például számított oszlopokat hozzáadni, vagy több SAP HANA-nézet adatait egyesíteni ugyanabban a jelentésben. Oszlopok törlése és adattípusuk módosítása sem lehetséges.

Az SAP HANA többdimenziós forrásként való kezelése kevésbé rugalmas, mint az alternatív relációs megközelítés, de egyszerűbb. Ez a kapcsolati módszer biztosítja a helyes összesített értékeket az összetettebb SAP HANA-mértékek kezelésekor, és általában nagyobb teljesítményt eredményez.

A Mező lista az SAP HANA nézet összes mértékét, attribútumát és hierarchiáit tartalmazza. Figyelje meg az alábbi viselkedéseket, amelyek a kapcsolati módszer használatakor érvényesek:

  • Alapértelmezés szerint minden olyan attribútum, amely legalább egy hierarchiában szerepel, alapértelmezés szerint rejtett. Szükség esetén azonban a mezőlista helyi menüjében a Rejtett megtekintése lehetőséget választva tekintheti meg őket. Ugyanabból a helyi menüből szükség esetén láthatóvá tehetők.

  • Az SAP HANA-ban egy attribútum definiálható úgy, hogy egy másik attribútumot használjon címkeként. Például Product, , , stb. értékekkel használhatja ProductName, , , stb. értékekkel címkéként. Ebben az esetben egyetlen mező, a Termék jelenik meg a mezőlistában, amelynek értékei a címkék: Bike, Shirt, Glovesés így tovább, de amelyeket a kulcsértékek 1, 2, 3alapján rendeznek és egyediségüket is ezek határozzák meg. Létrejön egy rejtett oszlop Product.Key is, amely szükség esetén hozzáférést biztosít a mögöttes kulcsértékekhez.

A mögöttes SAP HANA nézetben definiált változók a csatlakozáskor jelennek meg, és a szükséges értékek beírhatók. Ezeket az értékeket később módosíthatja a menüszalagon a Adatok átalakítása opció kiválasztásával, majd a legördülő menüben a Paraméterek szerkesztése lehetőséggel.

Az engedélyezett modellezési műveletek szigorúbbak, mint az általános esetben a DirectQuery használatakor, mivel biztosítani kell, hogy a megfelelő összesített adatok mindig elérhetők legyenek az SAP HANA-tól. Azonban továbbra is lehetséges néhány kiegészítés és módosítás, beleértve a mértékek definiálását, a mezők átnevezését és elrejtését, valamint a megjelenítési formátumok definiálását. Az összes ilyen módosítás megmarad a frissítéskor, és az SAP HANA nézet nem ütköző módosításait alkalmazza a rendszer.

További modellezési korlátozások

A fent említett korlátozások mellett vegye figyelembe a következő modellezési korlátozásokat, amikor többdimenziós forrásként csatlakozik az SAP HANA-hoz:

  • Számított oszlopok nem támogatottak: A számított oszlopok létrehozásának lehetősége le van tiltva. Ez a tény azt is jelenti, hogy a számított oszlopokra támaszkodó csoportosítás és klaszterezés nem érhető el.
  • Mértékek további korlátozásai: A DAX-kifejezésekre egyéb korlátozások vonatkoznak, amelyek az SAP HANA által nyújtott támogatás szintjét tükrözik. Például nem lehet összesített függvényt használni egy táblán.
  • A kapcsolatok definiálása nem támogatott: Csak egyetlen nézet kérdezhető le egy jelentésben, így a kapcsolatok definiálása nem támogatott.
  • Nincs táblanézet: A Táblázat nézet általában a táblák részletességi adatait jeleníti meg. A többdimenziós források természetéből adódóan ez a nézet nem érhető el az SAP HANA többdimenziós forrásként való használatakor.
  • Az oszlop- és mértékadatok rögzítve vannak: A mezőlistában szereplő oszlopokat és mértékeket az alapul szolgáló forrás határozza meg, és nem módosíthatók. Például nem lehet törölni egy oszlopot, és nem lehet módosítani az adattípusát. Azonban átnevezhető.

További vizualizációs korlátozások

A vizualizációkban korlátozások vonatkoznak az SAP HANA-hoz többdimenziós forrásként való csatlakozáskor:

  • Nincs oszlopösszesítés: Vizualizációk oszlopainak összesítését nem lehet módosítani, és mindig Ne foglalja össze.

Az SAP HANA relációs forrásként való kezelése

Ahhoz, hogy relációs forrásként csatlakozzon az SAP HANA-hoz, ki kell választania Fájl>Beállítások és beállítások, majd Beállítások>DirectQuery, majd válassza az SAP HANA relációs forrásként való kezelését.

Ha az SAP HANA-t relációs forrásként használja, további rugalmasság érhető el. Létrehozhat például számított oszlopokat, több SAP HANA-nézet adatait is belefoglalhatja, és kapcsolatokat hozhat létre az eredményként kapott táblák között. Az SAP HANA-hoz többdimenziós forrásként való csatlakozáskor azonban eltér a viselkedéstől, különösen akkor, ha az SAP HANA nézet nem additív mértékeket, például eltérő darabszámokat vagy átlagokat tartalmaz egyszerű összegek helyett. A nem additív mértékek rossz eredményeket eredményezhetnek. A mértékek emellett csökkenthetik a lekérdezéstervek optimalizálásának hatékonyságát az SAP HANA-ban, és rossz lekérdezési teljesítményt és időtúllépést eredményezhetnek.

Az SAP HANA mint relációs forrás ismertetése

Érdemes először tisztázni egy relációs forrás, például az SQL Server viselkedését, amikor a Adatok lekérése vagy a Power Query-szerkesztőben definiált lekérdezés összesítést végez. Az alábbi példában a Power Query-szerkesztőben definiált lekérdezés az átlagos árat adja vissza ProductIDalapján.

Power Query-szerkesztőben definiált lekérdezést ábrázoló diagram, amely termékazonosító szerint adja vissza az átlagos árat.

Ha az adatokat a DirectQuery használata helyett a Power BI-ba importálták, az alábbi helyzet következne be:

  • Az adatok importálása a Power Query-szerkesztőben létrehozott lekérdezés által meghatározott összesítés szintjén történik. Például az átlagos ár termék szerint. Ez a tény egy olyan táblát eredményez, amelynek két oszlopa ProductID és AveragePrice, amelyek használhatók vizualizációkban.
  • Egy vizualizációban minden további összesítés, például Sum, Average, Minés egyéb, az importált adatokon keresztül történik. Ha például a AveragePrice szerepel egy vizualizáción, alapértelmezés szerint a Összeg aggregációt használja, és a AveragePrice összegét adja vissza minden egyes ProductIDesetében, például ebben az esetben 13,67. Ugyanez vonatkozik bármely alternatív összesítő függvényre is a vizuálban, mint például a Minimum vagy a Átlag. ÁtlagAveragePrice a 6.66, 4 és 3 átlagát adja vissza, ami 4.56-nak felel meg, és nem az alapul szolgáló tábla hat rekordjának Ár átlaga, ami 5.17.

Ha az Importálás helyett ugyanazon a relációs forráson keresztül használja a DirectQueryt, ugyanazok a szemantikák érvényesek, és az eredmények pontosan megegyeznek:

  • Ugyanezzel a lekérdezéssel logikailag pontosan ugyanazok az adatok jelennek meg a jelentéskészítési rétegben , még akkor is, ha az adatok valójában nem importálva.

  • A vizualizációkban a rendszer ismét végrehajtja az azt követő összesítéseket, például Összeg, Átlagosés Minimális, a lekérdezésből származó logikai táblán. A AveragePrice átlagos vizualizáció szintén ugyanazt a 4,56-ot adja vissza.

Vegye figyelembe az SAP HANA-t, ha a kapcsolat relációs forrásként van kezelve. A Power BI képes az SAP HANA-ban működni mind elemzési nézetekkel, mind számítási nézetekkel, amelyek egyaránt tartalmazhatnak mértékeket. Az SAP HANA megközelítése azonban ma is ugyanazokat az alapelveket követi, mint korábban ebben a szakaszban: a Adatok lekérése vagy a Power Query-szerkesztőben definiált lekérdezés határozza meg a rendelkezésre álló adatokat, majd a vizualizációk későbbi összesítése ezen az adatokon halad át, és ugyanez vonatkozik az Importálásra és a DirectQueryre is. Az SAP HANA jellegéből adódóan azonban a kezdeti Adatok lekérése párbeszédpanelen vagy Power Query-szerkesztő definiált lekérdezés mindig összesített lekérdezés, és általában olyan mértékeket tartalmaz, amelyekben a használt tényleges összesítéseket az SAP HANA-nézet határozza meg.

Az előző SQL Server-példa megfelelője egy SAP HANA-nézet, amely tartalmazza a azonosító, ProductID, DepotID, valamint a mértékeket, beleértve a AveragePrice-t, amelyet a nézetben úgy definiálnak, mint Ár átlaga.

Ha az Adatok lekérése felületen a ProductID és az AveragePrice mértékre voltak kiválasztva, akkor ez egy lekérdezést határoz meg a nézeten keresztül, amely az összesítő adatokat keresi. A korábbi példában az egyszerűség kedvéért pszeudo-SQL-t használunk, amely nem felel meg az SAP HANA SQL pontos szintaxisának. Ezután a vizualizációban definiált további összesítések tovább összesítják az ilyen lekérdezések eredményeit. Az SQL Server esetében korábban leírtaknak megfelelően ez az eredmény az Importálás és a DirectQuery esetre is érvényes. A DirectQuery-esetben a Adatok lekérése vagy a Power Query-szerkesztő lekérdezése az SAP HANA-nak küldött egyetlen lekérdezés alkijelölésében használatos, így valójában nem az a helyzet, hogy az összes adat beolvasva lenne a további összesítés előtt.

A DirectQuery SAP HANA-n keresztüli relációs forrásként való használata során a következő fontos szempontokat és viselkedéseket kell figyelembe venni:

  • Figyelmet kell fordítani a vizualizációkban végzett további összesítésekre, ha az SAP HANA-ban a mérték nem additív, például nem egyszerű Összeg, Minimálisvagy Max.

  • Az Adatok lekérése vagy a Power Query-szerkesztőben csak a szükséges oszlopokat kell tartalmaznia a szükséges adatok lekéréséhez, tükrözve azt a tényt, hogy az eredmény egy olyan lekérdezés, amelynek ésszerű lekérdezésnek kell lennie, amelyet el lehet küldeni az SAP HANA-nak. Ha például több tucat oszlopot választottak ki, azzal a gondolattal, hogy szükség lehet rájuk a későbbi vizualizációkban, akkor még a DirectQuery esetében is egy egyszerű vizualizáció azt jelenti, hogy az alkijelölésben használt összesítő lekérdezés több tucat oszlopot tartalmaz, amelyek általában rosszul teljesítenek, és időtúllépéseket tapasztalhatnak.

A következő példában a Adatok lekérése párbeszédpanelen öt oszlopot (CalendarQuarter, Color, LastName, ProductLine, SalesOrderNumber) jelöljön ki, az OrderQuantitymértékkel együtt azt jelenti, hogy a Min OrderQuantity tartalmazó egyszerű vizualizáció későbbi létrehozása a következő SQL-lekérdezést eredményezi az SAP HANA-nak. A szürke rész a részlekérdezés, amely a Adatok lekérése / Power Query-szerkesztő lekérdezését tartalmazza. Ha ez az alkijelölés magas számosságú eredményt ad, akkor az SAP HANA teljesítménye valószínűleg gyenge lesz, vagy időtúllépésekkel találkozik. A teljesítményre gyakorolt hatás nem azért van, mert a Power BI az alkijelölés összes mezőjét kéri le; A legtöbb mezőt a külső lekérdezés veti előre. Inkább az alválasztás intézkedései okozzák a hatást, amelyek következtében azoknak materializálódniuk kell a HANA szerveren.

Képernyőkép egy lekérdezési példáról, amelyen az SQL-lekérdezés látható az SAP HANA-nak.

A viselkedés miatt javasoljuk, hogy a Adatok lekérése vagy a Power Query-szerkesztőben kijelölt elemek csak a szükséges elemekre korlátozódjanak, ugyanakkor ésszerű lekérdezést eredményeznek az SAP HANA-hoz. Ha lehetséges, fontolja meg az összes szükséges mérték újragondolását a szemantikai modellben, és használja az SAP HANA-t, mint egy hagyományos relációs forrást.

Ajánlott eljárások

Az SAP HANA-hoz való csatlakozás mindkét módszeréhez kövesse a DirectQuery használatára vonatkozó általános javaslatokat, különösen a jó lekérdezési teljesítmény biztosításával kapcsolatos javaslatokat. További információért lásd a DirectQuery használatát a Power BI-ben: .

Szempontok és korlátozások

Az alábbi lista az összes olyan SAP HANA-funkciót ismerteti, amely nem teljes mértékben támogatott, vagy a Power BI használatakor eltérően viselkedő funkciókat.

  • Szülő-gyermek hierarchiák: Szülő-gyermek hierarchiák nem láthatók a Power BI-ban. Ennek az az oka, hogy a Power BI az SQL-felületen fér hozzá az SAP HANA-hez, és a szülő gyermekhierarchiák nem érhetők el teljes mértékben az SQL használatával.
  • Egyéb hierarchia-metaadatok: A hierarchiák alapszintű struktúrája megjelenik a Power BI-ban, azonban egyes hierarchia-metaadatoknak, például a ragged hierarchiák viselkedésének szabályozása, nincs hatása. Ez az SQL-felület által előírt korlátozásoknak is köszönhető.
  • Kapcsolat SSL használatával: Az importálás és a többdimenziós TLS használatával is csatlakozhat, de nem tud csatlakozni a TLS relációs kapcsolati metódushoz való használatára konfigurált SAP HANA-példányokhoz.
  • Attribútumnézetek támogatása: a Power BI képes kapcsolódni az elemzési és számítási nézetekhez, de közvetlenül nem tud csatlakozni az Attribútum nézetekhez.
  • Katalógusobjektumok támogatása: a Power BI nem tud katalógusobjektumokhoz csatlakozni.
  • Módosítás változókra a közzététel után: Egyetlen SAP HANA-változó értékeit sem módosíthatja közvetlenül a Power BI szolgáltatásban a jelentés közzététele után.

Ismert problémák

Az alábbi lista az SAP HANA-hoz (DirectQuery) a Power BI-hoz való csatlakozáskor felmerülő összes ismert problémát ismerteti.

  • SAP HANA-probléma a számlálók és egyéb mértékek lekérdezésekor: Az SAP HANA helytelen adatokat ad vissza, ha elemzési nézethez csatlakozik, és egy számláló mértéket és más aránymérést is tartalmaz ugyanabban a vizualizációban. Ezt a problémát SAP Note 2128928 (váratlan eredmények a számított oszlop és számláló lekérdezése során). Ebben az esetben az aránymérés helytelen.

  • Több Power BI-oszlop egyetlen SAP HANA-oszlopból: Egyes számítási nézetekben, ahol egy SAP HANA-oszlopot több hierarchiában használnak, az SAP HANA két különálló attribútumként teszi elérhetővé az oszlopot. Ez a megközelítés két oszlop létrehozását eredményezi a Power BI-ban. Ezek az oszlopok alapértelmezés szerint rejtve vannak, és a hierarchiákat vagy közvetlenül az oszlopokat tartalmazó összes lekérdezés megfelelően működik.

A DirectQuery szolgáltatással kapcsolatos további információkért tekintse meg a következő erőforrásokat: