Zdieľať cez


Databáza SAP HANA

Súhrn

Položka Description
Stav vydania Všeobecná dostupnosť
Produkty Excel
Power BI (sémantické modely)
Power BI (toky údajov)
Fabric (Tok údajov Gen2)
Power Apps (toky údajov)
Analysis Services
Podporované typy overovania Základná
Databáza
Windows
Referenčná dokumentácia k funkcii SapHana.Database

Poznámka

Niektoré možnosti môžu byť k dispozícii v jednom produkte, ale nie iné z dôvodu plánov nasadenia a funkcií špecifických pre hostiteľa.

Požiadavky

Ak sa chcete prihlásiť na webovú lokalitu a stiahnuť ovládače, budete potrebovať konto SAP. Ak si nie ste istí, obráťte sa na správcu SAP vo svojej organizácii.

Ak chcete používať SAP HANA v aplikácii Power BI Desktop alebo Exceli, musíte mať nainštalovaný ovládač SAP HANA ODBC v lokálnom klientskom počítači, aby dátové pripojenie k platforme SAP HANA fungovalo správne. Klientske nástroje SAP HANA si môžete stiahnuť z lokality s vývojárskymi nástrojmi SAP, kde sa nachádza potrebný ovládač ODBC. Prípadne ich môžete získať z Centra sťahovania softvéru SAP. Na portáli so softvérom vyhľadajte položku SAP HANA CLIENT pre počítače s Windowsom. Konkrétnejšie pokyny na navigáciu v centre sťahovania softvéru SAP nie sú k dispozícii, pretože štruktúra tejto lokality sa často mení. Pokyny na inštaláciu ovládača SAP HANA ODBC nájdete v téme Inštalácia ovládača SAP HANA ODBC v bitoch systému Windows 64.

Ak chcete používať SAP HANA v Exceli, musíte mať v lokálnom klientskom počítači nainštalovaný 32-bitový alebo 64-bitový ovládač ODBC SAP HANA (v závislosti od toho, či používate 32-bitovú alebo 64-bitovú verziu Excelu).

Táto funkcia je k dispozícii iba v Exceli pre Windows, ak máte predplatné Office 2019 alebo Microsoft 365. Ak ste predplatiteľom služby Microsoft 365, uistite sa, že máte najnovšiu verziu balíka Office.

Podporuje sa HANA 1.0 SPS 12rev122.09, 2.0 SPS 3rev30 a BW/4HANA 2.0.

Podporované možnosti

  • Importovať
  • Direct Query (sémantické modely služby Power BI)
  • Pokročilé
    • Príkaz SQL

Pripojenie z aplikácie Power Query Desktop do databázy SAP HANA

Pripojenie k databáze SAP HANA z aplikácie Power Query Desktop:

  1. V aplikácii Power BI Desktop alebo v databáze z databázy SAP HANA na páse s nástrojmi Údaje v Exceli vyberte položku Získať údaje > SAP HANA alebo z databázy>.

  2. Zadajte názov a port servera SAP HANA, ku ktorému sa chcete pripojiť. Príklad na nasledujúcom obrázku používa hodnotu SAPHANATestServer v porte 30015.

    Zadajte informácie o serveri SAP HANA.

    V predvolenom nastavení je číslo portu nastavené tak, aby podporovalo jednu databázu kontajnera. Ak databáza SAP HANA môže obsahovať viac ako jeden viacúčelový kontajner databázy, vyberte možnosť Databáza systému s viacerými kontajnermi (30013). Ak sa chcete pripojiť k databáze nájomníka alebo k databáze s predvoleným číslom inštancie, v rozbaľovacej ponuke Port vyberte položku Vlastné.

    Ak sa pripájate k databáze SAP HANA z aplikácie Power BI Desktop, máte tiež možnosť vybrať možnosť Importovať alebo DirectQuery. V príklade tohto článku je použitý režim Import, ktorý je predvoleným režimom (a jediným režimom pre Excel). Ďalšie informácie o pripojení k databáze pomocou režimu DirectQuery v aplikácii Power BI Desktop nájdete v téme Pripojenie na zdroje údajov SAP HANA pomocou režimu DirectQuery v službe Power BI.

    Môžete tiež zadať príkaz SQL alebo povoliť väzbu stĺpca z časti Rozšírené možnosti. Ďalšie informácie Pripojenie používanie rozšírených možností

    Po zadaní všetkých možností vyberte tlačidlo OK.

  3. Ak pristupujete k databáze po prvýkrát, zobrazí sa výzva na zadanie poverení na overenie. V tomto príklade server SAP HANA vyžaduje poverenia používateľa databázy, preto vyberte položku Databáza a zadajte svoje meno používateľa a heslo. V prípade potreby zadajte informácie o certifikáte servera.

    Zadajte poverenia servera.

    Môže byť tiež potrebné overiť certifikát servera. Ďalšie informácie o používaní výberov certifikátov servera nájdete v téme Použitie šifrovania SAP HANA. V Aplikácii Power BI Desktop a Exceli je výber certifikátu overenia servera predvolene povolený. Ak ste už tieto výbery nastavili v Spravovanie strátore zdroja údajov ODBC, zrušte začiarknutie políčka Overiť certifikát servera. Ďalšie informácie o nastavení týchto výberov pomocou zdroja údajov ODBC Spravovanie istrátora nájdete v téme Konfigurácia protokolu SSL pre klientsky prístup ODBC k databáze SAP HANA.

    Ďalšie informácie o overovaní nájdete v téme Overovanie so zdrojom údajov.

    Po vyplnení všetkých požadovaných informácií vyberte položku Pripojenie.

  4. V dialógovom okne Navigátor môžete údaje v editore Power Query transformovať výberom položky Transformovať údaje alebo ich načítať výberom položky Načítať.

Pripojenie do databázy SAP HANA zo služby Power Query Online

Pripojenie k údajom SAP HANA z Power Query Online:

  1. Na stránke Zdroje údajov vyberte možnosť Databáza SAP HANA.

  2. Zadajte názov a port servera SAP HANA, ku ktorému sa chcete pripojiť. Príklad na nasledujúcom obrázku používa hodnotu SAPHANATestServer v porte 30015.

  3. Môžete tiež zadať príkaz SQL z časti Rozšírené možnosti. Ďalšie informácie Pripojenie používanie rozšírených možností

  4. Vyberte názov lokálnej brány údajov, ktorá sa použije na prístup k databáze.

    Poznámka

    S týmto konektorom musíte použiť lokálnu bránu údajov bez ohľadu na to, či sú vaše údaje lokálne alebo online.

  5. Vyberte typ overenia, ktorý chcete použiť na prístup k svojim údajom. Takisto je potrebné zadať meno používateľa a heslo.

    Poznámka

    Power Query Online v súčasnosti podporuje iba základné overovanie.

  6. Ak používate šifrované pripojenie, vyberte položku Use Encrypted Pripojenie ion (Použiť šifrované Pripojenie ion), potom vyberte poskytovateľa šifrovania SSL. Ak nepoužívate šifrované pripojenie, zrušte začiarknutie políčka Použiť šifrovaný Pripojenie ion. Ďalšie informácie: Povolenie šifrovania pre SAP HANA

    Online prihlásenie do databázy SAP HANA.

  7. Na pokračovanie zvoľte možnosť Ďalej.

  8. V dialógovom okne Navigátor môžete údaje v editore Power Query transformovať výberom položky Transformovať údaje alebo ich načítať výberom položky Načítať.

Pripojenie používanie rozšírených možností

Power Query poskytuje množinu rozšírených možností, ktoré môžete v prípade potreby pridať do dotazu.

V nasledujúcej tabuľke sú popísané všetky rozšírené možnosti, ktoré môžete nastaviť v doplnku Power Query.

Rozšírená možnosť Description
Príkaz SQL Ďalšie informácie: Import údajov z databázy pomocou natívneho databázového dotazu
Povolenie väzby stĺpca Naviaže premenné na stĺpce množiny výsledkov databázy SAP HANA pri načítavaní údajov. Môže potenciálne zvýšiť výkon na úkor mierne vyššieho využitia pamäte. Táto možnosť je k dispozícii len v aplikácii Power Query Desktop. Ďalšie informácie: Povolenie väzby stĺpca
Pripojenie čas Trvanie, ktoré určuje, ako dlho sa má počkať, kým sa odmietne pokus o vytvorenie pripojenia na server. Predvolená hodnota je 15 sekúnd.
CommandTimeout Trvanie, ktoré určuje, ako dlho má dotaz na strane servera povolené byť spustený, predtým ako sa zruší. Predvolená hodnota je desať minút.

Podporované funkcie pre platformu SAP HANA

V nasledujúcom zozname sú uvedené podporované funkcie pre platformu SAP HANA. Niektoré funkcie, ktoré sú tu uvedené, nie sú podporované vo všetkých implementáciách databázového konektora SAP HANA.

  • Konektor Aplikácie Power BI Desktop aj Excel pre databázu SAP HANA používajú ovládač SAP ODBC na to, aby ste mali čo najlepšie používateľské prostredie.

  • V aplikácii Power BI Desktop podporuje SAP HANA možnosti režimu DirectQuery aj Import.

  • Power BI Desktop podporuje informačné modely HANA (napríklad analytické a výpočtové zobrazenia) a má optimalizovanú navigáciu.

  • S platformou SAP HANA môžete použiť aj príkazy SQL v natívnom príkaze SQL databázového dotazu na pripojenie k riadkovým a stĺpcovým tabuľkám v tabuľkách katalógu HANA, ktoré nie sú zahrnuté v zobrazeniach analýzy/výpočtu poskytnutých navigátorom. Na dotazovanie týchto tabuliek môžete použiť aj konektor ODBC.

  • Aplikácia Power BI Desktop obsahuje optimalizovanú navigáciu pre modely HANA.

  • Aplikácia Power BI Desktop podporuje premenné a vstupné parametre platformy SAP HANA.

  • Aplikácia Power BI Desktop podporuje výpočtové zobrazenia založené na kontajneri HDI.

  • Funkcia SapHana.Database teraz podporuje časové limity pripojenia a príkazu. Ďalšie informácie: Pripojenie používanie rozšírených možností

    • Ak chcete získať v službe Power BI prístup k výpočtovým zobrazeniam založeným na kontajneri HDI, uistite sa, že používatelia databázy HANA, ktorú používate so službou Power BI, majú povolenie na prístup ku kontajneru HDI modulu runtime, v ktorý sú uložené zobrazenia, ku ktorým chcete získať prístup. Ak chcete udeliť tento prístup, vytvorte rolu, ktorá umožní prístup k vášmu kontajneru HDI. Potom priraďte rolu používateľovi databázy HANA, ktorú budete používať v službe Power BI. (Tento používateľ musí mať ako zvyčajne tiež povolenie na čítanie zo systémových tabuliek v schéme _SYS_BI.) Podrobné pokyny, ako vytvoriť a priradiť roly databázy, nájdete v oficiálnych dokumentoch SAP. Tento blogový príspevok SAP môže byť skvelým miestom, kde začať.

    • V súčasnosti existujú určité obmedzenia pre premenné HANA pripojené k výpočtovým zobrazeniam založeným na kontajneri HDI. Tieto obmedzenia sú spôsobené chybami na strane platformy HANA. Po prvé, nie je možné použiť premennú HANA na zdieľaný stĺpec výpočtového zobrazenia založeného na kontajneri HDI. Toto obmedzenie možno opraviť inováciou na HANA 2, verziu 37.02 alebo novšiu, alebo HANA 2, verziu 42 alebo novšiu. Po druhé, predvolené hodnoty pre premenné a parametre s viacerými vstupmi sa momentálne nezobrazujú v používateľskom rozhraní služby Power BI. Toto obmedzenie spôsobuje chyba platformy SAP HANA, ale spoločnosť SAP zatiaľ neoznámila jej opravu.

Povolenie väzby stĺpca

Údaje načítané zo zdroja údajov sa vrátia do aplikácie v premenných, ktoré aplikácia pre tento účel pridelila. Predtým, než to bude možné urobiť, musí aplikácia tieto premenné priradiť alebo naviazať na stĺpce množiny výsledkov. Koncepčne je tento proces rovnaký ako premenné aplikácie väzby na parametre príkazu. Keď aplikácia naviaže premennú na stĺpec s množinou výsledkov, popisuje túto premennú , adresu, typ údajov a tak ďalej – na ovládač. Ovládač ukladá tieto informácie v štruktúre, ktorú uchováva pre daný príkaz, a používa informácie na vrátenie hodnoty zo stĺpca pri načítaní riadka.

Keď v súčasnosti používate Power Query Desktop na pripojenie k databáze SAP HANA, môžete vybrať možnosť Povoliť väzbu stĺpca rozšírené a povoliť väzbu stĺpcov.

Väzbu stĺpcov môžete povoliť aj v existujúcich dotazoch alebo v dotazoch používaných v Power Query Online tým, že manuálne pridáte EnableColumnBinding možnosť do pripojenia v riadku vzorcov Power Query alebo v rozšírenom editore. Napríklad:

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

Existujú obmedzenia súvisiace s manuálnym pridaním EnableColumnBinding možnosti:

  • Povoliť väzbu stĺpcov funguje v režime importu aj v režime DirectQuery. Dovyšovanie existujúceho dotazu DirectQuery tak, aby používal túto rozšírenú možnosť, však nie je možné. Namiesto toho je potrebné vytvoriť nový dotaz, aby táto funkcia fungovala správne.
  • Vo verzii 2.0 alebo novšej pre server SAP Hana je väzba stĺpca všetko alebo nič. Ak sa niektoré stĺpce nemôžu viazať, žiadne sa nezaviazajú a používateľ dostane výnimku, DataSource.Error: Column MEASURE_UNIQUE_NAME of type VARCHAR cannot be bound (20002 > 16384)napríklad .
  • Servery SAP HANA verzie 1.0 nie vždy uvádzajú správne dĺžky stĺpcov. V tomto kontexte EnableColumnBinding umožňuje čiastočnú väzbu stĺpca. V prípade niektorých dotazov to môže znamenať, že nie sú viazané žiadne stĺpce. Ak nie sú viazané žiadne stĺpce, nezískajú sa žiadne výhody výkonu.

Podpora natívneho dotazu v konektore databázy SAP HANA.

Konektor databázy SAP HANA Doplnku Power Query podporuje natívne dotazy. Informácie o tom, ako používať natívne dotazy v doplnku Power Query, nájdete v téme Import údajov z databázy pomocou natívneho databázového dotazu.

Postupné posúvanie dotazov v natívnych dotazoch

Konektor databázy SAP HANA doplnku Power Query teraz podporuje postupné posúvanie dotazov v natívnych dotazoch. Ďalšie informácie: Postupné posúvanie dotazov na natívne dotazy

Poznámka

V konektore databázy SAP HANA Doplnku Power Query natívne dotazy nepodporujú duplicitné názvy stĺpcov, keď EnableFolding je nastavená na hodnotu true.

Parametre v natívnych dotazoch

Konektor databázy SAP HANA doplnku Power Query teraz podporuje parametre v natívnych dotazoch. Pomocou syntaxe Value.NativeQuery môžete zadať parametre v natívnych dotazoch.

Na rozdiel od iných konektorov podporuje EnableFolding = True a zároveň špecifikuje parametre databázový konektor SAP HANA.

Ak chcete v dotaze použiť parametre, umiestnite do kódu otázniky (?) ako zástupné symboly. Ak chcete parameter zadať, použite textovú SqlType hodnotu a hodnotu v SqlType parametri Value. Value môže byť ľubovoľná hodnota jazyka M, ale musí byť priradená k hodnote zadanej SqlTypehodnoty .

Existuje niekoľko spôsobov zadávania parametrov:

  • Zadanie iba hodnôt ako zoznamu:

    { “Seattle”, 1, #datetime(2022, 5, 27, 17, 43, 7) }
    
  • Zadanie hodnôt a typu ako zoznamu:

    { [ SqlType = "CHAR", Value = "M" ], 
       [ SqlType = "BINARY", Value = Binary.FromText("AKvN", BinaryEncoding.Base64) ], 
       [ SqlType = "DATE", Value = #date(2022, 5, 27) ] }
    
  • Kombinácia a zhoda s dvomi:

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

SqlType Zodpovedá štandardným názvom typov definovaným databázou SAP HANA. Nasledujúci zoznam napríklad obsahuje najbežnejšie používané typy:

  • BIGINT
  • BINÁRNE
  • BOOLEAN
  • CHAR
  • DÁTUM
  • DESATINNÉ
  • DVOJLÔŽKOVÁ
  • CELÉ ČÍSLO
  • NVARCHAR
  • SECONDDATE (DRUHÝ DÁTUM)
  • KRÁTKY TEXT
  • SMALLDECIMAL
  • SMALLINT
  • ČAS
  • ČASOVÝCH PEČIATOK
  • VARBINARY
  • VARCHAR

Nasledujúci príklad ukazuje, ako poskytnúť zoznam hodnôt parametrov.

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

Nasledujúci príklad ukazuje, ako poskytnúť zoznam záznamov (alebo kombinovať hodnoty a záznamy):

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

Podpora dynamických atribútov.

Spôsob, akým konektor databázy SAP HANA spracúva vypočítané stĺpce, bol vylepšený. Konektor databázy SAP HANA je konektorom kocky a existuje niekoľko množín operácií (pridávanie položiek, zbalenie stĺpcov atď.), ktoré sa dejú v priestore kocky. Tento priestor kocky sa v používateľskom rozhraní Power Query Desktop a Power Query Online zobrazí ikonou kocky, ktorá nahradí bežnejšiu ikonu "tabuľka".

Snímka obrazovky aktuálneho zobrazenia na ľavej strane v doplnku Power Query s dôrazom na ikonu kocky v hornej časti stĺpca s číslom riadka.

Keď ste už predtým pridali stĺpec tabuľky (alebo inú transformáciu, ktorá interne pridá stĺpec), dotaz by "vypol priestor kocky" a všetky operácie sa vykonajú na úrovni tabuľky. V určitom bode môže tento pokles spôsobiť, že dotaz prestane skladať. Vykonanie operácií kocky po pridaní stĺpca už nebolo možné.

Pri tejto zmene sa pridané stĺpce považujú za dynamické atribúty v kocke. Ak má dotaz zostať v priestore kocky pre túto operáciu, má výhodu, že môžete pokračovať v používaní operácií kocky aj po pridaní stĺpcov.

Poznámka

Táto nová funkcia je k dispozícii len vtedy, keď sa pripojíte k zobrazeniam výpočtu na serveri SAP Hana vo verzii 2.0 alebo novšej.

Nasledujúci ukážkový dotaz využíva túto novú možnosť. V minulosti sa pri použití funkcie Cube.CollapseAndRemoveColumns zobrazila výnimka "hodnota nie je kocka".

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"

Ďalšie kroky

Nasledujúce články obsahujú ďalšie informácie, ktoré by mohli byť užitočné pri pripájaní k debase databázy SAP HANA.