Jaa


SAP HANA -tietokanta

Yhteenveto

Kohde Kuvaus
Julkaisutila Yleinen saatavuus
Tuotteet Excel
Power BI (semanttiset mallit)
Power BI (tietovuot)
Fabric (Tietovuo Gen2)
Power Apps (tietovuot)
Analysis Services
Tuetut todennustyypit Perus
Tietokanta
Windows
Funktioiden viitedokumentaatio SapHana.Database

Muistiinpano

Jotkin ominaisuudet voivat olla olemassa yhdessä tuotteessa, mutta ei toisissa käyttöönottoaikataulujen ja isäntäkohtaisten ominaisuuksien vuoksi.

Edellytykset

Tarvitset SAP-tilin, jotta voit kirjautua sivustoon ja ladata ohjaimet. Jos et ole varma, ota yhteyttä organisaatiosi SAP-järjestelmänvalvojaan.

Jotta voit käyttää SAP HANA -tietolähdetta Power BI Desktopissa tai Excelissä, paikalliseen asiakastietokoneeseen on asennettava SAP HANA ODBC -ohjain, jotta SAP HANA -tietoyhteys toimii oikein. Voit ladata SAP HANA -asiakastyökalut SAP Development Tools -työkaluista, joka sisältää tarvittavan ODBC-ohjaimen. Voit myös hankkia sen SAP-ohjelmiston latauskeskuksesta. Etsi ohjelmistoportaalista Windows-tietokoneille tarkoitettu SAP HANA CLIENT -asiakasohjelmisto. Koska SAP-ohjelmiston latauskeskus muuttaa rakennettaan usein, emme voi antaa tarkempia ohjeita kyseisellä sivustolla siirtymiseen. Lisätietoja SAP HANA ODBC -ohjaimen asentamisesta on artikkelissa SAP HANA ODBC -ohjaimen asentaminen Windows 64 -bitteihin.

Jotta voit käyttää SAP HANA -tietolähdetta Excelissä, paikalliseen asiakastietokoneeseen on asennettava joko 32- vai 64-bittinen SAP HANA ODBC -ohjain (sen mukaan, käytätkö Excelin 32- vai 64-bittistä versiota).

Tämä ominaisuus on käytettävissä Excel for Windowsissa vain, jos sinulla on Office 2019 tai Microsoft 365 -tilaus. Jos olet Microsoft 365 -tilaaja, varmista, että sinulla on Officen uusin versio.

HANA 1.0 SPS 12rev122.09, 2.0 SPS 3rev30 ja BW/4HANA 2.0 tuetaan.

Tuetut toiminnot

  • Tuo
  • Suora kysely (semanttiset Power BI -mallit)
  • Kehittynyt
    • SQL-lause

Näyttöyhteys SAP HANA -tietokantaan Power Query Desktopista

Yhteyden muodostaminen SAP HANA -tietokantaan Power Query Desktopista:

  1. Valitse Nouda tiedot > SAP HANA -tietokanta Power BI Desktopissa tai Tietokannasta > SAP HANA -tietokannasta Excelin Tiedot-valintanauhasta .

  2. Anna sen SAP HANA -palvelimen nimi ja portti, johon haluat muodostaa yhteyden. Seuraavassa kuvassa SAPHANATestServer käytetään porttia 30015.

    Anna SAP HANA -palvelimen tiedot.

    Oletusarvoisesti portin numero on määritetty tukemaan yksittäistä säilötietokantaa. Jos SAP HANA -tietokantasi voi sisältää useamman kuin yhden usean usean tietokannan säilön, valitse Usean säilön järjestelmätietokanta (30013). Jos haluat muodostaa yhteyden vuokraajan tietokantaan tai tietokantaan, jossa on muu kuin oletusesiintymänumero, valitse mukautettu avattavasta Portti-valikosta.

    Jos olet muodostamassa yhteyttä SAP HANA -tietokantaan Power BI Desktopista, voit myös valita joko Tuo tai DirectQuery. Artikkelin esimerkissä käytetään tuontia, joka on oletusarvo (ja excelin ainoa tila). Lisätietoja yhteyden muodostamisesta tietokantaan DirectQueryn avulla Power BI Desktopissa saat artikkelista NÄYTTÖYHTEYS SAP HANA -tietolähteisiin käyttämällä DirectQueryä Power BI:ssä.

    Voit syöttää myös SQL-lausekkeen tai ottaa käyttöön sarakkeen sidonnan Lisäasetukset-kohdasta. Lisätietoja Näyttöyhteys lisäasetusten avulla

    Kun olet antanut kaikki asetukset, valitse OK.

  3. Jos käytät tietokantaa ensimmäistä kertaa, sinua pyydetään antamaan tunnistetietosi todennusta varten. Tässä esimerkissä SAP HANA -palvelin edellyttää tietokannan käyttäjän tunnistetietoja, joten valitse Tietokanta ja anna käyttäjänimesi ja salasanasi. Anna tarvittaessa palvelinvarmenteen tiedot.

    Anna palvelimen tunnistetiedot.

    Lisäksi sinun on ehkä vahvistettava palvelinvarmenne. Lisätietoja palvelinvarmenteiden valintojen vahvistamisesta on kohdassa SAP HANA -salauksen käyttäminen. Power BI Desktopissa ja Excelissä vahvista palvelinvarmenteen valinta on oletusarvoisesti käytössä. Jos olet jo määrittänyt nämä valinnat ODBC-tietolähteen Hallinta stratorissa, tyhjennä Vahvista palvelinvarmenne -valintaruutu. Lisätietoja ODBC-tietolähteen Hallinta käytöstä näiden valintojen määrittämiseen on artikkelissa SSL:n määrittäminen ODBC-asiakaskäytölle SAP HANA:ssa.

    Jos haluat lisätietoja todentamisessa, siirry kohtaan Todentaminen tietolähteen avulla.

    Kun olet täyttänyt kaikki vaaditut tiedot, valitse Näyttöyhteys.

  4. Siirtymistoiminto-valintaikkunassa voit joko muuntaa tiedot Power Query -editorissa valitsemalla Muunna tiedot tai ladata tiedot valitsemalla Lataa.

Näyttöyhteys SAP HANA -tietokantaan Power Query Onlinesta

Yhteyden muodostaminen SAP HANA -tietoihin Power Query Onlinesta:

  1. Valitse Tietolähteet-sivulta SAP HANA -tietokanta.

  2. Anna sen SAP HANA -palvelimen nimi ja portti, johon haluat muodostaa yhteyden. Seuraavassa kuvassa SAPHANATestServer käytetään porttia 30015.

  3. Voit halutessasi antaa SQL-lausekkeen Lisäasetukset-kohdasta. Lisätietoja Näyttöyhteys lisäasetusten avulla

  4. Valitse tietokannan käyttämiseen käytettävän paikallisen tietoyhdyskäytävän nimi.

    Muistiinpano

    Sinun on käytettävä paikallista tietoyhdyskäytävää tämän liittimen kanssa riippumatta siitä, ovatko tiedot paikallisia vai online-tilassa.

  5. Valitse todennuslaji, jota haluat käyttää tietoihisi. Sinun on myös annettava käyttäjänimi ja salasana.

    Muistiinpano

    Tällä hetkellä Power Query Online tukee vain perustodennusta.

  6. Valitse Käytä salattua Näyttöyhteys ion, jos käytät salattua yhteyttä, ja valitse sitten SSL-salauspalvelu. Jos käytät salattua yhteyttä, tyhjennä Käytä salattua -Näyttöyhteys ion. Lisätietoja: Ota SAP HANAn salaus käyttöön

    SAP HANA -tietokannan verkkokirjautuminen.

  7. Jatka valitsemalla Seuraava.

  8. Siirtymistoiminto-valintaikkunassa voit joko muuntaa tiedot Power Query -editorissa valitsemalla Muunna tiedot tai ladata tiedot valitsemalla Lataa.

Näyttöyhteys lisäasetusten avulla

Power Query tarjoaa joukon lisäasetuksia, joita voit tarvittaessa lisätä kyselyyn.

Seuraavassa taulukossa kuvataan kaikki lisäasetukset, jotka voit määrittää Power Queryssa.

Lisäasetus Kuvaus
SQL-lause Lisätietoja: Tietojen tuominen tietokannasta alkuperäisen tietokantakyselyn avulla
Ota sarakkeen sidonta käyttöön Sitoo muuttujat SAP HANA -tulosjoukon sarakkeisiin tietoja noudettaessa. Voi mahdollisesti parantaa suorituskykyä muistin hieman korkeamman käyttöasteen kustannuksella. Tämä vaihtoehto on käytettävissä vain Power Query Desktopissa. Lisätietoja: Ota sarakkeen sidonta käyttöön
Näyttöyhteys IonTimeout Kesto, joka määrittää, kuinka kauan odotetaan, ennen kuin yritys muodostaa yhteys palvelimeen lopetetaan. Oletusarvo on 15 sekuntia.
CommandTimeout Kesto, joka määrittää, miten kauan palvelinpuolen kyselyn suorittaminen saa kestää, ennen kuin se peruutetaan. Oletusarvo on kymmenen minuuttia.

SAP HANA -tietokannan tuetut ominaisuudet

Seuraavassa luettelossa esitetään SAP HANAn tukemat ominaisuudet. Kaikkia tässä lueteltuja ominaisuuksia ei tueta kaikissa SAP HANA -tietokantayhdistimen käyttöönotoissa.

  • SAP HANA -tietokannan Power BI Desktop- ja Excel-liitin käyttävät SAP ODBC -ohjainta antamaan parhaan mahdollisen käyttäjäkokemuksen.

  • Power BI Desktopissa SAP HANA tukee sekä DirectQuery- että tuontivaihtoehtoja.

  • Power BI Desktop tukee HANA-tietomalleja, kuten analyysi- ja laskelmanäkymiä, ja sen selaus on optimoitu.

  • SAP HANA :n avulla voit myös käyttää SQL-komentoja alkuperäisen tietokantakyselyn SQL-lauseessa muodostaaksesi yhteyden HANA-luettelon taulukoiden rivi- ja saraketaulukoihin, jotka eivät sisälly Navigator-kokemuksen tarjoamiin analyysi- ja laskentanäkymiin. Voit kysellä näitä taulukoita myös ODBC-liittimellä .

  • Power BI Desktop sisältää HANA-mallien optimoidun selaamisen.

  • Power BI Desktop tukee SAP HANA -muuttujia ja -syöteparametreja.

  • Power BI Desktop tukee HDI-säilöpohjaisia laskentanäkymiä.

  • SapHana.Database-funktio tukee nyt yhteyksiä ja komennon aikakatkaisuja. Lisätietoja: Näyttöyhteys lisäasetusten avulla

    • Jos haluat käyttää HDI-säilöpohjaisia laskentanäkymiä Power BI:ssä, varmista, että Power BI:n kanssa käyttämiesi HANA-tietokantojen käyttäjillä on oikeus käyttää HDI-suorituspalvelusäilöä, joka sisältää käytettävät näkymät. Jos haluat myöntää tämän käyttöoikeuden, luo rooli, joka sallii käyttöoikeuden HDI-säilöön. Määritä sitten HANA-tietokannan käyttäjälle rooli, jota käytät Power BI:n kanssa. (Tällä käyttäjällä on myös oltava oikeudet lukea järjestelmätaulukoista _SYS_BI rakenteessa tavalliseen tapaan.) Lisätietoja tietokantaroolien luomisesta ja määrittämisestä on virallisissa SAP-ohjeissa. Tämä SAP-blogikirjoitus voi olla hyvä paikka aloittaa.

    • HDI-pohjaisiin laskentanäkymiin liitetyissä HANA-muuttujissa on tällä hetkellä joitakin rajoituksia. Nämä rajoitukset johtuvat HANA-puolen virheistä. HANA-muuttujaa ei ensinnäkään voi käyttää HDI-säilöpohjaisen laskentanäkymän jaetussa sarakkeessa. Voit korjata tämän rajoituksen päivittämällä HANA 2 -versioon 37.02 tai uudempaan tai HANA 2 -versioon 42 tai uudempaan. Toiseksi muuttujien ja parametrien monimerkintäiset oletusarvot eivät näy tällä hetkellä Power BI:n käyttöliittymässä. Tämä rajoitus johtuu SAP HANA -tietokannan virheestä, mutta SAP ei ole vielä julkistanut korjausta.

Ota sarakkeen sidonta käyttöön

Tietolähteestä noudetut tiedot palautetaan sovellukselle muuttujissa, jotka sovellus on myöntänyt tähän tarkoitukseen. Ennen kuin tämä voidaan tehdä, sovelluksen on yhdistettävä tai sidottava nämä muuttujat tulosjoukon sarakkeisiin. Käsitteellisesti tämä prosessi on sama kuin sitovat sovellusmuuttujat lausekeparametreihin. Kun sovellus sitoo muuttujan tulosjoukon sarakkeeseen, se kuvailee kyseisen muuttujan – osoitteen, tietotyypin ja niin edelleen – kuljettajalle. Ohjain tallentaa nämä tiedot rakenteeseen, jota se ylläpitää kyseistä lauseketta varten, ja käyttää tietoja palauttamaan arvon sarakkeesta, kun rivi noudetaan.

Kun tällä hetkellä muodostat yhteyden SAP HANA -tietokantaan Power Query Desktopilla, voit ottaa sarakkeen sidonnan käyttöön valitsemalla Ota sarakkeen sidonta käyttöön -lisäasetuksen.

Voit myös ottaa sarakkeen sidonnan käyttöön olemassa olevissa kyselyissä tai Power Query Onlinessa käytetyissä kyselyissä lisäämällä EnableColumnBinding asetuksen manuaalisesti yhteyteen Power Query -kaavarivillä tai laajennetussa editorissa. Esimerkkejä:

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

Asetuksen manuaaliseen lisäämiseen EnableColumnBinding liittyy rajoituksia:

  • Ota sarakkeen sidonta käyttöön toimii sekä tuonti- että DirectQuery-tilassa. Aiemmin luodun DirectQuery-kyselyn takautuminen tämän lisäasetuksen käyttämiseksi ei kuitenkaan ole mahdollista. Sen sijaan on luotava uusi kysely, jotta tämä ominaisuus toimisi oikein.
  • SAP HANA -palvelimen versiossa 2.0 tai uudemmassa versiossa sarakkeen sidonta on kaikki tai ei mitään. Jos joitakin sarakkeita ei voi sitoa, mitään ei sidota, ja käyttäjä saa poikkeuksen, esimerkiksi DataSource.Error: Column MEASURE_UNIQUE_NAME of type VARCHAR cannot be bound (20002 > 16384).
  • SAP HANA version 1.0 palvelimet eivät aina ilmoita sarakkeiden pituuksista oikein. Tässä kontekstissa EnableColumnBinding voidaan sitoa sarake osittain. Joissakin kyselyissä tämä voi tarkoittaa sitä, että sarakkeita ei ole sidottu. Kun sarakkeita ei sidota, suorituskykyetuja ei saavuta.

Natiivi kyselyn tuki SAP HANA -tietokantayhdistimessä

Power Queryn SAP HANA -tietokantayhdistin tukee alkuperäisiä kyselyitä. Jos haluat lisätietoja siitä, miten voit käyttää alkuperäisiä kyselyitä Power Queryssä, siirry kohtaan Tietojen tuominen tietokannasta alkuperäisen tietokantakyselyn avulla.

Kyselyn delegointi lähteeseen alkuperäisissä kyselyissä

Power Queryn SAP HANA -tietokantayhdistin tukee nyt kyselyn delegointia lähteeseen alkuperäisissä kyselyissä. Lisätietoja: Kyselyn delegointi lähteeseen alkuperäisissä kyselyissä

Muistiinpano

Power Queryn SAP HANA -tietokannan yhdistimessä alkuperäiset kyselyt eivät tue sarakkeiden nimien kaksoiskappaleita, kun EnableFolding arvona on true.

Parametrit alkuperäisissä kyselyissä

Power Queryn SAP HANA -tietokannan yhdistin tukee nyt parametreja alkuperäisissä kyselyissä. Voit määrittää parametrit alkuperäisissä kyselyissä käyttämällä Value.NativeQuery-syntaksia .

Toisin kuin muut liittimet, SAP HANA -tietokantayhdistin tukee EnableFolding = True ja määrittää parametreja samalla kertaa.

Jos haluat käyttää parametreja kyselyssä, lisää kysymysmerkkejä (?) koodiin paikkamerkkeinä. Määritä parametri käyttämällä SqlType tekstiarvoa ja sitä SqlType varten arvoa kohteessa Value. Value voi olla mikä tahansa M-arvo, mutta se on määritettävä määritetyn -arvon mukaan SqlType.

Parametreja voi määrittää useilla tavoilla:

  • Vain arvojen tarjoaminen luettelona:

    { “Seattle”, 1, #datetime(2022, 5, 27, 17, 43, 7) }
    
  • Arvojen ja tyypin antaminen luettelona:

    { [ SqlType = "CHAR", Value = "M" ], 
       [ SqlType = "BINARY", Value = Binary.FromText("AKvN", BinaryEncoding.Base64) ], 
       [ SqlType = "DATE", Value = #date(2022, 5, 27) ] }
    
  • Sekoita ja täsmää kaksi:

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

SqlType noudattaa SAP HANAn määrittämiä vakiotyyppinimiä. Esimerkiksi seuraava luettelo sisältää yleisimmät käytetyt tyypit:

  • BIGINT
  • BINARY
  • BOOLEAN
  • CHAR
  • DATE
  • DESIMAALI
  • KAHDEN HENGEN
  • KOKONAISLUKU
  • NVARCHAR
  • SECONDDATE
  • SHORTTEXT
  • PIENI SIMAALI
  • SMALLINT
  • TIME
  • AIKALEIMA
  • VARBINARY
  • VARCHAR

Seuraavassa esimerkissä näytetään, miten voit antaa luettelon parametriarvoista.

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

Seuraavassa esimerkissä näytetään, miten voit antaa tietueluettelon (tai yhdistää arvoja ja tietueita):

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

Dynaamisten määritteiden tuki

Tapaa, jolla SAP HANA -tietokannan yhdistin käsittelee laskettuja sarakkeita, on parannettu. SAP HANA -tietokannan liitin on "kuutio"-liitin, ja kuutiotilassa tapahtuu joitakin toimintojoukkoja (kohteiden lisääminen, sarakkeiden kutistaminen ja niin edelleen). Tämä kuutiotila näkyy Power Query Desktopin ja Power Query Onlinen käyttöliittymässä kuutiokuvakkeella, joka korvaa yleisemmän taulukkokuvakkeen.

Näyttökuva nykyisen näkymän vasemmasta reunasta Power Queryssa, jossa korostetaan kuutiokuvaketta rivinumerosarakkeen yläosassa.

Ennen kuin lisäät taulukon sarakkeen (tai toisen muunnoksen, joka lisää sarakkeen sisäisesti), kysely "poistetaan kuutiotilasta" ja kaikki toiminnot tehdään taulukkotasolla. Jossain vaiheessa tämä poisjäte saattaa aiheuttaa sen, että kysely lopettaa lähteeseen delegoinnin. Kuutiotoimintojen suorittaminen sarakkeen lisäämisen jälkeen ei ollut enää mahdollista.

Tämän muutoksen myötä lisättyjä sarakkeita käsitellään kuution dynaamisina määritteinä. Koska tämän toiminnon kysely pysyy kuutiotilassa, voit jatkaa kuutiotoimintojen käyttöä myös sarakkeiden lisäämisen jälkeen.

Muistiinpano

Tämä uusi toiminto on käytettävissä vain, kun muodostat yhteyden laskentanäkymiin SAP HANA -palvelimen versiossa 2.0 tai uudemmalla versiolla.

Seuraavassa mallikyselyssä hyödynnetään tätä uutta toimintoa. Aiemmin sait "arvo ei ole kuutio" -poikkeuksen, kun käytät Cube.CollapseAndRemoveColumns-funktiota.

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"

Seuraavat vaiheet

Seuraavissa artikkeleissa on lisätietoja, jotka saattavat olla hyödyllisiä yhdistettäessä SAP HANA -tietokantaan.