Sdílet prostřednictvím


Databáze SAP HANA

Shrnutí

Položka Popis
Stav vydání Všeobecná dostupnost
Produkty Excel
Power BI (sémantické modely)
Power BI (toky dat)
Prostředky infrastruktury (Tok dat Gen2)
Power Apps (toky dat)
Analysis Services
Podporované typy ověřování Basic
Databáze
Windows
Referenční dokumentace k funkcím SapHana.Database

Poznámka:

Některé funkce můžou být přítomné v jednom produktu, ale ne jiné kvůli plánům nasazení a možnostem specifickým pro hostitele.

Požadavky

Abyste se přihlásili na web a stáhli ovladače, budete potřebovat účet SAP. Pokud si nejste jistí, obraťte se na správce SAP ve vaší organizaci.

Pokud chcete v Power BI Desktopu nebo Excelu používat SAP HANA, musíte mít na místním klientském počítači nainstalovaný ovladač SAP HANA ODBC, aby datové připojení SAP HANA fungovalo správně. Klientské nástroje SAP HANA si můžete stáhnout z nástrojů SAP Development Tools, které obsahují potřebný ovladač ODBC. Nebo ho můžete získat z webu SAP Software Download Center. Na portálu Software vyhledejte SAP HANA CLIENT pro počítače s Windows. Vzhledem k tomu, že sap Software Download Center mění svou strukturu často, nejsou k dispozici konkrétnější pokyny pro navigaci na tomto webu. Pokyny k instalaci ovladače ODBC SAP HANA najdete v tématu Instalace ovladače SAP HANA ODBC ve Windows 64 bitů.

Pokud chcete v Excelu používat SAP HANA, musíte mít na místním klientském počítači nainstalovaný 32bitový nebo 64bitový ovladač SAP HANA ODBC (v závislosti na tom, jestli používáte 32bitovou nebo 64bitovou verzi Excelu).

Tato funkce je dostupná jenom v Excelu pro Windows, pokud máte Office 2019 nebo předplatné Microsoftu 365. Pokud máte předplatné Microsoftu 365, ujistěte se, že máte nejnovější verzi Office.

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

Podporované možnosti

  • Import
  • Direct Query (sémantické modely Power BI)
  • Pokročilé
    • Příkaz SQL

Připojení do databáze SAP HANA z Power Query Desktopu

Připojení k databázi SAP HANA z Power Query Desktopu:

  1. Na pásu karet Data v Excelu vyberte Získat databázi > SAP HANA v Power BI Desktopu nebo Z databáze > ze sap HANA.

  2. Zadejte název a port serveru SAP HANA, ke kterému se chcete připojit. Příklad na následujícím obrázku se používá SAPHANATestServer na portu 30015.

    Zadejte informace o serveru SAP HANA.

    Ve výchozím nastavení je číslo portu nastavené tak, aby podporovalo databázi s jedním kontejnerem. Pokud databáze SAP HANA může obsahovat více než jeden kontejner víceklientských databází, vyberte systémovou databázi s více kontejnery (30013). Pokud se chcete připojit k databázi tenanta nebo k databázi s jiným než výchozím číslem instance, vyberte v rozevírací nabídce Port možnost Vlastní.

    Pokud se připojujete k databázi SAP HANA z Power BI Desktopu, máte také možnost vybrat Import nebo DirectQuery. Příklad v tomto článku používá import, což je výchozí (a jediný režim pro Excel). Další informace o připojení k databázi pomocí DirectQuery v Power BI Desktopu najdete v tématu Připojení ke zdrojům dat SAP HANA pomocí DirectQuery v Power BI.

    Můžete také zadat příkaz SQL nebo povolit vazbu sloupců z rozšířených možností. Další informace Připojení pomocí rozšířených možností

    Po zadání všech možností vyberte OK.

  3. Pokud k databázi přistupujete poprvé, zobrazí se výzva k zadání přihlašovacích údajů pro ověření. V tomto příkladu server SAP HANA vyžaduje přihlašovací údaje uživatele databáze, proto vyberte Databázi a zadejte svoje uživatelské jméno a heslo. V případě potřeby zadejte informace o certifikátu serveru.

    Zadejte přihlašovací údaje serveru.

    Možná budete také muset ověřit certifikát serveru. Další informace o použití výběrů certifikátů serveru najdete v tématu Použití šifrování SAP HANA. V Power BI Desktopu a Excelu je ve výchozím nastavení povolená možnost ověřit výběr certifikátu serveru. Pokud jste už tyto výběry nastavili ve zdroji dat ODBC Správa istrator, zrušte zaškrtnutí políčka Ověřit certifikát serveru. Další informace o použití zdroje dat ODBC Správa istrator k nastavení těchto výběrů najdete v tématu Konfigurace SSL pro klientský přístup ODBC k SAP HANA.

    Další informace o ověřování najdete v tématu Ověřování se zdrojem dat.

    Po vyplnění všech požadovaných informací vyberte Připojení.

  4. V dialogovém okně Navigátor můžete transformovat data v editoru Power Query výběrem možnosti Transformovat data nebo načíst data výběrem možnosti Načíst.

Připojení do databáze SAP HANA z Power Query Online

Připojení k datům SAP HANA z Power Query Online:

  1. Na stránce Zdroje dat vyberte databázi SAP HANA.

  2. Zadejte název a port serveru SAP HANA, ke kterému se chcete připojit. Příklad na následujícím obrázku se používá SAPHANATestServer na portu 30015.

  3. Volitelně můžete zadat příkaz SQL z rozšířených možností. Další informace Připojení pomocí rozšířených možností

  4. Vyberte název místní brány dat, který se má použít pro přístup k databázi.

    Poznámka:

    S tímto konektorem musíte použít místní bránu dat bez ohledu na to, jestli jsou vaše data místní nebo online.

  5. Zvolte typ ověřování, který chcete použít pro přístup k vašim datům. Budete také muset zadat uživatelské jméno a heslo.

    Poznámka:

    Power Query Online v současné době podporuje pouze základní ověřování.

  6. Pokud používáte šifrované připojení, vyberte možnost Použít šifrované Připojení ion a pak zvolte poskytovatele kryptografických služeb SSL. Pokud nepoužíváte šifrované připojení, zrušte zaškrtnutí políčka Použít šifrované Připojení ion. Další informace: Povolení šifrování pro SAP HANA

    Online přihlášení k databázi SAP HANA

  7. Pokračujte výběrem tlačítka Další.

  8. V dialogovém okně Navigátor můžete transformovat data v editoru Power Query výběrem možnosti Transformovat data nebo načíst data výběrem možnosti Načíst.

Připojení pomocí rozšířených možností

Power Query poskytuje sadu rozšířených možností, které můžete v případě potřeby přidat do dotazu.

Následující tabulka popisuje všechny pokročilé možnosti, které můžete nastavit v Power Query.

Upřesnit možnosti Popis
Příkaz SQL Další informace: Import dat z databáze pomocí nativního databázového dotazu
Povolení vazby sloupců Při načítání dat vytvoří vazbu proměnných na sloupce sady výsledků SAP HANA. Může potenciálně zvýšit výkon za cenu mírně vyššího využití paměti. Tato možnost je dostupná jenom v Power Query Desktopu. Další informace: Povolení vazby sloupců
Připojení ionTimeout Doba trvání, která určuje dobu čekání před opuštěním pokusu o připojení k serveru. Výchozí hodnota je 15 sekund.
Commandtimeout Doba trvání, která určuje, jak dlouho se má dotaz na straně serveru spouštět, než se zruší. Výchozí hodnota je deset minut.

Podporované funkce pro SAP HANA

Následující seznam obsahuje podporované funkce pro SAP HANA. Ne všechny zde uvedené funkce jsou podporované ve všech implementacích databázového konektoru SAP HANA.

  • Konektor Power BI Desktopu i Excelu pro databázi SAP HANA používají ovladač SAP ODBC k zajištění co nejlepšího uživatelského prostředí.

  • V Power BI Desktopu podporuje SAP HANA možnosti DirectQuery i Import.

  • Power BI Desktop podporuje informační modely HANA, jako jsou analytická zobrazení a zobrazení výpočtů, a má optimalizovanou navigaci.

  • Pomocí SAP HANA můžete také pomocí příkazů SQL nativního databázového dotazu připojit k tabulkám řádků a sloupců v tabulkách katalogu HANA, které nejsou zahrnuté v zobrazeních analýzy a výpočtů poskytované prostředím Navigátor. K dotazování těchto tabulek můžete použít také konektor ODBC.

  • Power BI Desktop obsahuje optimalizovanou navigaci pro modely HANA.

  • Power BI Desktop podporuje proměnné SAP HANA a vstupní parametry.

  • Power BI Desktop podporuje zobrazení výpočtů založených na kontejnerech HDI.

  • Funkce SapHana.Database teď podporuje vypršení časového limitu připojení a příkazů. Další informace: Připojení pomocí rozšířených možností

    • Pokud chcete získat přístup k zobrazením výpočtů založeným na kontejneru HDI v Power BI, ujistěte se, že uživatelé databáze HANA, které používáte s Power BI, mají oprávnění pro přístup ke kontejneru modulu runtime HDI, který ukládá zobrazení, ke kterým chcete získat přístup. Pokud chcete udělit tento přístup, vytvořte roli, která umožňuje přístup k vašemu kontejneru HDI. Pak přiřaďte roli uživateli databáze HANA, který budete používat s Power BI. (Tento uživatel musí mít také oprávnění ke čtení ze systémových tabulek ve schématu _SYS_BI jako obvykle.) Podrobné pokyny k vytváření a přiřazování databázových rolí najdete v oficiální dokumentaci k SAP. Tento blogový příspěvek SAP může být dobrým místem, kde začít.

    • V současné době existují určitá omezení pro proměnné HANA připojené k zobrazením výpočtů založeným na HDI. Tato omezení jsou způsobená chybami na straně HANA. Nejprve není možné použít proměnnou HANA na sdílený sloupec zobrazení výpočtů založeného na kontejneru HDI. Pokud chcete toto omezení vyřešit, upgradujte na HANA 2 verze 37.02 a dále nebo na HANA 2 verze 42 a novější. Za druhé, výchozí hodnoty více položek pro proměnné a parametry se v současné době nezobrazují v uživatelském rozhraní Power BI. Toto omezení způsobuje chyba v SAP HANA, ale SAP zatím neoznámil opravu.

Povolení vazby sloupců

Data načtená ze zdroje dat se vrátí do aplikace v proměnných, které aplikace pro tento účel přidělila. Než to bude možné provést, musí aplikace přidružit nebo svázat tyto proměnné se sloupci sady výsledků; koncepčně je tento proces stejný jako vazba proměnných aplikace na parametry příkazu. Když aplikace sváže proměnnou se sloupcem sady výsledků, popisuje danou proměnnou – adresu, datový typ atd. – s ovladačem. Ovladač uloží tyto informace ve struktuře, kterou udržuje pro tento příkaz, a použije tyto informace k vrácení hodnoty ze sloupce při načtení řádku.

Když se v současné době připojujete k databázi SAP HANA pomocí Power Query Desktopu, můžete pro povolení vazby sloupců vybrat pokročilou možnost Povolit vazbu sloupců.

Vazby sloupců můžete také povolit v existujících dotazech nebo v dotazech používaných v Power Query Online ručním přidáním EnableColumnBinding možnosti k připojení v řádku vzorců Power Query nebo rozšířeném editoru. Příklad:

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

Ruční přidání EnableColumnBinding možnosti souvisí s omezeními:

  • Povolení vazby sloupců funguje v režimu Import i DirectQuery. Převyšování existujícího dotazu DirectQuery pro použití této pokročilé možnosti ale není možné. Místo toho musí být vytvořen nový dotaz, aby tato funkce fungovala správně.
  • V SAP HANA Serveru verze 2.0 nebo novější je vazba sloupce všechna nebo nic. Pokud některé sloupce nemohou být vázány, žádné nebudou vázány a uživatel obdrží výjimku, DataSource.Error: Column MEASURE_UNIQUE_NAME of type VARCHAR cannot be bound (20002 > 16384)například .
  • Servery SAP HANA verze 1.0 neoznamují vždy správné délky sloupců. V tomto kontextu EnableColumnBinding umožňuje částečnou vazbu sloupců. U některých dotazů to může znamenat, že nejsou vázané žádné sloupce. Pokud nejsou vázané žádné sloupce, nezíská se žádné výhody výkonu.

Nativní podpora dotazů v databázovém konektoru SAP HANA

Databázový konektor SAP HANA Power Query podporuje nativní dotazy. Informace o použití nativních dotazů v Power Query najdete v tématu Import dat z databáze pomocí nativního databázového dotazu.

Posouvání dotazů v nativních dotazech

Konektor databáze SAP HANA v Power Query teď podporuje posouvání dotazů v nativních dotazech. Další informace: Posouvání dotazů v nativních dotazech

Poznámka:

V databázovém konektoru SAP HANA Power Query nativní dotazy nepodporují duplicitní názvy sloupců, pokud EnableFolding je nastavená hodnota true.

Parametry v nativních dotazech

Konektor databáze SAP HANA v Power Query teď podporuje parametry v nativních dotazech. V nativních dotazech můžete zadat parametry pomocí syntaxe Value.NativeQuery .

Na rozdíl od jiných konektorů konektor databáze SAP HANA podporuje EnableFolding = True a zadává parametry současně.

Pokud chcete v dotazu použít parametry, umístíte do kódu otazníky (?) jako zástupné symboly. Chcete-li zadat parametr, použijte SqlType textovou hodnotu a hodnotu pro tuto SqlType hodnotu v Value. Value může být libovolná hodnota M, ale musí být přiřazena k hodnotě zadaného SqlType.

Existují různé způsoby zadávání parametrů:

  • Poskytnutí pouze hodnot jako seznamu:

    { “Seattle”, 1, #datetime(2022, 5, 27, 17, 43, 7) }
    
  • Zadání hodnot a typu jako seznamu:

    { [ SqlType = "CHAR", Value = "M" ], 
       [ SqlType = "BINARY", Value = Binary.FromText("AKvN", BinaryEncoding.Base64) ], 
       [ SqlType = "DATE", Value = #date(2022, 5, 27) ] }
    
  • Směšte a shodte se s oběma:

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

SqlType se řídí standardními názvy typů definovanými SAP HANA. Například následující seznam obsahuje nejčastěji používané typy:

  • BIGINT
  • BINÁRNÍ
  • BOOLEAN
  • CHAR
  • DATE
  • DESETINNÝCH
  • DVOJITÉ
  • CELÉ ČÍSLO
  • NVARCHAR
  • SECONDDATE
  • KRÁTKÝ TEXT
  • SMALLDECIMAL
  • SMALLINT
  • TIME
  • ČASOVÉ RAZÍTKO
  • VARBINARY
  • VARCHAR

Následující příklad ukazuje, jak poskytnout seznam hodnot parametrů.

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

Následující příklad ukazuje, jak poskytnout seznam záznamů (nebo kombinovat 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 atributů

Byl vylepšen způsob, jakým databázový konektor SAP HANA zpracovává počítané sloupce. Databázový konektor SAP HANA je konektor datové krychle a existuje několik operací (přidání položek, sbalení sloupců atd.), ke kterým dochází v prostoru datové krychle. Tento prostor datové krychle se zobrazí v Power Query Desktopu a uživatelském rozhraní Power Query Online pomocí ikony datové krychle, která nahrazuje běžnější ikonu "tabulka".

Snímek obrazovky s levou stranou aktuálního zobrazení v Power Query a zvýrazněním ikony datové krychle v horní části sloupce s číslem řádku

Před tím, když jste přidali sloupec tabulky (nebo jinou transformaci, která interně přidá sloupec), dotaz by "vypadl z místa datové krychle" a všechny operace by se prováděly na úrovni tabulky. V určitém okamžiku by tento rozevírací seznam mohl způsobit zastavení posouvání dotazu. Provádění operací datové krychle po přidání sloupce už nebylo možné.

Při této změně se přidané sloupce považují za dynamické atributy v rámci datové krychle . Když dotaz zůstane v prostoru datové krychle pro tuto operaci, má výhodu, že vám umožní pokračovat v používání operací datové krychle i po přidání sloupců.

Poznámka:

Tato nová funkce je dostupná jenom v případě, že se připojíte k zobrazením výpočtů na serveru SAP HANA verze 2.0 nebo vyšší.

Následující ukázkový dotaz využívá tuto novou funkci. V minulosti byste při použití cube.CollapseAndRemoveColumns získali výjimku "hodnota není datová krychle".

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"

Další kroky

Následující články obsahují další informace, které můžou být užitečné při připojování k debase SAP HANA.