SAP HANA-adatbázis

Összegzés

Elem Leírás
Kiadási állapot Általános rendelkezésre állás
Termékek Excel
Power BI (Szemantikai modellek)
Power BI (Adatfolyamok)
Háló (Adatfolyam Gen2)
Power Apps (Adatfolyamok)
Analysis Services
Támogatott hitelesítési típusok Alap
Adatbázis
Windows
Függvényreferenciák dokumentációja SapHana.Database

Feljegyzés

Egyes képességek egy termékben lehetnek jelen, másokat azonban az üzembehelyezési ütemezések és a gazdagépspecifikus képességek miatt.

Előfeltételek

A webhelyre való bejelentkezéshez és az illesztőprogramok letöltéséhez SAP-fiókra lesz szüksége. Ha nem biztos benne, forduljon a szervezet SAP-rendszergazdájához.

Ha az SAP HANA-t a Power BI Desktopban vagy az Excelben szeretné használni, az SAP HANA ODBC-illesztőnek telepítve kell lennie a helyi ügyfélszámítógépen ahhoz, hogy az SAP HANA-adatkapcsolat megfelelően működjön. Az SAP HANA-ügyféleszközöket az SAP Development Toolsból töltheti le, amely tartalmazza a szükséges ODBC-illesztőprogramot. Vagy beszerezheti az SAP Szoftverletöltő központból. A Szoftverportálon keresse meg az SAP HANA-ügyfelet Windows rendszerű számítógépekhez. Mivel az SAP Szoftverletöltő központ gyakran módosítja a struktúráját, a webhelyre való navigálásra vonatkozó részletesebb útmutatás nem érhető el. Az SAP HANA ODBC-illesztő telepítésével kapcsolatos utasításokért tekintse meg az SAP HANA ODBC-illesztőprogram Windows 64 biten történő telepítését ismertető cikket.

Az SAP HANA Excelben való használatához a helyi ügyfélszámítógépen telepítve kell lennie a 32 bites vagy a 64 bites SAP HANA ODBC-illesztőnek (attól függően, hogy az Excel 32 bites vagy 64 bites verzióját használja-e).

Ez a funkció csak Akkor érhető el a Windows Excelben, ha Office 2019-előfizetéssel vagy Microsoft 365-előfizetéssel rendelkezik. Ha Ön Microsoft 365-előfizető, győződjön meg arról, hogy az Office legújabb verziójával rendelkezik.

A HANA 1.0 SPS 12rev122.09, 2.0 SPS 3rev30 és BW/4HANA 2.0 támogatott.

Támogatott képességek

  • Importálás
  • Direct Query (Power BI szemantikai modellek)
  • Speciális
    • SQL-utasítás

Csatlakozás SAP HANA-adatbázisba a Power Query Desktopból

SAP HANA-adatbázishoz való csatlakozás a Power Query Desktopból:

  1. Válassza az Adatok > LEkérése SAP HANA-adatbázist a Power BI Desktopban vagy az SAP HANA-adatbázisból > az Excel Adat menüszalagjának Adatbázisból elemét.

  2. Adja meg annak az SAP HANA-kiszolgálónak a nevét és portját, amelyhez csatlakozni szeretne. Az alábbi ábrán látható példa a porton 30015használSAPHANATestServer.

    Adja meg az SAP HANA-kiszolgáló adatait.

    Alapértelmezés szerint a portszám egyetlen tárolóadatbázis támogatására van beállítva. Ha az SAP HANA-adatbázis több több-bérlős adatbázistárolót is tartalmazhat, válassza a Többtárolós rendszeradatbázis (30013) lehetőséget. Ha bérlői adatbázishoz vagy nem alapértelmezett példányszámmal rendelkező adatbázishoz szeretne csatlakozni, válassza az Egyéni lehetőséget a Port legördülő menüből.

    Ha SAP HANA-adatbázishoz csatlakozik a Power BI Desktopból, lehetősége van az Importálás vagy a DirectQuery kiválasztására is. A cikkben szereplő példa az Importálást használja, amely az alapértelmezett (és az Excel egyetlen módja). Ha többet szeretne tudni az adatbázishoz való csatlakozásról a Power BI Desktop DirectQuery használatával, lépjen Csatlakozás az SAP HANA-adatforrásokhoz a Power BI DirectQuery használatával.

    Sql-utasítást is megadhat, vagy engedélyezheti az oszlopkötést a Speciális beállításokból. További információ, Csatlakozás speciális beállítások használatával

    Miután megadta az összes lehetőséget, válassza az OK gombot.

  3. Ha első alkalommal fér hozzá egy adatbázishoz, a rendszer kérni fogja, hogy adja meg hitelesítő adatait hitelesítés céljából. Ebben a példában az SAP HANA-kiszolgálónak adatbázis-felhasználói hitelesítő adatokra van szüksége, ezért válassza az Adatbázis lehetőséget, és adja meg a felhasználónevet és a jelszót. Szükség esetén adja meg a kiszolgálótanúsítvány adatait.

    Adja meg a kiszolgáló hitelesítő adatait.

    Emellett előfordulhat, hogy a kiszolgálótanúsítványt is ellenőriznie kell. További információ a kiszolgálótanúsítványok kiválasztásának ellenőrzéséről: SAP HANA-titkosítás használata. A Power BI Desktopban és az Excelben alapértelmezés szerint engedélyezve van a kiszolgálói tanúsítvány kiválasztása. Ha már beállította ezeket a beállításokat az ODBC-adatforrás Rendszergazda istratorban, törölje a jelet a Kiszolgálótanúsítvány érvényesítése jelölőnégyzetből. Az ODBC-adatforrás Rendszergazda istrator használatával kapcsolatos további információkért tekintse meg az SSL konfigurálása az SAP HANA-hoz való ODBC-ügyfélhozzáféréshez című témakört.

    A hitelesítéssel kapcsolatos további információkért tekintse meg az adatforrásokkal való hitelesítést ismertető témakört.

    Miután kitöltötte az összes szükséges információt, válassza a Csatlakozás.

  4. A Kezelő párbeszédpanelen átalakíthatja az adatokat a Power Query-szerkesztőben az Adatok átalakítása lehetőség kiválasztásával, vagy betöltheti az adatokat a Betöltés gombra kattintva.

Csatlakozás SAP HANA-adatbázishoz a Power Query Online-ból

SAP HANA-adatokhoz való csatlakozás a Power Query Online-ból:

  1. Az Adatforrások lapon válassza az SAP HANA-adatbázist.

  2. Adja meg annak az SAP HANA-kiszolgálónak a nevét és portját, amelyhez csatlakozni szeretne. Az alábbi ábrán látható példa a porton 30015használSAPHANATestServer.

  3. Igény szerint adjon meg egy SQL-utasítást a Speciális beállításokból. További információ, Csatlakozás speciális beállítások használatával

  4. Válassza ki az adatbázis eléréséhez használni kívánt helyszíni adatátjáró nevét.

    Feljegyzés

    Ezzel az összekötővel helyszíni adatátjárót kell használnia, függetlenül attól, hogy az adatai helyiek vagy onlineak.

  5. Válassza ki az adatok eléréséhez használni kívánt hitelesítési típust. Meg kell adnia egy felhasználónevet és jelszót is.

    Feljegyzés

    A Power Query Online jelenleg csak az alapszintű hitelesítést támogatja.

  6. Ha titkosított kapcsolatot használ, válassza a Titkosított Csatlakozás ion használata lehetőséget, majd válassza ki az SSL titkosítási szolgáltatót. Ha nem titkosított kapcsolatot használ, törölje a titkosított Csatlakozás ion használatát. További információ: Titkosítás engedélyezése az SAP HANA-hoz

    AZ SAP HANA-adatbázis online bejelentkezése.

  7. A folytatáshoz válassza a Tovább gombra.

  8. A Kezelő párbeszédpanelen átalakíthatja az adatokat a Power Query-szerkesztőben az Adatok átalakítása lehetőség kiválasztásával, vagy betöltheti az adatokat a Betöltés gombra kattintva.

Csatlakozás speciális beállítások használata

A Power Query speciális beállításokat biztosít, amelyeket szükség esetén hozzáadhat a lekérdezéshez.

Az alábbi táblázat a Power Queryben megadható összes speciális beállítást ismerteti.

Speciális beállítás Leírás
SQL-utasítás További információ: Adatok importálása adatbázisból natív adatbázis-lekérdezés használatával
Oszlopkötés engedélyezése Változókat köt egy SAP HANA-eredményhalmaz oszlopaihoz az adatok beolvasásakor. A teljesítmény esetleg némileg magasabb memóriakihasználtság árán is javítható. Ez a beállítás csak a Power Query Desktopban érhető el. További információ: Oszlopkötés engedélyezése
Csatlakozás ionTimeout Egy időtartam, amely azt szabályozza, hogy mennyi ideig kell várni a kiszolgálóval való kapcsolat létesítésére tett kísérlet megszakítása előtt. Az alapértelmezett érték 15 másodperc.
CommandTimeout Egy időtartam, amely meghatározza, hogy a kiszolgálóoldali lekérdezés mennyi ideig futhat a megszakítás előtt. Az alapértelmezett érték tíz perc.

Az SAP HANA támogatott funkciói

Az alábbi lista az SAP HANA támogatott funkcióit mutatja be. Nem minden itt felsorolt funkció támogatott az SAP HANA-adatbázis-összekötő minden implementációjában.

  • Az SAP HANA-adatbázisok Power BI Desktop- és Excel-összekötői az SAP ODBC-illesztővel biztosítják a legjobb felhasználói élményt.

  • A Power BI Desktopban az SAP HANA támogatja a DirectQuery és az Importálás lehetőséget is.

  • A Power BI Desktop támogatja a HANA-információs modelleket, például az elemzési és számítási nézeteket, és optimalizált navigációval rendelkezik.

  • Az SAP HANA használatával sql-parancsokat is használhat a natív adatbázis-lekérdezési SQL-utasításban a HANA-katalógustáblák sor- és oszloptábláihoz való csatlakozáshoz, amelyek nem szerepelnek a kezelői felület által biztosított elemzési/számítási nézetekben. Ezeket a táblákat az ODBC-összekötővel is lekérdezheti.

  • A Power BI Desktop tartalmazza a HANA-modellekhez készült optimalizált navigációt.

  • A Power BI Desktop támogatja az SAP HANA változóit és bemeneti paramétereit.

  • A Power BI Desktop támogatja a HDI-tárolóalapú számítási nézeteket.

  • Az SapHana.Database függvény mostantól támogatja a kapcsolatok és a parancsok időtúllépését. További információ: Csatlakozás speciális beállítások használata

    • A HDI-tárolóalapú számítási nézetek Power BI-ban való eléréséhez győződjön meg arról, hogy a Power BI-ban használt HANA-adatbázis felhasználói rendelkeznek engedéllyel ahhoz a HDI-futtatókörnyezeti tárolóhoz, amely a elérni kívánt nézeteket tárolja. A hozzáférés biztosításához hozzon létre egy szerepkört, amely lehetővé teszi a HDI-tárolóhoz való hozzáférést. Ezután rendelje hozzá a szerepkört a Power BI-hoz használni kívánt HANA-adatbázis-felhasználóhoz. (Ennek a felhasználónak is rendelkeznie kell engedéllyel a _SYS_BI séma rendszertábláiból való olvasáshoz, a szokásos módon.) Az adatbázis-szerepkörök létrehozásával és hozzárendelésével kapcsolatos részletes útmutatásért tekintse meg a hivatalos SAP-dokumentációt. Ez az SAP blogbejegyzés jó kiindulópont lehet.

    • A HDI-alapú számítási nézetekhez csatolt HANA-változókra jelenleg bizonyos korlátozások vonatkoznak. Ezek a korlátozások a HANA oldalán felmerülő hibák miatt vannak. Először is nem lehet HANA-változót alkalmazni egy HDI-tárolóalapú számítási nézet megosztott oszlopára. A korlátozás megoldásához frissítsen a HANA 2 37.02-es és újabb verziójára, illetve a HANA 2 42-es és újabb verziójára. Másodszor, a változók és paraméterek több bejegyzésből álló alapértelmezett értékei jelenleg nem jelennek meg a Power BI felhasználói felületén. Az SAP HANA hibája okozza ezt a korlátozást, de az SAP még nem jelentett be javítást.

Oszlopkötés engedélyezése

Az adatforrásból lekért adatokat az alkalmazás az erre a célra lefoglalt változókban adja vissza. Mielőtt ez elvégezhető lenne, az alkalmazásnak társítania vagy meg kell kötnie ezeket a változókat az eredményhalmaz oszlopaihoz. Ez a folyamat elméletileg megegyezik az utasításparaméterekhez kötött alkalmazásváltozókkal. Amikor az alkalmazás egy változót egy eredményhalmaz-oszlophoz köt, a változót – címet, adattípust stb. – az illesztőhöz írja le. Az illesztőprogram az adott utasításhoz fenntartott struktúrában tárolja ezeket az információkat, és az adatok segítségével visszaadja az oszlop értékét a sor lekérésekor.

Ha jelenleg a Power Query Desktop használatával csatlakozik egy SAP HANA-adatbázishoz, az oszlopkötés engedélyezéséhez válassza az Oszlopkötés engedélyezése speciális beállítást.

Az oszlopkötést a meglévő lekérdezésekben vagy a Power Query Online-ban használt lekérdezésekben is engedélyezheti, ha manuálisan adja hozzá a EnableColumnBinding beállítást a kapcsolathoz a Power Query szerkesztőlécen vagy a speciális szerkesztőben. Példa:

SapHana.Database("myserver:30015", [Implementation = "2.0", EnableColumnBinding = true]),

A beállítás manuális hozzáadásához EnableColumnBinding korlátozások tartoznak:

  • Az oszlopkötés engedélyezése Importálás és DirectQuery módban is működik. A meglévő DirectQuery-lekérdezések azonban nem módosíthatók a speciális beállítás használatára. Ehelyett létre kell hozni egy új lekérdezést a funkció megfelelő működéséhez.
  • Az SAP HANA Server 2.0-s vagy újabb verziójában az oszlopkötés teljes vagy semmi. Ha egyes oszlopok nem kötöttek, egyik sem lesz megkötve, és a felhasználó kivételt kap például DataSource.Error: Column MEASURE_UNIQUE_NAME of type VARCHAR cannot be bound (20002 > 16384).
  • Az SAP HANA 1.0-s verziójának kiszolgálói nem mindig jelentik a megfelelő oszlophosszokat. Ebben a kontextusban lehetővé teszi a EnableColumnBinding részleges oszlopkötést. Egyes lekérdezések esetében ez azt jelentheti, hogy nincsenek oszlopok kötve. Ha nincs oszlopkötés, a rendszer nem nyer teljesítménybeli előnyöket.

Natív lekérdezéstámogatás az SAP HANA-adatbázis-összekötőben

A Power Query SAP HANA adatbázis-összekötője támogatja a natív lekérdezéseket. A natív lekérdezések Power Queryben való használatáról további információt az Adatok importálása adatbázisból natív adatbázis-lekérdezés használatával című témakörben talál.

Lekérdezés összecsukása natív lekérdezéseken

A Power Query SAP HANA adatbázis-összekötője mostantól támogatja a lekérdezések natív lekérdezéseken való összecsukását. További információ: Lekérdezések összecsukása natív lekérdezéseken

Feljegyzés

A Power Query SAP HANA adatbázis-összekötőjében a natív lekérdezések nem támogatják az ismétlődő oszlopneveket, ha EnableFolding igaz értékre van állítva.

Paraméterek natív lekérdezésekben

A Power Query SAP HANA-adatbázis-összekötő mostantól támogatja a natív lekérdezések paramétereit. A natív lekérdezések paramétereit a Value.NativeQuery szintaxissal adhatja meg.

A többi összekötőtől eltérően az SAP HANA adatbázis-összekötő egyszerre támogatja EnableFolding = True és határozza meg a paramétereket.

Ha paramétereket szeretne használni egy lekérdezésben, a kódban helyőrzőként kérdőjeleket (?) kell elhelyeznie. A paraméter megadásához a szövegértéket és annak SqlType értékét SqlType kell használnia.Value Value lehet bármilyen M érték, de hozzá kell rendelni a megadott SqlTypeértékhez.

A paraméterek megadásának több módja is van:

  • Csak az értékeket adja meg listaként:

    { “Seattle”, 1, #datetime(2022, 5, 27, 17, 43, 7) }
    
  • Adja meg az értékeket és a típust listaként:

    { [ SqlType = "CHAR", Value = "M" ], 
       [ SqlType = "BINARY", Value = Binary.FromText("AKvN", BinaryEncoding.Base64) ], 
       [ SqlType = "DATE", Value = #date(2022, 5, 27) ] }
    
  • Keverjük össze és egyeztessünk a kettő között:

    { “Seattle”, 1, [ SqlType = "SECONDDATE", Value = #datetime(2022, 5, 27, 17, 43, 7) ] }
    

SqlType az SAP HANA által definiált szabványos típusneveket követi. Az alábbi lista például a leggyakrabban használt típusokat tartalmazza:

  • BIGINT
  • BINÁRIS
  • LOGIKAI
  • CHAR
  • DÁTUM
  • DECIMÁLIS
  • DUPLA
  • EGÉSZ
  • NVARCHAR
  • Standard kiadás CONDDATE
  • RÖVID SZÖVEG
  • SMALLDECIMAL
  • SMALLINT
  • TIME
  • TIMESTAMP
  • VARBINARY
  • VARCHAR

Az alábbi példa bemutatja, hogyan lehet megadni a paraméterértékek listáját.

let
    Source = Value.NativeQuery(
        SapHana.Database(
            "myhanaserver:30015", 
            [Implementation = "2.0"]
        ), 
        "select ""VARCHAR_VAL"" as ""VARCHAR_VAL""
    from ""_SYS_BIC"".""DEMO/CV_ALL_TYPES""
    where ""VARCHAR_VAL"" = ? and ""DATE_VAL"" = ?
    group by ""VARCHAR_VAL""
    ", 
        {"Seattle", #date(1957, 6, 13)}, 
        [EnableFolding = true]
    )
in
    Source

Az alábbi példa bemutatja, hogyan adhat meg rekordlistát (vagy keverhet értékeket és rekordokat):

let
    Source = Value.NativeQuery(
        SapHana.Database(Server, [Implementation="2.0"]), 
    "select
        ""COL_VARCHAR"" as ""COL_VARCHAR"",
        ""ID"" as ""ID"",
        sum(""DECIMAL_MEASURE"") as ""DECIMAL_MEASURE""
    from ""_SYS_BIC"".""DEMO/CV_ALLTYPES""
    where
        ""COL_ALPHANUM"" = ? or
        ""COL_BIGINT"" = ? or
        ""COL_BINARY"" = ? or
        ""COL_BOOLEAN"" = ? or
        ""COL_DATE"" = ?
    group by 
        ""COL_ALPHANUM"",
        ""COL_BIGINT"",
        ""COL_BINARY"",
        ""COL_BOOLEAN"",
        ""COL_DATE"",
       {
            [ SqlType = "CHAR", Value = "M" ],                                                // COL_ALPHANUM - CHAR
            [ SqlType = "BIGINT", Value = 4 ],                                                // COL_BIGINT - BIGINT
            [ SqlType = "BINARY", Value = Binary.FromText("AKvN", BinaryEncoding.Base64) ],   // COL_BINARY - BINARY
            [ SqlType = "BOOLEAN", Value = true ],                                            // COL_BOOLEAN - BOOLEAN
            [ SqlType = "DATE", Value = #date(2022, 5, 27) ],                                 // COL_DATE - TYPE_DATE
        } ,
        [EnableFolding=false]
    )
in
    Source

Dinamikus attribútumok támogatása

Javult az SAP HANA-adatbázis-összekötő számított oszlopok kezelésére szolgáló módja. Az SAP HANA-adatbázis-összekötő egy "kocka" összekötő, és bizonyos műveletek (elemek hozzáadása, oszlopok összecsukása stb.) vannak, amelyek a "kocka" térben történnek. Ez a kockaterület a Power Query Desktop és a Power Query Online felhasználói felületén a "kocka" ikonnal jelenik meg, amely a gyakoribb "tábla" ikont helyettesíti.

Képernyőkép az aktuális nézet bal oldaláról a Power Queryben, kiemelve a kocka ikont a sorszám oszlop tetején.

Korábban, amikor hozzáadott egy táblaoszlopot (vagy egy olyan átalakítást, amely belsőleg hozzáad egy oszlopot), a lekérdezés "kiesik a kockaterületből", és az összes művelet táblaszinten lesz végrehajtva. Egy bizonyos időpontban ez a kiesés miatt a lekérdezés leállhat. Az oszlop hozzáadása után már nem lehetett kockaműveleteket végrehajtani.

Ezzel a módosítással a hozzáadott oszlopok dinamikus attribútumokként lesznek kezelve a kockán belül. Ha a lekérdezés a kockaterületen marad ehhez a művelethez, azzal az előnnyel jár, hogy az oszlopok hozzáadása után is folytathatja a kockaműveleteket.

Feljegyzés

Ez az új funkció csak akkor érhető el, ha az SAP HANA Server 2.0-s vagy újabb verziójában csatlakozik a számítási nézetekhez.

Az alábbi minta lekérdezés kihasználja ezt az új képességet. Korábban a Kocka.CollapseAndRemoveColumns alkalmazásakor "az érték nem kocka" kivételt kap.

let
    Source = SapHana.Database(“someserver:someport”, [Implementation="2.0"]),
    Contents = Source{[Name="Contents"]}[Data],
    SHINE_CORE_SCHEMA.sap.hana.democontent.epm.models = Contents{[Name="SHINE_CORE_SCHEMA.sap.hana.democontent.epm.models"]}[Data],
    PURCHASE_ORDERS1 = SHINE_CORE_SCHEMA.sap.hana.democontent.epm.models{[Name="PURCHASE_ORDERS"]}[Data],
    #"Added Items" = Cube.Transform(PURCHASE_ORDERS1,
        {
            {Cube.AddAndExpandDimensionColumn, "[PURCHASE_ORDERS]", {"[HISTORY_CREATEDAT].[HISTORY_CREATEDAT].Attribute", "[Product_TypeCode].[Product_TypeCode].Attribute", "[Supplier_Country].[Supplier_Country].Attribute"}, {"HISTORY_CREATEDAT", "Product_TypeCode", "Supplier_Country"}},
            {Cube.AddMeasureColumn, "Product_Price", "[Measures].[Product_Price]"}
        }),
    #"Inserted Year" = Table.AddColumn(#"Added Items", "Year", each Date.Year([HISTORY_CREATEDAT]), Int64.Type),
    #"Filtered Rows" = Table.SelectRows(#"Inserted Year", each ([Product_TypeCode] = "PR")),
    #"Added Conditional Column" = Table.AddColumn(#"Filtered Rows", "Region", each if [Supplier_Country] = "US" then "North America" else if [Supplier_Country] = "CA" then "North America" else if [Supplier_Country] = "MX" then "North America" else "Rest of world"),
    #"Filtered Rows1" = Table.SelectRows(#"Added Conditional Column", each ([Region] = "North America")),
    #"Collapsed and Removed Columns" = Cube.CollapseAndRemoveColumns(#"Filtered Rows1", {"HISTORY_CREATEDAT", "Product_TypeCode"})
in
    #"Collapsed and Removed Columns"

Következő lépések

Az alábbi cikkek további információkat tartalmaznak, amelyek hasznosnak bizonyulhatnak az SAP HANA-adatbázishoz való csatlakozáskor.