Bagikan melalui


Panduan pengambilan data untuk laporan berpaginasi

Artikel ini menargetkan Anda sebagai penulis laporan yang merancang laporan terpaginasi Power BI. Ini memberikan rekomendasi untuk membantu Anda merancang pengambilan data yang efektif dan efisien.

Jenis sumber data

Laporan paginasi mendukung sumber data relasional dan analitik secara alamiah. Sumber-sumber ini dikategorikan lebih lanjut, baik berbasis cloud atau lokal. Sumber data lokal—baik yang dihosting secara lokal, atau di komputer virtual—memerlukan gateway data sehingga Power BI dapat tersambung. Berbasis cloud berarti bahwa Power BI dapat terhubung langsung menggunakan koneksi Internet.

Jika Anda dapat memilih jenis sumber data (mungkin kasusnya dalam proyek baru), kami sarankan Anda menggunakan sumber data berbasis cloud. Laporan paginasi dapat terhubung dengan latensi jaringan yang lebih rendah, terutama ketika sumber data berada di wilayah yang sama dengan penyewa Power BI Anda. Selain itu, Dimungkinkan untuk terhubung ke sumber-sumber ini dengan menggunakan Single Sign-On (SSO). Ini berarti identitas pengguna laporan dapat mengalir ke sumber data, memungkinkan izin tingkat baris per pengguna diberlakukan. Saat ini, SSO hanya didukung untuk sumber data lokal SQL Server dan Oracle (lihat Sumber data yang didukung untuk laporan paginasi Power BI).

Catatan

Meskipun saat ini tidak dimungkinkan untuk menyambungkan ke database lokal menggunakan SSO, Anda masih dapat menerapkan izin tingkat baris. Ini dilakukan dengan meneruskan bidang bawaan UserID ke parameter kueri himpunan data. Sumber data harus menyimpan nilai Nama Prinsipal Pengguna (UPN) dengan cara yang dapat memfilter hasil kueri dengan benar.

Misalnya, pertimbangkan bahwa setiap tenaga penjualan disimpan sebagai baris dalam tabel Staf penjualan. Tabel ini memiliki kolom untuk UPN, dan juga wilayah penjualan tenaga penjualan. Pada waktu kueri, tabel difilter oleh UPN pengguna laporan, dan juga terkait dengan fakta penjualan menggunakan gabungan dalam. Dengan cara ini, kueri secara efektif memfilter baris fakta penjualan ke wilayah penjualan pengguna laporan.

Sumber data relasional

Umumnya, sumber data relasional sangat cocok untuk laporan gaya operasional, seperti faktur penjualan. Mereka juga cocok untuk laporan yang perlu mengambil himpunan data yang sangat besar (lebih dari 10.000 baris). Sumber data relasional juga dapat menentukan prosedur tersimpan, yang dapat dijalankan oleh himpunan data laporan. Prosedur tersimpan memberikan beberapa manfaat:

  • Parameterisasi
  • Enkapulasi logika pemrograman, memungkinkan persiapan data yang lebih kompleks (misalnya, tabel sementara, kursor, atau fungsi skalar yang ditentukan pengguna)
  • Peningkatan keberlanjutan, memungkinkan logika prosedur tersimpan diperbarui dengan mudah. Dalam beberapa kasus, hal ini dapat dilakukan tanpa perlu memodifikasi dan menerbitkan ulang laporan paginasi (pemberian nama kolom dan jenis data tetap tidak berubah).
  • Performa yang lebih baik, karena rencana eksekusinya di-cache untuk digunakan kembali
  • Penggunaan kembali prosedur tersimpan di beberapa laporan

Di Power BI Report Builder, Anda dapat menggunakan perancang kueri relasional untuk membuat pernyataan kueri secara grafis—tetapi hanya untuk sumber data Microsoft.

Sumber data analitik

Sumber data analitik—juga dikenal sebagai model data atau hanya model—sangat cocok untuk laporan operasional dan analitik, dan dapat memberikan hasil kueri ringkasan yang cepat bahkan melalui volume data yang sangat besar. Ukuran model dan KPI dapat merangkum aturan bisnis yang kompleks untuk mencapai ringkasan data. Namun, sumber data ini tidak cocok untuk laporan yang perlu mengambil data dalam volume yang sangat besar (lebih dari 10.000 baris).

Di Power BI Report Builder, Anda memiliki pilihan dua perancang kueri: Perancang kueri ANALYSIS Services DAX, dan perancang kueri Analysis Services MDX. Perancang ini dapat digunakan untuk sumber data model semantik Power BI (sebelumnya dikenal sebagai himpunan data), atau SQL Server Analysis Services atau model Azure Analysis Services—tabular atau multidaya.

Kami menyarankan agar Anda menggunakan perancang kueri DAX—menyediakannya sepenuhnya memenuhi kebutuhan kueri Anda. Jika model tersebut tidak menentukan pengukuran yang Anda butuhkan, Anda harus beralih ke mode kueri. Dalam mode ini, Anda dapat menyesuaikan pernyataan kueri dengan menambahkan ekspresi (untuk mencapai ringkasan).

Perancang kueri MDX mengharuskan model Anda menyertakan pengukuran. Perancang tersebut memiliki dua kemampuan yang tidak didukung oleh perancang kueri DAX. Secara khusus, hal ini memungkinkan Anda untuk:

  • Menentukan anggota terhitung tingkat kueri (dalam MDX).
  • Mengonfigurasikan wilayah data untuk meminta agregat server dalam grup non-detail. Jika laporan Anda perlu menyajikan ringkasan langkah-langkah semi-atau non-aditif (seperti perhitungan inteligensi waktu, atau jumlah yang berbeda), kemungkinan akan lebih efisien untuk menggunakan agregat server daripada mengambil baris detail tingkat rendah dan memiliki ringkasan komputasi laporan.

Ukuran hasil kueri

Secara umum, praktik terbaik adalah mengambil hanya data yang diperlukan oleh laporan Anda. Jadi, jangan mengambil kolom atau baris yang tidak diperlukan oleh laporan.

Untuk membatasi baris, Anda harus selalu menerapkan filter yang paling ketat, dan menentukan kueri agregat. Grup kueri agregat dan ringkas data sumber untuk mengambil hasil yang lebih tinggi. Misalnya, pertimbangkan bahwa laporan Anda perlu menyajikan ringkasan penjualan tenaga penjual. Alih-alih mengambil semua baris pesanan penjualan, buat kueri himpunan data yang mengelompokkan menurut tenaga penjual, dan meringkas penjualan untuk setiap grup.

Bidang berbasis ekspresi

Anda dapat memperluas himpunan data laporan dengan bidang berdasarkan ekspresi. Misalnya, jika himpunan data Anda menghasilkan nama depan dan nama belakang pelanggan, Anda mungkin menginginkan bidang yang menggabungkan kedua bidang tersebut untuk menghasilkan nama lengkap pelanggan. Untuk mencapai perhitungan ini, Anda memiliki dua opsi. Anda dapat:

  • Buat bidang terhitung, yang merupakan bidang himpunan data berdasarkan ekspresi.
  • Masukkan ekspresi langsung ke kueri himpunan data (menggunakan bahasa asli sumber data Anda), yang menghasilkan bidang himpunan data reguler.

Kami menyarankan opsi terakhir, bila memungkinkan. Ada dua alasan bagus mengapa menyuntikkan ekspresi langsung ke kueri himpunan data Anda lebih baik:

  • Ada kemungkinan sumber data Anda dioptimalkan untuk mengevaluasi ekspresi lebih efisien daripada Power BI (ini terutama kasus untuk database relasional).
  • Performa laporan ditingkatkan karena tidak perlu Power BI untuk mewujudkan bidang terhitung sebelum penyajian laporan. Bidang terhitung dapat memperpanjang waktu render laporan saat himpunan data mengambil sejumlah besar baris.

Nama bidang

Saat Anda membuat himpunan data, bidangnya secara otomatis dinamai sesuai dengan kolom kueri. Ada kemungkinan nama-nama ini tidak ramah atau intuitif. Ada kemungkinan juga bahwa nama kolom kueri sumber berisi karakter yang dilarang dalam pengidentifikasi objek Bahasa Definisi Laporan (RDL) (seperti spasi dan simbol). Dalam hal ini, karakter yang dilarang diganti dengan karakter garis bawah (_).

Kami menyarankan agar Anda terlebih dahulu memverifikasi bahwa semua nama bidang ramah, ringkas, namun masih bermakna. Jika tidak, kami sarankan Anda mengganti namanya sebelum memulai tata letak laporan. Ini karena bidang yang diganti namanya tidak menyobek perubahan ke ekspresi yang digunakan dalam tata letak laporan Anda. Jika Anda memutuskan untuk mengganti nama bidang setelah memulai tata letak laporan, Anda harus menemukan dan memperbarui semua ekspresi yang rusak.

Filter vs parameter

Kemungkinan desain laporan paginasi Anda akan memiliki parameter laporan. Parameter laporan umumnya digunakan untuk meminta pengguna laporan Anda memfilter laporan. Sebagai penulis laporan paginasi, Anda memiliki dua cara untuk mencapai pemfilteran laporan. Anda dapat memetakan parameter laporan ke:

  • Filter himpunan data, dalam hal ini nilai parameter laporan digunakan untuk memfilter data yang sudah diambil oleh himpunan data.
  • Parameter himpunan data, dalam hal ini nilai parameter laporan disuntikkan ke kueri asli yang dikirim ke sumber data.

Catatan

Semua himpunan data laporan di-cache per sesi hingga 10 menit di luar penggunaan terakhirnya. Himpunan data dapat digunakan kembali saat mengirimkan nilai parameter baru (pemfilteran), menyajikan laporan dalam format yang berbeda, atau berinteraksi dengan desain laporan dalam beberapa cara, seperti beralih visibilitas, atau pengurutan.

Pertimbangkan, kemudian, contoh laporan penjualan yang memiliki satu parameter laporan untuk memfilter laporan menurut satu tahun. Himpunan data mengambil penjualan selama bertahun-tahun. Hal ini dilakukan karena parameter laporan memetakan ke filter himpunan data. Laporan menampilkan data untuk tahun yang diminta, yang merupakan subset data himpunan data. Saat pengguna laporan mengubah parameter laporan ke tahun yang berbeda—lalu melihat laporan—Power BI tidak perlu mengambil data sumber apa pun. Sebaliknya, ini menerapkan filter yang berbeda ke himpunan data yang sudah di-cache. Setelah himpunan data di-cache, pemfilteran bisa sangat cepat.

Sekarang, pertimbangkan desain laporan yang berbeda. Kali ini desain laporan memetakan parameter laporan tahun penjualan ke parameter himpunan data. Dengan cara ini, Power BI menyuntikkan nilai tahun ke dalam kueri asli, dan himpunan data mengambil data hanya untuk tahun tersebut. Setiap kali pengguna laporan mengubah nilai parameter laporan tahun—lalu melihat laporan—himpunan data mengambil hasil kueri baru hanya untuk tahun tersebut.

Kedua pendekatan desain dapat memfilter data laporan, dan kedua desain dapat berfungsi dengan baik untuk desain laporan Anda. Namun, desain yang dioptimalkan akan bergantung pada volume data yang diantisipasi, volatilitas data, dan perilaku yang diantisipasi pengguna laporan Anda.

Sebaiknya pemfilteran himpunan data saat Anda mengantisipasi subset baris himpunan data yang berbeda akan digunakan kembali berkali-kali (sehingga menghemat waktu penyajian karena data baru tidak perlu diambil). Dalam skenario ini, Anda mengenali bahwa biaya pengambilan himpunan data yang lebih besar dapat diperdagangkan terhadap berapa kali himpunan data akan digunakan kembali. Jadi, sangat membantu untuk kueri yang memakan waktu untuk dihasilkan. Tetapi berhati-hatilah—penembolokan himpunan data besar berdasarkan per pengguna dapat berdampak negatif pada performa, dan throughput kapasitas.

Kami merekomendasikan parameterisasi himpunan data saat Anda mengantisipasi tidak mungkin subset baris himpunan data yang berbeda akan diminta—atau, ketika jumlah baris himpunan data yang akan difilter kemungkinan sangat besar (dan tidak efisien untuk cache). Pendekatan desain ini juga berfungsi dengan baik, ketika penyimpanan data Anda volatil. Dalam hal ini, setiap perubahan nilai parameter laporan akan menghasilkan pengambilan data terbaru.

Sumber data non-asli

Jika Anda perlu mengembangkan laporan yang dipaginasi berdasarkan sumber data yang tidak didukung secara asli oleh laporan yang dipaginasi, Anda harus terlebih dahulu mengembangkan model data di Power BI Desktop. Dengan begitu, Anda bisa menyambungkan ke ratusan sumber data yang didukung oleh Power BI. Setelah diterbitkan ke layanan Power BI, Anda kemudian dapat mengembangkan laporan penomoran halaman yang tersambung ke model semantik Power BI.

Integrasi data

Jika Anda perlu menggabungkan data dari beberapa sumber data, Anda memiliki dua opsi:

  • Menggabungkan himpunan data laporan: Jika sumber data didukung secara alamiah oleh laporan paginasi, Anda dapat mempertimbangkan untuk membuat bidang terhitung yang menggunakan fungsi Lookup atau LookupSet Report Builder.
  • Mengembangkan model Power BI Desktop: Kemungkinan lebih efisien, namun, Anda mengembangkan model data dalam Power BI Desktop. Anda dapat menggunakan Power Query untuk menggabungkan kueri berdasarkan sumber data yang didukung. Setelah diterbitkan ke layanan Power BI, Anda kemudian dapat mengembangkan laporan penomoran halaman yang tersambung ke model semantik Power BI.

Latensi jaringan

Latensi jaringan dapat memengaruhi performa laporan dengan meningkatkan waktu yang diperlukan agar permintaan mencapai layanan Power BI, dan agar respons dikirimkan. Penyewa di Power BI ditetapkan ke wilayah tertentu.

Tip

Untuk menentukan lokasi penyewa Anda, lihat Di mana penyewa Power BI saya berada?

Saat pengguna dari penyewa mengakses layanan Power BI, permintaan mereka selalu dirutekan ke wilayah ini. Saat permintaan mencapai layanan Power BI, layanan kemudian dapat mengirim permintaan tambahan—misalnya, ke sumber data yang mendasar, atau gateway data—yang juga merupakan subjek latensi jaringan. Secara umum, untuk meminimalkan dampak latensi jaringan, berusaha untuk menjaga sumber data, gateway, dan kapasitas Power BI Anda sedekat mungkin. Sebaiknya, mereka berada dalam wilayah yang sama. Jika latensi jaringan adalah masalah, coba cari gateway dan sumber data yang lebih dekat dengan kapasitas Power BI Anda dengan menempatkannya di dalam komputer virtual yang dihosting cloud.

Jenis data kompleks SQL Server

Karena SQL Server adalah sumber data lokal, Power BI harus tersambung melalui gateway. Namun, gateway tidak mendukung pengambilan data untuk jenis data yang kompleks. Jenis data kompleks mencakup jenis bawaan seperti jenis data spasial GEOMETRI dan GEOGRAFI, dan hierarkiid. Mereka juga dapat menyertakan jenis yang ditentukan pengguna yang diimplementasikan melalui kelas perakitan dalam runtime bahasa umum (CLR) Microsoft.NET Framework.

Merencanakan data spasial dan analitik dalam visualisasi peta memerlukan data spasial SQL Server. Oleh karena itu, tidak mungkin untuk bekerja dengan visualisasi peta ketika SQL Server adalah sumber data Anda. Agar jelas, ini akan berfungsi jika sumber data Anda Azure SQL Database karena Power BI tidak tersambung melalui gateway.

Gambar dapat digunakan untuk menambahkan logo atau gambar ke tata letak laporan Anda. Saat gambar terkait dengan baris yang diambil oleh himpunan data laporan, Anda memiliki dua opsi:

  • Ada kemungkinan bahwa data gambar juga dapat diambil dari sumber data Anda (jika sudah disimpan dalam tabel).
  • Saat gambar disimpan di server web, Anda dapat menggunakan ekspresi dinamis untuk membuat jalur URL gambar.

Untuk informasi dan saran selengkapnya, lihat Panduan gambar untuk laporan paginasi.

Pengambilan data redundan

Ada kemungkinan laporan Anda mengambil data yang berlebihan. Ini bisa terjadi saat Anda menghapus bidang kueri himpunan data, atau laporan memiliki himpunan data yang tidak digunakan. Hindari situasi ini, karena mengakibatkan beban yang tidak perlu pada sumber data, jaringan, dan sumber daya kapasitas Power BI Anda.

Bidang kueri yang dihapus

Pada halaman Bidang dari jendela Properti Himpunan Data, dimungkinkan untuk menghapus bidang kueri himpunan data (bidang kueri memetakan ke kolom yang diambil oleh kueri himpunan data). Namun, Report Builder tidak menghapus kolom terkait dari kueri himpunan data.

Jika Anda perlu menghapus bidang kueri dari himpunan data Anda, kami sarankan Anda menghapus kolom terkait dari kueri himpunan data. Report Builder akan secara otomatis menghapus bidang kueri yang berlebihan. Jika Anda kebetulan menghapus bidang kueri, pastikan juga untuk mengubah pernyataan kueri himpunan data untuk menghapus kolom.

Himpunan data yang tidak digunakan

Saat laporan dijalankan, semua himpunan data dievaluasi—meskipun tidak terikat untuk melaporkan objek. Untuk alasan ini, pastikan untuk menghapus himpunan data pengujian atau pengembangan sebelum Anda menerbitkan laporan.

Untuk informasi selengkapnya tentang dokumen resmi ini, lihat sumber daya berikut: