Database SAP HANA

Ringkasan

Item Deskripsi
Status Rilis Ketersediaan Umum
Produk Excel
Power BI (Model semantik)
Power BI (Aliran Data)
Fabric (Dataflow Gen2)
Power Apps (Aliran Data)
Analysis Services
Jenis Autentikasi Didukung Dasar
Database
Windows
Dokumentasi Referensi Fungsi SapHana.Database

Catatan

Beberapa kemampuan mungkin ada dalam satu produk tetapi tidak yang lain karena jadwal penyebaran dan kemampuan khusus host.

Prasyarat

Anda akan memerlukan akun SAP untuk masuk ke situs web dan mengunduh driver. Jika Anda tidak yakin, hubungi administrator SAP di organisasi Anda.

Untuk menggunakan SAP Hana di Power BI Desktop atau Excel, Anda harus menginstal driver ODBC SAP Hana di komputer klien lokal agar koneksi data SAP Hana berfungsi dengan baik. Anda dapat mengunduh alat Klien SAP HANA dari Alat Pengembangan SAP, yang berisi driver ODBC yang diperlukan. Atau Anda bisa mendapatkannya dari SAP Software Download Center. Di portal Perangkat Lunak, telusuri SAP HANA CLIENT untuk komputer Windows. Karena Pusat Unduhan Perangkat Lunak SAP sering mengubah strukturnya, panduan yang lebih spesifik untuk menavigasi situs tersebut tidak tersedia. Untuk instruksi tentang menginstal driver ODBC SAP Hana, buka Menginstal Driver ODBC SAP Hana di Windows 64 Bit.

Untuk menggunakan SAP Hana di Excel, Anda harus memiliki driver ODBC SAP Hana 32-bit atau 64-bit (tergantung pada apakah Anda menggunakan Excel versi 32-bit atau 64-bit) yang diinstal pada komputer klien lokal.

Fitur ini hanya tersedia di Excel untuk Windows jika Anda memiliki Office 2019 atau langganan Microsoft 365. Jika Anda adalah pelanggan Microsoft 365, pastikan Anda memiliki office versi terbaru.

HANA 1.0 SPS 12rev122.09, 2.0 SPS 3rev30 dan BW/4HANA 2.0 didukung.

Kapabilitas yang Didukung

  • Impor
  • Kueri Langsung (model semantik Power BI)
  • Lanjutan
    • Pernyataan SQL

Koneksi ke database SAP Hana dari Power Query Desktop

Untuk menyambungkan ke database SAP Hana dari Power Query Desktop:

  1. Pilih Dapatkan data > database SAP Hana di Power BI Desktop atau Dari Database > Dari Database SAP Hana di pita Data di Excel.

  2. Masukkan nama dan port server SAP Hana yang ingin Anda sambungkan. Contoh dalam gambar berikut menggunakan SAPHANATestServer pada port 30015.

    Masukkan informasi server SAP Hana.

    Secara default, nomor port diatur untuk mendukung database kontainer tunggal. Jika database SAP Hana Anda dapat berisi lebih dari satu kontainer database multipenyewa, pilih Database sistem multi-kontainer (30013). Jika Anda ingin menyambungkan ke database penyewa atau database dengan nomor instans non-default, pilih Kustom dari menu drop-down Port .

    Jika Anda menyambungkan ke database SAP Hana dari Power BI Desktop, Anda juga diberi opsi untuk memilih Impor atau DirectQuery. Contoh dalam artikel ini menggunakan Impor, yang merupakan default (dan satu-satunya mode untuk Excel). Untuk informasi selengkapnya tentang menyambungkan ke database menggunakan DirectQuery di Power BI Desktop, buka Koneksi ke sumber data SAP Hana dengan menggunakan DirectQuery di Power BI.

    Anda juga dapat memasukkan pernyataan SQL atau mengaktifkan pengikatan kolom dari opsi Tingkat Lanjut. Informasi selengkapnya, Koneksi menggunakan opsi tingkat lanjut

    Setelah Anda memasukkan semua opsi, pilih OK.

  3. Jika Anda mengakses database untuk pertama kalinya, Anda akan diminta untuk memasukkan kredensial Anda untuk autentikasi. Dalam contoh ini, server SAP Hana memerlukan kredensial pengguna database, jadi pilih Database dan masukkan nama pengguna dan kata sandi Anda. Jika perlu, masukkan informasi sertifikat server Anda.

    Masukkan kredensial server.

    Selain itu, Anda mungkin perlu memvalidasi sertifikat server. Untuk informasi selengkapnya tentang menggunakan pemilihan sertifikat server validasi, lihat Menggunakan enkripsi SAP Hana. Di Power BI Desktop dan Excel, pemilihan sertifikat server validasi diaktifkan secara default. Jika Anda sudah menyiapkan pilihan ini di Administrator Sumber Data ODBC, kosongkan kotak centang Validasi sertifikat server. Untuk mempelajari selengkapnya tentang menggunakan Administrator Sumber Data ODBC untuk menyiapkan pilihan ini, buka Mengonfigurasi SSL untuk akses klien ODBC ke SAP Hana.

    Untuk informasi selengkapnya tentang autentikasi, buka Autentikasi dengan sumber data.

    Setelah Anda mengisi semua informasi yang diperlukan, pilih Koneksi.

  4. Dari kotak dialog Navigator , Anda bisa mengubah data di editor Power Query dengan memilih Transformasi Data, atau memuat data dengan memilih Muat.

Koneksi ke database SAP Hana dari Power Query Online

Untuk menyambungkan ke data SAP Hana dari Power Query Online:

  1. Dari halaman Sumber data , pilih database SAP Hana.

  2. Masukkan nama dan port server SAP Hana yang ingin Anda sambungkan. Contoh dalam gambar berikut menggunakan SAPHANATestServer pada port 30015.

  3. Secara opsional, masukkan pernyataan SQL dari opsi Tingkat Lanjut. Informasi selengkapnya, Koneksi menggunakan opsi tingkat lanjut

  4. Pilih nama gateway data lokal yang akan digunakan untuk mengakses database.

    Catatan

    Anda harus menggunakan gateway data lokal dengan konektor ini, baik data Anda lokal maupun online.

  5. Pilih jenis autentikasi yang ingin Anda gunakan untuk mengakses data Anda. Anda juga harus memasukkan nama pengguna dan kata sandi.

    Catatan

    Saat ini, Power Query Online hanya mendukung autentikasi Dasar.

  6. Pilih Gunakan Koneksi si Terenkripsi jika Anda menggunakan koneksi terenkripsi apa pun, lalu pilih penyedia kripto SSL. Jika Anda tidak menggunakan koneksi terenkripsi, hapus Gunakan Koneksi terenkripsi. Informasi selengkapnya: Mengaktifkan enkripsi untuk SAP Hana

    Masuk online database SAP Hana.

  7. Untuk melanjutkan, klik Berikutnya.

  8. Dari kotak dialog Navigator , Anda bisa mengubah data di editor Power Query dengan memilih Transformasi Data, atau memuat data dengan memilih Muat.

Menyambungkan menggunakan opsi tingkat lanjut

Power Query menyediakan sekumpulan opsi tingkat lanjut yang bisa Anda tambahkan ke kueri Anda jika diperlukan.

Tabel berikut ini menjelaskan semua opsi tingkat lanjut yang bisa Anda atur di Power Query.

Opsi tingkat lanjut Deskripsi
Pernyataan SQL Informasi selengkapnya, Mengimpor data dari database menggunakan kueri database asli
Mengaktifkan pengikatan kolom Mengikat variabel ke kolom kumpulan hasil SAP Hana saat mengambil data. Dapat berpotensi meningkatkan performa dengan biaya pemanfaatan memori yang sedikit lebih tinggi. Opsi ini hanya tersedia di Power Query Desktop. Informasi selengkapnya: Mengaktifkan pengikatan kolom
connectionTimeout Durasi yang mengontrol berapa lama menunggu sebelum meninggalkan upaya untuk membuat koneksi ke server. Nilai defaultnya adalah 15 detik.
CommandTimeout Durasi yang mengontrol berapa lama kueri sisi server diizinkan untuk dijalankan sebelum dibatalkan. Nilai defaultnya adalah sepuluh menit.

Fitur yang didukung untuk SAP HANA

Daftar berikut menunjukkan fitur yang didukung untuk SAP Hana. Tidak semua fitur yang tercantum di sini didukung di semua implementasi konektor database SAP Hana.

  • Konektor Power BI Desktop dan Excel untuk database SAP Hana menggunakan driver SAP ODBC untuk memberikan pengalaman pengguna terbaik.

  • Di Power BI Desktop, SAP Hana mendukung opsi DirectQuery dan Impor.

  • Power BI Desktop mendukung model informasi HANA, seperti Tampilan Analitik dan Perhitungan, dan memiliki navigasi yang dioptimalkan.

  • Dengan SAP Hana, Anda juga dapat menggunakan perintah SQL dalam pernyataan SQL kueri database asli untuk menyambungkan ke Tabel Baris dan Kolom dalam tabel Katalog HANA, yang tidak disertakan dalam Tampilan Analitik/Perhitungan yang disediakan oleh pengalaman Navigator. Anda juga dapat menggunakan konektor ODBC untuk mengkueri tabel ini.

  • Power BI Desktop menyertakan Navigasi yang Dioptimalkan untuk Model HANA.

  • Power BI Desktop mendukung parameter Variabel dan Input SAP Hana.

  • Power BI Desktop mendukung Tampilan Penghitungan berbasis kontainer HDI.

  • Fungsi SapHana.Database sekarang mendukung batas waktu koneksi dan perintah. Informasi selengkapnya: Koneksi menggunakan opsi tingkat lanjut

    • Untuk mengakses Tampilan Perhitungan berbasis kontainer HDI di Power BI, pastikan bahwa pengguna database HANA yang Anda gunakan dengan Power BI memiliki izin untuk mengakses kontainer runtime HDI yang menyimpan tampilan yang ingin Anda akses. Untuk memberikan akses ini, buat Peran yang memungkinkan akses ke kontainer HDI Anda. Kemudian tetapkan peran ke pengguna database HANA yang akan Anda gunakan dengan Power BI. (Pengguna ini juga harus memiliki izin untuk membaca dari tabel sistem dalam skema _SYS_BI, seperti biasa.) Lihat dokumentasi SAP resmi untuk petunjuk terperinci tentang cara membuat dan menetapkan peran database. Posting blog SAP ini mungkin tempat yang baik untuk memulai.

    • Saat ini ada beberapa batasan untuk variabel HANA yang dilampirkan ke Tampilan Penghitungan berbasis HDI. Keterbatasan ini karena kesalahan di sisi HANA. Pertama, tidak dimungkinkan untuk menerapkan variabel HANA ke kolom bersama dari Tampilan Penghitungan berbasis kontainer HDI. Untuk memperbaiki batasan ini, tingkatkan ke HANA 2 versi 37.02 dan seterusnya atau ke HANA 2 versi 42 dan seterusnya. Kedua, nilai default multi-entri untuk variabel dan parameter saat ini tidak muncul di antarmuka pengguna Power BI. Kesalahan dalam SAP HANA menyebabkan batasan ini, tetapi SAP belum mengumumkan perbaikannya.

Mengaktifkan pengikatan kolom

Data yang diambil dari sumber data dikembalikan ke aplikasi dalam variabel yang telah dialokasikan aplikasi untuk tujuan ini. Sebelum ini dapat dilakukan, aplikasi harus mengaitkan, atau mengikat, variabel ini ke kolom kumpulan hasil; secara konseptual, proses ini sama dengan mengikat variabel aplikasi ke parameter pernyataan. Ketika aplikasi mengikat variabel ke kolom kumpulan hasil, aplikasi menjelaskan variabel tersebut - alamat, jenis data, dan sebagainya - ke driver. Driver menyimpan informasi ini dalam struktur yang dipertahankan untuk pernyataan tersebut dan menggunakan informasi untuk mengembalikan nilai dari kolom saat baris diambil.

Saat ini, saat Anda menggunakan Power Query Desktop untuk menyambungkan ke database SAP Hana, Anda bisa memilih opsi Aktifkan pengikatan kolom tingkat lanjut untuk mengaktifkan pengikatan kolom.

Anda juga bisa mengaktifkan pengikatan kolom dalam kueri yang sudah ada atau dalam kueri yang digunakan di Power Query Online dengan menambahkan EnableColumnBinding opsi ke koneksi secara manual di bilah rumus Power Query atau editor tingkat lanjut. Contohnya:

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

Ada batasan yang terkait dengan penambahan EnableColumnBinding opsi secara manual:

  • Aktifkan pengikatan kolom berfungsi dalam mode Impor dan DirectQuery. Namun, retrofitting kueri DirectQuery yang ada untuk menggunakan opsi tingkat lanjut ini tidak dimungkinkan. Sebagai gantinya, kueri baru harus dibuat agar fitur ini berfungsi dengan benar.
  • Di SAP Hana Server versi 2.0 atau yang lebih baru, pengikatan kolom adalah semua atau tidak sama sekali. Jika beberapa kolom tidak dapat diikat, tidak ada yang akan terikat, dan pengguna akan menerima pengecualian, misalnya, DataSource.Error: Column MEASURE_UNIQUE_NAME of type VARCHAR cannot be bound (20002 > 16384).
  • Server SAP Hana versi 1.0 tidak selalu melaporkan panjang kolom yang benar. Dalam konteks ini, EnableColumnBinding memungkinkan pengikatan kolom parsial. Untuk beberapa kueri, ini bisa berarti bahwa tidak ada kolom yang terikat. Ketika tidak ada kolom yang terikat, tidak ada manfaat performa yang diperoleh.

Dukungan kueri asli di konektor database SAP Hana

Konektor database Power Query SAP Hana mendukung kueri asli. Untuk informasi tentang cara menggunakan kueri asli di Power Query, buka Mengimpor data dari database menggunakan kueri database asli.

Pelipatan kueri pada kueri asli

Konektor database Power Query SAP Hana sekarang mendukung pelipatan kueri pada kueri asli. Informasi selengkapnya: Pelipatan kueri pada kueri asli

Catatan

Di konektor database Power Query SAP Hana, kueri asli tidak mendukung nama kolom duplikat saat EnableFolding diatur ke true.

Parameter dalam kueri asli

Konektor database Power Query SAP Hana sekarang mendukung parameter dalam kueri asli. Anda dapat menentukan parameter dalam kueri asli dengan menggunakan sintaks Value.NativeQuery .

Tidak seperti konektor lain, konektor database SAP Hana mendukung EnableFolding = True dan menentukan parameter secara bersamaan.

Untuk menggunakan parameter dalam kueri, Anda menempatkan tanda tanya (?) di kode Anda sebagai tempat penampung. Untuk menentukan parameter, Anda menggunakan SqlType nilai teks dan nilai untuk itu SqlType di Value. Value dapat berupa nilai M apa pun, tetapi harus ditetapkan ke nilai yang ditentukan SqlType.

Ada beberapa cara untuk menentukan parameter:

  • Hanya menyediakan nilai sebagai daftar:

    { “Seattle”, 1, #datetime(2022, 5, 27, 17, 43, 7) }
    
  • Menyediakan nilai dan jenis sebagai daftar:

    { [ SqlType = "CHAR", Value = "M" ], 
       [ SqlType = "BINARY", Value = Binary.FromText("AKvN", BinaryEncoding.Base64) ], 
       [ SqlType = "DATE", Value = #date(2022, 5, 27) ] }
    
  • Campur dan cocokkan keduanya:

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

SqlType mengikuti nama jenis standar yang ditentukan oleh SAP Hana. Misalnya, daftar berikut berisi jenis yang paling umum digunakan:

  • BIGINT
  • BINER
  • BOOLEAN
  • CHAR
  • TANGGAL
  • DECIMAL
  • DOUBLE
  • INTEGER
  • NVARCHAR
  • SECONDDATE
  • SHORTTEXT
  • SMALLDECIMAL
  • SMALLINT
  • TIME
  • TANDA WAKTU
  • VARBINARY
  • VARCHAR

Contoh berikut menunjukkan cara memberikan daftar nilai parameter.

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

Contoh berikut menunjukkan cara menyediakan daftar rekaman (atau mencampur nilai dan rekaman):

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

Dukungan untuk atribut dinamis

Cara konektor database SAP Hana memperlakukan kolom terhitung telah ditingkatkan. Konektor database SAP Hana adalah konektor "kubus", dan ada beberapa set operasi (tambahkan item, ciutkan kolom, dan sebagainya) yang terjadi di ruang "kubus". Ruang kubus ini dipamerkan di antarmuka pengguna Power Query Desktop dan Power Query Online dengan ikon "kubus" yang menggantikan ikon "tabel" yang lebih umum.

Cuplikan layar sisi kiri tampilan saat ini di Power Query, menekankan ikon kubus di bagian atas kolom nomor baris.

Sebelum, saat Anda menambahkan kolom tabel (atau transformasi lain yang secara internal menambahkan kolom), kueri akan "keluar dari ruang kubus", dan semua operasi akan dilakukan pada tingkat tabel. Pada titik tertentu, drop out ini dapat menyebabkan kueri berhenti melipat. Melakukan operasi kubus setelah menambahkan kolom tidak lagi dimungkinkan.

Dengan perubahan ini, kolom yang ditambahkan diperlakukan sebagai atribut dinamis dalam kubus. Memiliki kueri tetap berada di ruang kubus untuk operasi ini memiliki keuntungan untuk memungkinkan Anda terus menggunakan operasi kubus bahkan setelah menambahkan kolom.

Catatan

Fungsionalitas baru ini hanya tersedia saat Anda tersambung ke Tampilan Perhitungan di SAP Hana Server versi 2.0 atau yang lebih tinggi.

Kueri sampel berikut memanfaatkan kemampuan baru ini. Di masa lalu, Anda akan mendapatkan pengecualian "nilai bukan kubus" saat menerapkan Cube.CollapseAndRemoveColumns.

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"

Langkah berikutnya

Artikel berikut berisi informasi selengkapnya yang mungkin berguna bagi Anda saat menyambungkan ke debase SAP Hana.