Menyambungkan ke sumber data SAP Hana dengan menggunakan DirectQuery di Power BI

Anda dapat terhubung ke sumber data SAP Hana secara langsung menggunakan DirectQuery. Ada dua opsi saat menyambungkan ke SAP Hana:

  • Perlakukan SAP Hana sebagai sumber multi-dimensi (default): Dalam hal ini, perilakunya mirip dengan saat Power BI tersambung ke sumber multidirektori lainnya seperti SAP Business Warehouse, atau Analysis Services. Saat Anda tersambung ke SAP Hana menggunakan pengaturan ini, tampilan analitik atau perhitungan tunggal dipilih dan semua ukuran, hierarki, dan atribut tampilan tersebut tersedia di daftar bidang. Saat visual dibuat, data agregat selalu diambil dari SAP Hana. Teknik ini adalah pendekatan yang direkomendasikan, dan merupakan default untuk laporan DirectQuery baru melalui SAP Hana.

  • Perlakukan SAP Hana sebagai sumber relasional: Dalam hal ini, Power BI memperlakukan SAP Hana sebagai sumber relasional. Pendekatan ini menawarkan fleksibilitas yang lebih besar. Pendekatan ini harus dilakukan dengan hati-hati untuk memastikan bahwa langkah-langkah dikumpulkan seperti yang diharapkan, dan untuk menghindari masalah performa.

Pendekatan koneksi ditentukan oleh opsi alat global, yang diatur dengan memilih Opsi dan pengaturan File>lalu Opsi>DirectQuery, lalu memilih opsi Perlakukan SAP Hana sebagai sumber relasional, seperti yang ditunjukkan pada gambar berikut.

Screenshot of the Options dialog, showing the DirectQuery options.

Opsi untuk memperlakukan SAP Hana sebagai sumber relasional mengontrol pendekatan yang digunakan untuk setiap laporan baru menggunakan DirectQuery melalui SAP Hana. Hal ini tidak berpengaruh pada koneksi SAP Hana yang ada dalam laporan saat ini, atau koneksi dalam laporan lain yang dibuka. Jadi jika opsi saat ini tidak dicentang, maka setelah menambahkan koneksi baru ke SAP Hana menggunakan Dapatkan Data, koneksi tersebut dibuat memperlakukan SAP Hana sebagai sumber multi-dimensi. Namun, jika laporan yang berbeda dibuka yang juga terhubung ke SAP Hana, maka laporan tersebut terus berperilaku sesuai dengan opsi yang ditetapkan pada saat dibuat. Fakta ini berarti bahwa setiap laporan yang terhubung ke SAP Hana yang dibuat sebelum Februari 2018 terus memperlakukan SAP Hana sebagai sumber relasional.

Kedua pendekatan tersebut merupakan perilaku yang berbeda, dan tidak mungkin untuk mengalihkan laporan yang ada dari satu pendekatan ke pendekatan lainnya.

Memperlakukan SAP Hana sebagai sumber multi-dimensi (default)

Semua koneksi baru untuk SAP Hana menggunakan metode koneksi ini secara default, memperlakukan SAP Hana sebagai sumber multi-dimensi. Untuk memperlakukan koneksi ke SAP Hana sebagai sumber relasional, Anda harus memilih Opsi File>dan>pengaturan Opsi, lalu centang kotak di bawah Kueri>Langsung Perlakukan SAP Hana sebagai sumber relasional.

Saat menyambungkan ke SAP Hana sebagai sumber multi-dimensi, pertimbangan berikut berlaku:

  • Di Dapatkan Navigator Data, satu tampilan SAP Hana dapat dipilih. Tidak dimungkinkan untuk memilih ukuran atau atribut individual. Tidak ada kueri yang ditentukan pada saat menyambungkan, yang berbeda dari mengimpor data atau saat menggunakan DirectQuery saat memperlakukan SAP Hana sebagai sumber relasional. Pertimbangan ini juga berarti bahwa tidak mungkin untuk langsung menggunakan kueri SAP Hana SQL saat memilih metode koneksi ini.

  • Semua pengukuran, hierarki, dan atribut tampilan yang dipilih ditampilkan dalam daftar bidang.

  • Karena ukuran digunakan dalam visual, SAP Hana dikueri untuk mengambil nilai pengukuran pada tingkat agregasi yang diperlukan untuk visual. Saat berhadapan dengan langkah-langkah non-aditif, seperti penghitung dan rasio, semua agregasi dilakukan oleh SAP Hana, dan tidak ada agregasi lebih lanjut yang dilakukan oleh Power BI.

  • Pembatasan tertentu harus diberlakukan untuk memastikan nilai agregat yang benar selalu dapat diperoleh dari SAP Hana. Misalnya, tidak mungkin untuk menambahkan kolom terhitung, atau menggabungkan data dari beberapa tampilan SAP Hana dalam laporan yang sama.

Memperlakukan SAP Hana sebagai sumber multi-dimensi tidak menawarkan fleksibilitas yang lebih besar yang disediakan oleh pendekatan relasional alternatif, tetapi lebih sederhana. Pendekatan ini juga memastikan nilai agregat yang benar saat berhadapan dengan langkah-langkah SAP Hana yang lebih kompleks, dan umumnya menghasilkan performa yang lebih tinggi.

Daftar Bidang mencakup semua ukuran, atribut, dan hierarki dari tampilan SAP Hana. Perhatikan perilaku berikut yang berlaku saat menggunakan metode koneksi ini:

  • Atribut apa pun yang disertakan dalam setidaknya satu hierarki disembunyikan secara default. Namun, atribut itu dapat dilihat jika diperlukan dengan memilih Tampilkan tersembunyi dari menu konteks pada daftar bidang. Dari menu konteks yang sama, mereka dapat dibuat terlihat, jika perlu.

  • Dalam SAP Hana, atribut dapat didefinisikan untuk menggunakan atribut lain sebagai labelnya. Misalnya, Produk, dengan nilai 1, , 2, 3dan sebagainya, dapat menggunakan ProductName, dengan nilai Bike, , ShirtGloves, dan sebagainya, sebagai labelnya. Dalam hal ini, bidang tunggal Produk diperlihatkan dalam daftar bidang, yang nilainya adalah label Bike, , Shirt, Glovesdan sebagainya, tetapi yang diurutkan berdasarkan, dan dengan keunikan yang ditentukan oleh, nilai 1kunci , , 23. Kolom tersembunyi Product.Key juga dibuat, memungkinkan akses ke nilai kunci yang mendasar jika perlu.

Variabel apa pun yang ditentukan dalam tampilan SAP Hana yang mendasar ditampilkan pada saat menyambungkan, dan nilai yang diperlukan dapat dimasukkan. Nilai-nilai tersebut nantinya dapat diubah dengan memilih Ubah data dari pita, lalu Edit parameter dari menu dropdown yang ditampilkan.

Operasi pemodelan yang diizinkan lebih ketat daripada dalam kasus umum saat menggunakan DirectQuery, mengingat kebutuhan untuk memastikan bahwa data agregat yang benar selalu dapat diperoleh dari SAP Hana. Namun, masih mungkin untuk membuat banyak penambahan dan perubahan, termasuk menentukan ukuran, mengganti nama dan menyembunyikan bidang, dan menentukan format tampilan. Semua perubahan tersebut dipertahankan saat refresh, dan setiap perubahan yang tidak bertentangan yang dilakukan pada tampilan SAP Hana diterapkan.

Pembatasan pemodelan tambahan

Pembatasan pemodelan utama lainnya saat menyambungkan ke SAP Hana menggunakan DirectQuery (diperlakukan sebagai sumber multi-dimensi) adalah pembatasan berikut:

  • Tidak ada dukungan untuk kolom terhitung: Kemampuan untuk membuat kolom terhitung dinonaktifkan. Fakta ini juga berarti bahwa Pengelompokan dan Pengklusteran, yang membuat kolom terhitung, tidak tersedia.
  • Batasan tambahan untuk tindakan: Ada batasan lain yang diberlakukan pada ekspresi DAX yang dapat digunakan dalam ukuran, untuk mencerminkan tingkat dukungan yang ditawarkan oleh SAP Hana.
  • Tidak ada dukungan untuk mendefinisikan hubungan: Hanya satu tampilan yang dapat dikueri dalam laporan, dan dengan demikian, tidak ada dukungan untuk menentukan hubungan.
  • Tidak Ada Tampilan Data:Tampilan Data biasanya menampilkan data tingkat detail dalam tabel. Mengingat sifat sumber OLAP seperti SAP Hana, tampilan ini tidak tersedia melalui SAP Hana.
  • Detail kolom dan pengukuran diperbaiki: Daftar kolom dan pengukuran yang terlihat dalam daftar bidang diperbaiki oleh sumber yang mendasar, dan tidak dapat dimodifikasi. Misalnya, tidak dimungkinkan untuk menghapus kolom, atau mengubah jenis datanya. Namun, itu bisa diganti namanya.
  • Batasan tambahan dalam DAX: Ada batasan lain pada DAX yang dapat digunakan dalam definisi pengukuran, untuk mencerminkan batasan dalam sumber. Misalnya, tidak dimungkinkan untuk menggunakan fungsi agregat melalui tabel.

Pembatasan visualisasi tambahan

Ada batasan dalam visual saat menyambungkan ke SAP Hana menggunakan DirectQuery (diperlakukan sebagai sumber multi-dimensi):

  • Tidak ada agregasi kolom: Tidak dimungkinkan untuk mengubah agregasi untuk kolom pada visual, dan selalu Jangan Ringkas.

Memperlakukan SAP Hana sebagai sumber relasional

Saat memilih untuk terhubung ke SAP Hana sebagai sumber relasional, beberapa fleksibilitas tambahan menjadi tersedia. Misalnya, Anda dapat membuat kolom terhitung, menyertakan data dari beberapa tampilan SAP Hana, dan membuat hubungan antara tabel yang dihasilkan. Namun, ada perbedaan dari perilaku saat memperlakukan SAP Hana sebagai sumber multidimensi, terutama ketika tampilan SAP Hana berisi langkah-langkah non-aditif, misalnya, jumlah atau rata-rata yang berbeda, daripada jumlah sederhana, dan terkait dengan efisiensi kueri yang dijalankan terhadap SAP Hana.

Berguna untuk memulai dengan mengklarifikasi perilaku sumber relasional seperti SQL Server, ketika kueri yang ditentukan dalam Dapatkan Data atau Editor Power Query melakukan agregasi. Dalam contoh berikut, kueri yang ditentukan dalam Editor Power Query mengembalikan harga rata-rata menurut ProductID.

Diagram showing a query defined in Power Query Editor that returns the average price by Product ID.

Jika data sedang diimpor ke Power BI versus menggunakan DirectQuery, situasi berikut akan menghasilkan:

  • Data diimpor pada tingkat agregasi yang ditentukan oleh kueri yang dibuat di Editor Power Query. Misalnya, harga rata-rata berdasarkan produk. Fakta ini menghasilkan tabel dengan dua kolom ProductID dan AveragePrice yang dapat digunakan dalam visual.
  • Dalam visual, agregasi berikutnya, seperti Jumlah, Rata-Rata, Min, dan lainnya, dilakukan atas data yang diimpor tersebut. Misalnya, termasuk AveragePrice pada visual menggunakan agregat Jumlah secara default, dan akan mengembalikan jumlah atas AveragePrice untuk setiap ProductID, dalam contoh ini, 13,67. Hal yang sama berlaku untuk fungsi agregat alternatif apa pun, seperti Min atau Rata-rata, yang digunakan pada visual. Misalnya, Rata-rataAveragePrice memunculkan rata-rata 6,66, 4 dan 3, yang setara dengan 4,56, dan bukan rata-rata Harga pada enam catatan dalam tabel yang mendasari, yaitu 5,17.

Jika DirectQuery atas sumber relasional yang sama sedang digunakan alih-alih Impor, semantik yang sama berlaku dan hasilnya akan sama persis:

  • Mengingat kueri yang sama, secara logis data yang sama persis disajikan ke lapisan pelaporan - meskipun data tidak benar-benar diimpor.

  • Dalam visual, agregasi berikutnya, seperti Jumlah, Rata-Rata, dan Min, kembali dilakukan melalui tabel logis tersebut dari kueri. Dan sekali lagi, visual yang berisi Rata-rataAveragePrice memunculkan 4,56 yang sama.

Pertimbangkan SAP Hana ketika koneksi diperlakukan sebagai sumber relasional. Power BI dapat bekerja dengan Tampilan Analitik dan Tampilan Perhitungan di SAP Hana, keduanya dapat berisi pengukuran. Namun hari ini pendekatan untuk SAP Hana mengikuti prinsip yang sama seperti yang dijelaskan sebelumnya di bagian ini: kueri yang ditentukan dalam Dapatkan Data atau Editor Power Query menentukan data yang tersedia, dan kemudian agregasi berikutnya dalam visual melebihi data tersebut, dan hal yang sama berlaku untuk Impor dan DirectQuery. Namun, mengingat sifat SAP Hana, kueri yang ditentukan dalam dialog Dapatkan Data awal atau Editor Power Query selalu merupakan kueri agregat, dan umumnya mencakup langkah-langkah di mana agregasi aktual yang digunakan ditentukan oleh tampilan SAP Hana.

Setara dengan contoh SQL Server sebelumnya adalah bahwa ada tampilan SAP Hana yang berisi ID, ProductID, DepotID, dan pengukuran termasuk AveragePrice, yang didefinisikan dalam tampilan sebagai Rata-Rata Harga.

Jika dalam pengalaman Dapatkan Data , pilihan yang dibuat adalah untuk ProductID dan ukuran AveragePrice , maka itu menentukan kueri atas tampilan, meminta data agregat tersebut. Dalam contoh sebelumnya, untuk kesederhanaan pseudo-SQL digunakan yang tidak cocok dengan sintaks yang tepat dari SAP Hana SQL. Kemudian agregasi lebih lanjut yang ditentukan dalam visual menggabungkan hasil kueri tersebut. Sekali lagi, seperti yang dijelaskan sebelumnya untuk SQL Server, hasil ini berlaku baik untuk kasus Impor dan DirectQuery. Dalam kasus DirectQuery, kueri dari Dapatkan Data atau Editor Power Query digunakan dalam subpilih dalam satu kueri yang dikirim ke SAP Hana, dan dengan demikian sebenarnya tidak terjadi bahwa semua data akan dibaca, sebelum menggabungkan lebih lanjut.

Semua pertimbangan dan perilaku ini harus melalui pertimbangan penting berikut saat menggunakan DirectQuery melalui SAP Hana:

  • Perhatian harus diberikan pada agregasi lebih lanjut yang dilakukan dalam visual, setiap kali ukuran di SAP Hana non-aditif, misalnya, bukan Jumlah sederhana, Min, atau Maks.

  • Di Dapatkan Data atau Editor Power Query, hanya kolom yang diperlukan yang harus disertakan untuk mengambil data yang diperlukan, yang mencerminkan fakta bahwa hasilnya adalah kueri yang harus menjadi kueri wajar yang dapat dikirim ke SAP Hana. Misalnya, jika puluhan kolom dipilih, dengan pemikiran bahwa kolom tersebut mungkin diperlukan pada visual berikutnya, maka bahkan untuk DirectQuery visual sederhana berarti kueri agregat yang digunakan dalam subpilih berisi puluhan kolom tersebut, yang umumnya berkinerja buruk.

Dalam contoh berikut, memilih lima kolom (CalendarQuarter, Color, LastName, ProductLine, SalesOrderNumber) dalam dialog Dapatkan Data, bersama dengan pengukuran OrderQuantity, berarti nantinya membuat visual sederhana yang berisi hasil Min OrderQuantity dalam kueri SQL berikut ke SAP Hana. Bayangan adalah subpilih, yang berisi kueri dari Dapatkan Data / Editor Power Query. Jika subpilih ini memberikan hasil kardinalitas yang tinggi, maka performa SAP Hana yang dihasilkan cenderung buruk.

Screenshot of a query example, showing the SQL query to SAP HANA.

Karena perilaku ini, kami merekomendasikan item yang dipilih di Dapatkan Data atau Editor Power Query terbatas pada item yang diperlukan, sambil tetap menghasilkan kueri yang wajar untuk SAP Hana.

Praktik terbaik

Untuk kedua pendekatan untuk terhubung ke SAP Hana, rekomendasi untuk menggunakan DirectQuery juga berlaku untuk SAP Hana, terutama rekomendasi yang terkait dengan memastikan performa yang baik. Untuk informasi selengkapnya, lihat menggunakan DirectQuery di Power BI.

Pertimbangan dan batasan

Daftar berikut ini menjelaskan semua fitur SAP Hana yang tidak didukung sepenuhnya, atau fitur yang berakibat berbeda saat menggunakan Power BI.

  • Hierarki Anak Induk: Hierarki anak induk tidak terlihat di Power BI. Fakta ini karena Power BI mengakses SAP Hana menggunakan antarmuka SQL, dan hierarki anak induk tidak dapat diakses sepenuhnya dengan menggunakan SQL.
  • Metadata hierarki lainnya: Struktur dasar hierarki ditampilkan di Power BI, namun beberapa metadata hierarki, seperti mengontrol perilaku hierarki yang dikaitkan, tidak berpengaruh. Sekali lagi, fakta ini disebabkan oleh keterbatasan yang diberlakukan oleh antarmuka SQL.
  • Koneksi menggunakan SSL: Anda dapat terhubung menggunakan Impor dan multi-dimensi dengan TLS, tetapi tidak dapat terhubung ke instans SAP Hana yang dikonfigurasi untuk menggunakan TLS untuk konektor relasional.
  • Dukungan untuk tampilan Atribut: Power BI dapat tersambung ke tampilan Analitik dan Perhitungan, tetapi tidak dapat tersambung langsung ke tampilan Atribut.
  • Dukungan untuk objek Katalog: Power BI tidak dapat tersambung ke objek Katalog.
  • Ubah ke Variabel setelah diterbitkan: Anda tidak dapat mengubah nilai untuk variabel SAP Hana apa pun langsung di layanan Power BI, setelah laporan diterbitkan.

Masalah yang diketahui

Daftar berikut ini menjelaskan semua masalah yang diketahui saat menyambungkan ke SAP Hana (DirectQuery) menggunakan Power BI.

  • Masalah SAP Hana saat kueri untuk Penghitung, dan langkah-langkah lain: Data yang salah dikembalikan dari SAP Hana jika menyambungkan ke Tampilan Analitik, dan pengukuran Penghitung dan beberapa ukuran rasio lainnya, disertakan dalam visual yang sama. Masalah ini dicakup oleh catatan SAP 2128928 (Hasil tak terduga saat mengkueri Kolom Terhitung dan Penghitung). Ukuran rasio salah dalam kasus ini.

  • Beberapa kolom Power BI dari kolom SAP Hana tunggal: Untuk beberapa tampilan perhitungan, di mana kolom SAP Hana digunakan dalam lebih dari satu hierarki, SAP Hana mengekspos kolom sebagai dua atribut terpisah. Pendekatan ini menghasilkan dua kolom yang dibuat di Power BI. Namun, kolom tersebut disembunyikan secara default, dan semua kueri yang melibatkan hierarki, atau kolom secara langsung, bereaksi dengan benar.

Untuk informasi selengkapnya tentang DirectQuery, lihat sumber daya berikut ini: