SAP HANA veritabanı

Özet

Öğe Açıklama
Sürüm Durumu Genel Kullanılabilirlik
Ürünler Excel
Power BI (Anlam modelleri)
Power BI (Veri Akışları)
Doku (Veri Akışı 2. Nesil)
Power Apps (Veri Akışları)
Analysis Services
Desteklenen Kimlik Doğrulama Türleri Temel
Veritabanı
Windows
İşlev Başvurusu Belgeleri SapHana.Database

Not

Dağıtım zamanlamaları ve konağa özgü özellikler nedeniyle bazı özellikler tek bir üründe mevcut olabilir, ancak diğerleri mevcut olmayabilir.

Önkoşullar

Web sitesinde oturum açmak ve sürücüleri indirmek için bir SAP hesabına ihtiyacınız vardır. Emin değilseniz kuruluşunuzdaki SAP yöneticisine başvurun.

SAP HANA'yı Power BI Desktop veya Excel'de kullanmak için, SAP HANA veri bağlantısının düzgün çalışması için yerel istemci bilgisayarda SAP HANA ODBC sürücüsünün yüklü olması gerekir. Sap HANA İstemcisi araçlarını, gerekli ODBC sürücüsünü içeren SAP Geliştirme Araçları'ndan indirebilirsiniz. İsterseniz SAP Yazılım İndirme Merkezi'nden de edinebilirsiniz. Yazılım portalında Windows bilgisayarlar için SAP HANA CLIENT'ı arayın. SAP Yazılım İndirme Merkezi yapısını sık sık değiştirdiğinden, bu sitede gezinmek için daha ayrıntılı yönergeler kullanılamaz. SAP HANA ODBC sürücüsünü yükleme yönergeleri için Windows 64 Bit'te SAP HANA ODBC Sürücüsü Yükleme bölümüne gidin.

SAP HANA'yı Excel'de kullanmak için, yerel istemci bilgisayarda 32 bit veya 64 bit SAP HANA ODBC sürücüsünün (Excel'in 32 bit sürümünü mü yoksa 64 bit sürümünü mü kullandığınıza bağlı olarak) yüklü olması gerekir.

Bu özellik yalnızca Office 2019 veya Microsoft 365 aboneliğiniz varsa Windows için Excel'de kullanılabilir. Microsoft 365 abonesiyseniz Office'in en son sürümüne sahip olduğunuzdan emin olun.

HANA 1.0 SPS 12rev122.09, 2.0 SPS 3rev30 ve BW/4HANA 2.0 desteklenir.

Desteklenen Özellikler

  • İçeri Aktar
  • Direct Query (Power BI anlam modelleri)
  • Gelişmiş
    • SQL Deyimi

Power Query Desktop'tan SAP HANA veritabanına Bağlan

Power Query Desktop'tan BIR SAP HANA veritabanına bağlanmak için:

  1. Excel'deki Veri şeridinde Power BI Desktop'ta Veri Al SAP HANA veritabanı veya SAP HANA Veritabanından Veritabanından'ı >seçin.>

  2. Bağlanmak istediğiniz SAP HANA sunucusunun adını ve bağlantı noktasını girin. Aşağıdaki şekildeki SAPHANATestServer örnekte bağlantı noktası 30015kullanılır.

    SAP HANA sunucu bilgilerini girin.

    Varsayılan olarak, bağlantı noktası numarası tek bir kapsayıcı veritabanını destekleyecek şekilde ayarlanır. SAP HANA veritabanınız birden fazla çok kiracılı veritabanı kapsayıcısı içerebiliyorsa Çok kapsayıcılı sistem veritabanı (30013) öğesini seçin. Bir kiracı veritabanına veya varsayılan olmayan örnek numarasına sahip bir veritabanına bağlanmak istiyorsanız, Bağlantı noktası açılan menüsünden Özel'i seçin.

    Power BI Desktop'tan bir SAP HANA veritabanına bağlanıyorsanız İçeri Aktar veya DirectQuery seçeneğini de belirleyebilirsiniz. Bu makaledeki örnekte varsayılan (ve Excel için tek mod) olan İçeri Aktarma kullanılır. Power BI Desktop'ta DirectQuery kullanarak veritabanına bağlanma hakkında daha fazla bilgi için Power BI'da DirectQuery kullanarak SAP HANA veri kaynaklarına Bağlan bölümüne gidin.

    Gelişmiş seçenekler'den bir SQL deyimi girebilir veya sütun bağlamayı etkinleştirebilirsiniz. Gelişmiş seçenekleri kullanma Bağlan daha fazla bilgi

    Tüm seçeneklerinizi girdikten sonra Tamam'ı seçin.

  3. Bir veritabanına ilk kez erişiyorsanız kimlik doğrulaması için kimlik bilgilerinizi girmeniz istenir. Bu örnekte SAP HANA sunucusu için veritabanı kullanıcı kimlik bilgileri gerekir, bu nedenle Veritabanı'nı seçin ve kullanıcı adınızı ve parolanızı girin. Gerekirse, sunucu sertifika bilgilerinizi girin.

    Sunucu kimlik bilgilerini girin.

    Ayrıca, sunucu sertifikasını doğrulamanız gerekebilir. Sunucu sertifikası seçimlerini doğrulama hakkında daha fazla bilgi için bkz . SAP HANA şifrelemesini kullanma. Power BI Desktop ve Excel'de sunucu sertifikası seçimini doğrulama varsayılan olarak etkindir. ODBC Veri Kaynağı Yönetici istrator'da bu seçimleri zaten ayarladıysanız Sunucu sertifikasını doğrula onay kutusunu temizleyin. Bu seçimleri ayarlamak üzere ODBC Veri Kaynağı Yönetici istrator kullanma hakkında daha fazla bilgi edinmek için, SAP HANA'ya ODBC istemci erişimi için SSL yapılandırma konusuna gidin.

    Kimlik doğrulaması hakkında daha fazla bilgi için Veri kaynağıyla kimlik doğrulaması bölümüne gidin.

    Gerekli tüm bilgileri doldurduktan sonra Bağlan'ı seçin.

  4. Gezgin iletişim kutusunda Verileri Dönüştür'ü seçerek Power Query düzenleyicisindeki verileri dönüştürebilir veya Yükle'yi seçerek verileri yükleyebilirsiniz.

Power Query Online'dan SAP HANA veritabanına Bağlan

Power Query Online'dan SAP HANA verilerine bağlanmak için:

  1. Veri kaynakları sayfasında SAP HANA veritabanı'nı seçin.

  2. Bağlanmak istediğiniz SAP HANA sunucusunun adını ve bağlantı noktasını girin. Aşağıdaki şekildeki SAPHANATestServer örnekte bağlantı noktası 30015kullanılır.

  3. İsteğe bağlı olarak, Gelişmiş seçenekler'den bir SQL deyimi girin. Gelişmiş seçenekleri kullanma Bağlan daha fazla bilgi

  4. Veritabanına erişmek için kullanılacak şirket içi veri ağ geçidinin adını seçin.

    Not

    Verileriniz ister yerel ister çevrimiçi olsun, bu bağlayıcıyla bir şirket içi veri ağ geçidi kullanmanız gerekir.

  5. Verilerinize erişmek için kullanmak istediğiniz kimlik doğrulama türünü seçin. Ayrıca bir kullanıcı adı ve parola girmeniz gerekir.

    Not

    Şu anda Power Query Online yalnızca Temel kimlik doğrulamayı destekler.

  6. Şifrelenmiş bir bağlantı kullanıyorsanız Şifrelenmiş Bağlan ion Kullan'ı ve ardından SSL şifreleme sağlayıcısını seçin. Şifreli bağlantı kullanmıyorsanız Şifrelenmiş Bağlan kullanma seçeneğinin işaretini kaldırın. Daha fazla bilgi: SAP HANA için şifrelemeyi etkinleştirme

    SAP HANA veritabanı çevrimiçi oturum açma.

  7. Devam etmek için İleri'yi seçin.

  8. Gezgin iletişim kutusunda Verileri Dönüştür'ü seçerek Power Query düzenleyicisindeki verileri dönüştürebilir veya Yükle'yi seçerek verileri yükleyebilirsiniz.

Gelişmiş seçenekleri kullanarak Bağlan

Power Query, gerekirse sorgunuza ekleyebileceğiniz bir dizi gelişmiş seçenek sağlar.

Aşağıdaki tabloda Power Query'de ayarlayabileceğiniz tüm gelişmiş seçenekler açıklanmaktadır.

Gelişmiş seçenek Açıklama
SQL Deyimi Daha fazla bilgi, Yerel veritabanı sorgusu kullanarak veritabanından veri içeri aktarma
Sütun bağlamayı etkinleştirme Verileri getirirken değişkenleri SAP HANA sonuç kümesinin sütunlarına bağlar. Performansı biraz daha yüksek bellek kullanımı maliyetiyle geliştirebilir. Bu seçenek yalnızca Power Query Desktop'ta kullanılabilir. Daha fazla bilgi: Sütun bağlamayı etkinleştirme
Bağlan ionTimeout Sunucuya bağlantı kurma girişiminden vazgeçmeden önce ne kadar beklendiğini denetleyebilen bir süre. Varsayılan değer 15 saniyedir.
Commandtimeout Sunucu tarafı sorgunun iptal edilmeden önce ne kadar süreyle çalışmasına izin verildiğini denetleyebilen bir süre. Varsayılan değer on dakikadır.

SAP HANA için desteklenen özellikler

Aşağıdaki listede SAP HANA için desteklenen özellikler gösterilmektedir. Burada listelenen özelliklerin tümü SAP HANA veritabanı bağlayıcısının tüm uygulamalarında desteklenmez.

  • Sap HANA veritabanı için hem Power BI Desktop hem de Excel bağlayıcısı, en iyi kullanıcı deneyimini sağlamak için SAP ODBC sürücüsünü kullanır.

  • Power BI Desktop'ta SAP HANA hem DirectQuery hem de İçeri Aktarma seçeneklerini destekler.

  • Power BI Desktop, Analitik ve Hesaplama Görünümleri gibi HANA bilgi modellerini destekler ve en iyi duruma getirilmiş gezinti özelliklerine sahiptir.

  • SAP HANA ile, GEZGIN deneyimi tarafından sağlanan Analiz/Hesaplama Görünümlerine dahil olmayan HANA Kataloğu tablolarındaki Satır ve Sütun Tablolarına bağlanmak için yerel veritabanı sorgusu SQL deyimindeki SQL komutlarını da kullanabilirsiniz. Bu tabloları sorgulamak için ODBC bağlayıcısını da kullanabilirsiniz.

  • Power BI Desktop, HANA Modelleri için İyileştirilmiş Gezinti içerir.

  • Power BI Desktop, SAP HANA Değişkenlerini ve Giriş parametrelerini destekler.

  • Power BI Desktop, HDI kapsayıcı tabanlı Hesaplama Görünümlerini destekler.

  • SapHana.Database işlevi artık bağlantı ve komut zaman aşımlarını destekliyor. Daha fazla bilgi: gelişmiş seçenekleri kullanarak Bağlan

    • Power BI'da HDI kapsayıcısı tabanlı Hesaplama Görünümlerinize erişmek için, Power BI ile kullandığınız HANA veritabanı kullanıcılarının erişmek istediğiniz görünümleri depolayan HDI çalışma zamanı kapsayıcısına erişme iznine sahip olduğundan emin olun. Bu erişimi vermek için HDI kapsayıcınıza erişime izin veren bir Rol oluşturun. Ardından rolü Power BI ile kullanacağınız HANA veritabanı kullanıcısına atayın. (Bu kullanıcının her zamanki gibi _SYS_BI şemasındaki sistem tablolarından okuma izni de olmalıdır.) Veritabanı rolleri oluşturma ve atama hakkında ayrıntılı yönergeler için resmi SAP belgelerine bakın. Bu SAP blog gönderisi başlamak için iyi bir yer olabilir.

    • ŞU anda HDI tabanlı Hesaplama Görünümlerine eklenen HANA değişkenleri için bazı sınırlamalar vardır. Bu sınırlamaların nedeni HANA tarafındaki hatalardır. İlk olarak, HDI kapsayıcı tabanlı Hesaplama Görünümü'nde paylaşılan bir sütuna HANA değişkeni uygulamak mümkün değildir. Bu sınırlamayı düzeltmek için HANA 2 sürüm 37.02 ve sonrasında veya HANA 2 sürüm 42 ve üzeri sürümlere yükseltin. İkinci olarak, değişkenler ve parametreler için çoklu giriş varsayılan değerleri şu anda Power BI kullanıcı arabiriminde görünmüyor. SAP HANA'daki bir hata bu sınırlamaya neden olur, ancak SAP henüz bir düzeltme duyurusunda bulunmadı.

Sütun bağlamayı etkinleştirme

Veri kaynağından getirilen veriler, uygulamanın bu amaçla ayırdığı değişkenlerde uygulamaya döndürülür. Bunun yapılabilmesi için uygulamanın bu değişkenleri sonuç kümesinin sütunlarıyla ilişkilendirmesi veya bağlaması gerekir; kavramsal olarak bu işlem, uygulama değişkenlerini deyim parametrelerine bağlamayla aynıdır. Uygulama bir sonuç kümesi sütununa bir değişken bağladığında, bu değişkeni (adres, veri türü vb.) sürücüye açıklar. Sürücü bu bilgileri bu deyim için koruduğu yapıda depolar ve satır getirildiğinde sütundaki değeri döndürmek için bilgileri kullanır.

Şu anda BIR SAP HANA veritabanına bağlanmak için Power Query Desktop'ı kullandığınızda sütun bağlamayı etkinleştirmek için Sütun bağlamayı etkinleştir gelişmiş seçeneğini belirleyebilirsiniz.

Power Query formül çubuğunda veya gelişmiş düzenleyicide bağlantıyı el ile ekleyerek EnableColumnBinding mevcut sorgularda veya Power Query Online'da kullanılan sorgularda sütun bağlamayı etkinleştirebilirsiniz. Örneğin:

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

Seçeneği el ile eklemeyle EnableColumnBinding ilgili sınırlamalar vardır:

  • Sütun bağlamayı etkinleştirme özelliği hem İçeri Aktarma hem de DirectQuery modunda çalışır. Ancak, mevcut bir DirectQuery sorgusunu bu gelişmiş seçeneği kullanacak şekilde geri döndürmek mümkün değildir. Bunun yerine, bu özelliğin düzgün çalışması için yeni bir sorgu oluşturulmalıdır.
  • SAP HANA Server sürüm 2.0 veya sonraki sürümlerinde sütun bağlamanın tümü veya hiçbiri. Bazı sütunlar bağlanamıyorsa, hiçbiri bağlanmaz ve kullanıcı bir özel durum (örneğin, DataSource.Error: Column MEASURE_UNIQUE_NAME of type VARCHAR cannot be bound (20002 > 16384)) alır.
  • SAP HANA sürüm 1.0 sunucuları her zaman doğru sütun uzunluklarını raporlamaz. Bu bağlamda kısmi EnableColumnBinding sütun bağlamasına izin verir. Bazı sorgular için bu, hiçbir sütunun bağlı olmadığı anlamına gelebilir. Hiçbir sütun bağlı olmadığında, hiçbir performans avantajı elde edilir.

SAP HANA veritabanı bağlayıcısında yerel sorgu desteği

Power Query SAP HANA veritabanı bağlayıcısı yerel sorguları destekler. Power Query'de yerel sorguları kullanma hakkında bilgi için Yerel veritabanı sorgusu kullanarak veritabanından veri içeri aktarma bölümüne gidin.

Yerel sorgularda sorguyu kaynağa döndürme

Power Query SAP HANA veritabanı bağlayıcısı artık yerel sorgularda sorguyu kaynağa döndürmeyi destekliyor. Daha fazla bilgi: Yerel sorgularda sorguyu kaynağa döndürme

Not

Power Query SAP HANA veritabanı bağlayıcısında, true olarak ayarlandığında yerel sorgular yinelenen sütun adlarını EnableFolding desteklemez.

Yerel sorgulardaki parametreler

Power Query SAP HANA veritabanı bağlayıcısı artık yerel sorgularda parametreleri destekliyor. Value.NativeQuery söz dizimini kullanarak yerel sorgularda parametre belirtebilirsiniz.

Diğer bağlayıcıların aksine SAP HANA veritabanı bağlayıcısı parametreleri aynı anda destekler EnableFolding = True ve belirtir.

Sorguda parametreleri kullanmak için, kodunuzda yer tutucu olarak soru işaretleri (?) yerleştirirsiniz. parametresini belirtmek için içindeki metin değerini ve değerini SqlTypeValuekullanırsınızSqlType. Value herhangi bir M değeri olabilir, ancak belirtilen SqlTypedeğerinin atanması gerekir.

Parametreleri belirtmenin birden çok yolu vardır:

  • Yalnızca değerleri liste olarak sağlama:

    { “Seattle”, 1, #datetime(2022, 5, 27, 17, 43, 7) }
    
  • Değerleri ve türü liste olarak sağlama:

    { [ SqlType = "CHAR", Value = "M" ], 
       [ SqlType = "BINARY", Value = Binary.FromText("AKvN", BinaryEncoding.Base64) ], 
       [ SqlType = "DATE", Value = #date(2022, 5, 27) ] }
    
  • İkisini birleştirin ve eşleştirin:

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

SqlType SAP HANA tarafından tanımlanan standart tür adlarını izler. Örneğin, aşağıdaki liste kullanılan en yaygın türleri içerir:

  • BİGİNT
  • IKİLİ
  • BOOLEAN
  • CHAR
  • DATE
  • ON -DA -LIK
  • ÇİFT
  • TAMSAYI
  • NVARCHAR
  • SECONDDATE
  • KISAMET
  • KÜÇÜKDECIMAL
  • SMALLİNT
  • TIME
  • TIMESTAMP
  • VARBİNARY
  • VARCHAR

Aşağıdaki örnek, parametre değerlerinin listesinin nasıl sağ yapılacağını gösterir.

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

Aşağıdaki örnekte kayıtların listesinin nasıl sağlanıp sağlanmayan (veya değerleri ve kayıtları karıştıran) gösterilmektedir:

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

Dinamik öznitelikler için destek

SAP HANA veritabanı bağlayıcısının hesaplanmış sütunları nasıl ele aldığı iyileştirildi. SAP HANA veritabanı bağlayıcısı bir "küp" bağlayıcısıdır ve "küp" alanında gerçekleşen bazı işlem kümeleri (öğe ekleme, sütunları daraltma vb.) vardır. Bu küp alanı, Power Query Desktop ve Power Query Online kullanıcı arabiriminde daha yaygın "tablo" simgesinin yerini alan "küp" simgesiyle gösterilir.

Power Query'de geçerli görünümün sol tarafının ekran görüntüsü, satır numarası sütununun üst kısmındaki küp simgesini vurgular.

Daha önce, bir tablo sütunu (veya dahili olarak sütun ekleyen başka bir dönüştürme) eklediğinizde, sorgu "küp alanından çıkar" ve tüm işlemler tablo düzeyinde yapılırdı. Bir noktada bu bırakma, sorgunun katlanmayı durdurmasına neden olabilir. Sütun ekledikten sonra küp işlemlerini gerçekleştirmek artık mümkün değildi.

Bu değişiklikle, eklenen sütunlar küp içinde dinamik öznitelikler olarak değerlendirilir. Sorgunun bu işlem için küp alanında kalması, sütun ekledikten sonra bile küp işlemlerini kullanmaya devam edebilirsiniz.

Not

Bu yeni işlevsellik yalnızca SAP HANA Server sürüm 2.0 veya üzeri hesaplama görünümlerine bağlandığınızda kullanılabilir.

Aşağıdaki örnek sorgu bu yeni özelliğin avantajlarından yararlanır. Geçmişte Cube.CollapseAndRemoveColumns uygularken "değer küp değil" özel durumuyla karşı karşıya kaldınız.

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"

Sonraki adımlar

Aşağıdaki makaleler, SAP HANA debase'e bağlanırken yararlı bulabileceğiniz daha fazla bilgi içerir.