Bagikan melalui


Memvisualisasikan data Azure Cosmos DB menggunakan Power BI

BERLAKU UNTUK: NoSQL

Artikel ini menjelaskan langkah-langkah yang diperlukan untuk menghubungkan data Azure Cosmos DB ke Power BI Desktop.

Anda dapat menghubungkan ke Azure Cosmos DB dari desktop Power BI dengan menggunakan salah satu opsi berikut:

  • Gunakan Mirroring di Microsoft Fabric untuk mereplikasi data Azure Cosmos DB ke Fabric OneLake. Setiap perubahan pada database Anda secara otomatis disinkronkan ke Fabric OneLake hampir secara real-time, tanpa memengaruhi performa database sumber Anda atau menggunakan Unit Sumber Daya (RU).

    Laporan Power BI kemudian dapat mengakses data langsung dari OneLake menggunakan mode DirectLake. Dengan fitur Copilot yang disempurnakan di Power BI dalam Fabric, Anda dapat memanfaatkan AI generatif untuk mendapatkan wawasan bisnis utama.

  • Gunakan Azure Synapse Link untuk membuat laporan Power BI tanpa dampak performa atau biaya pada beban kerja transaksional Anda, dan tanpa alur ETL.

    Anda dapat menggunakan mode DirectQuery atau impor. Dengan DirectQuery, Anda dapat membuat dasbor/laporan menggunakan data langsung dari akun Azure Cosmos DB Anda, tanpa mengimpor atau menyalin data ke Power BI.

  • Hubungkan Power BI Desktop ke akun Azure Cosmos DB dengan konektor Azure Cosmos DB untuk Power BI. Opsi ini hanya tersedia dalam mode impor dan akan menggunakan RU yang dialokasikan untuk beban kerja transaksional Anda.

Catatan

Laporan yang dibuat di Power BI Desktop bisa diterbitkan ke PowerBI.com. Ekstraksi langsung data Azure Cosmos DB tidak dapat dilakukan dari PowerBI.com.

Prasyarat

Sebelum mengikuti instruksi dalam tutorial Power BI ini, pastikan Anda memiliki akses ke sumber daya berikut ini:

Untuk membagikan laporan di PowerBI.com, Anda harus memiliki akun di PowerBI.com. Untuk mempelajari selengkapnya Power BI dan Power BI Pro, lihat https://powerbi.microsoft.com/pricing.

Mari kita mulai

Membuat laporan BI menggunakan Mirroring di Microsoft Fabric

Anda dapat mengaktifkan pencerminan pada kontainer Azure Cosmos DB yang ada dan membuat laporan/dasbor BI pada data ini, mendekati real-time. Untuk instruksi memulai fabric dan pencerminan, kunjungi tutorial pencerminan untuk Azure Cosmos DB.

Anda dapat mengaktifkan Azure Synapse Link pada kontainer Azure Cosmos DB yang ada dan membuat laporan BI pada data ini, hanya dengan beberapa klik menggunakan portal Azure Cosmos DB. Power BI akan tersambung ke Azure Cosmos DB menggunakan mode Direct Query, memungkinkan Anda untuk mengkueri data Azure Cosmos DB langsung Anda, tanpa memengaruhi beban kerja transaksional Anda.

Untuk membuat laporan/dasbor Power BI:

  1. Masuk ke portal Azure dan navigasi ke akun Azure Cosmos DB Anda.

  2. Dari bagian Integrasi, buka panel Power BI lalu pilih Mulai.

    Catatan

    Saat ini, opsi ini hanya tersedia untuk API untuk akun NoSQL. Anda dapat membuat tampilan T-SQL langsung di kumpulan SQL tanpa server Synapse dan membangun dasbor BI untuk Azure Cosmos DB untuk MongoDB. Lihat "Menggunakan Power BI dan kumpulan SQL Synapse tanpa server untuk menganalisis data Azure Cosmos DB dengan Synapse" untuk informasi selengkapnya.

  3. Dari tab Aktifkan Azure Synapse Link, Anda dapat mengaktifkan Synapse Link di akun Anda dari bagian Aktifkan link Azure Synapse untuk akun ini. Jika Synapse Link sudah diaktifkan untuk akun Anda, Anda tidak akan melihat tab ini. Langkah ini adalah prasyarat untuk mulai mengaktifkan Synapse Link pada kontainer Anda.

    Catatan

    Mengaktifkan Azure Synapse Link memiliki implikasi biaya. Lihat bagian harga Azure Synapse Link untuk detail selengkapnya.

  4. Berikutnya dari bagian Aktifkan Azure Synapse Link untuk kontainer Anda, pilih kontainer yang diperlukan untuk mengaktifkan Synapse Link.

    • Jika telah mengaktifkan Synapse Link pada beberapa kontainer, Anda akan melihat kotak centang di samping nama kontainer yang dipilih. Jika diperlukan, Anda dapat membatalkan pilihan berdasarkan data yang ingin divisualisasikan di Power BI.

    • Jika Synapse Link tidak diaktifkan, Anda dapat mengaktifkannya di kontainer yang ada.

      Jika mengaktifkan Synapse Link sedang berlangsung pada salah satu kontainer, data dari kontainer tersebut tidak akan disertakan. Nanti Anda harus kembali ke tab ini dan mengimpor data ketika kontainer diaktifkan.

    Kemajuan Synapse Link yang diaktifkan pada kontainer yang sudah ada.

  5. Bergantung pada jumlah data di kontainer Anda, mungkin perlu beberapa saat untuk mengaktifkan Synapse Link. Untuk mempelajari selengkapnya, lihat artikel mengaktifkan Synapse Link di kontainer yang sudah ada.

    Anda dapat memeriksa kemajuannya di portal seperti yang ditunjukkan di layar berikut ini. Kontainer diaktifkan dengan Synapse Link ketika kemajuan mencapai 100%.

    Synapse Link berhasil diaktifkan pada kontainer yang dipilih.

  6. Dari tab Pilih ruang kerja, pilih ruang kerja Azure Synapse Analytics dan pilih Berikutnya. Langkah ini akan secara otomatis membuat tampilan T-SQL di Synapse Analytics, untuk kontainer yang dipilih sebelumnya. Untuk informasi selengkapnya tentang tampilan T-SQL yang diperlukan untuk menyambungkan Azure Cosmos DB Anda ke Power BI, lihat artikel Menyiapkan tampilan .

    Catatan

    Kepemilikan kontainer Azure Cosmos DB Anda akan direpresentasikan sebagai kolom dalam tampilan T-SQL, termasuk data JSON berlapis dalam. Ini adalah awal yang cepat untuk dasbor BI Anda. Tampilan ini akan tersedia di ruang kerja/database Synapse; Anda juga dapat menggunakan tampilan yang sama persis ini di Ruang Kerja Synapse untuk eksplorasi data, ilmu data, rekayasa data, dll. Perhatikan bahwa skenario lanjutan mungkin memerlukan tampilan yang lebih kompleks atau penyempurnaan tampilan ini, untuk performa yang lebih baik. Untuk informasi selengkapnya. Lihat artikel praktik terbaik untuk Synapse Link saat menggunakan kumpulan SQL tanpa server Synapse.

  7. Anda dapat memilih ruang kerja yang sudah ada atau membuat baru. Untuk memilih ruang kerja yang sudah ada, sediakan detail Langganan, Ruang Kerja, dan Database. portal Azure akan menggunakan kredensial Microsoft Entra Anda untuk terhubung secara otomatis ke ruang kerja Synapse Anda dan membuat tampilan T-SQL. Pastikan Anda memiliki izin "Administrator Synapse" untuk ruang kerja ini.

    Menyambungkan ke ruang kerja Synapse Link dan membuat tampilan.

  8. Berikutnya, pilih Unduh .pbids untuk mengunduh file sumber data Power BI Anda. Buka file yang telah diunduh. File ini berisi informasi koneksi yang diperlukan dan membuka desktop Power BI.

    Mengunduh file desktop Power BI dalam format .pbids.

  9. Anda sekarang dapat menghubungkan ke data Azure Cosmos DB dari desktop Power BI. Daftar tampilan T-SQL yang terkait dengan data dalam setiap kontainer ditampilkan.

    Misalnya, layar berikut ini memperlihatkan data kendaraan. Anda dapat memuat data ini untuk analisis lebih lanjut atau mengubahnya sebelum pemuatan.

    Tampilan T-SQL yang terkait dengan data di setiap kontainer.

  10. Anda sekarang dapat mulai membuat laporan menggunakan data analitis Azure Cosmos DB. Setiap perubahan pada data Anda akan tercermin dalam laporan, segera setelah data direplikasi ke penyimpanan analitis, yang biasanya terjadi dalam beberapa menit.

Membuat laporan BI menggunakan konektor Power BI

Catatan

Menyambungkan ke Azure Cosmos DB dengan konektor Power BI saat ini didukung untuk Azure Cosmos DB untuk NoSQL dan API hanya untuk akun Gremlin.

  1. Jalankan Power BI Desktop.

  2. Anda bisa Get Data, lihat Sumber Terbaru, atau Buka Laporan Lain langsung dari layar selamat datang. Pilih "X" di sudut kanan atas untuk menutup layar. Tampilan Laporan Power BI Desktop ditampilkan.

    Tampilan Laporan Power BI Desktop - Konektor Power BI

  3. Pilih pita Beranda, lalu klik Get Data. Jendela Dapatkan Data akan muncul.

  4. Klik Azure, pilih Azure Cosmos DB (Beta), lalu klik Connect.

    Dapatkan Data Power BI Desktop - Konektor Power BI

  5. Pada halaman Konektor Pratinjau, klik Lanjutkan. Jendela Azure Cosmos DB muncul.

  6. Tentukan URL titik akhir akun Azure Cosmos DB yang ingin Anda ambil datanya seperti yang diperlihatkan di bawah ini, lalu klik OK. Untuk menggunakan akun Anda sendiri, Anda dapat mengambil URL dari kotak URI di bilah Kunci portal Microsoft Azure. Secara opsional Anda dapat memberikan nama database, nama koleksi, atau menggunakan navigator untuk memilih database dan koleksi untuk mengidentifikasi dari mana data berasal.

  7. Jika Anda menyambungkan ke titik akhir ini untuk pertama kalinya, Anda akan dimintai kunci akun. Untuk akun Anda sendiri, ambil kunci dari kotak Kunci Utama di bilah Kunci Baca-saja dari portal Microsoft Azure. Masukkan tombol yang sesuai lalu klik Sambungkan.

    Kami menyarankan agar Anda menggunakan kunci baca-saja saat membuat laporan. Ini mencegah paparan yang tidak perlu dari kunci utama terhadap potensi risiko keamanan. Kunci baca-saja tersedia dari bilah Kunci portal Microsoft Azure.

  8. Saat akun berhasil tersambung, panel Navigator muncul. Navigator memperlihatkan daftar database di bawah akun.

  9. Klik dan luaskan database tempat data laporan berasal. Sekarang, pilih koleksi yang berisi data yang akan diambil.

    Panel Pratinjau memperlihatkan daftar item Rekam. Dokumen direpresentasikan sebagai jenis Catatan di Power BI. Demikian pula, blok JSON bertumpuk di dalam dokumen juga merupakan Rekaman. Untuk menampilkan dokumen properti sebagai kolom, klik tombol abu-abu dengan dua panah berlawanan arah yang melambangkan perluasan rekaman. Terletak di sebelah kanan nama kontainer, di panel pratinjau yang sama.

  10. Tampilan Laporan Power BI Desktop adalah tempat Anda bisa mulai membuat laporan untuk memvisualisasikan data. Anda dapat membuat laporan dengan menyeret dan menjatuhkan bidang ke dalam kanvasLaporan.

  11. Ada dua cara untuk merefresh data: ad hoc dan terjadwal. Cukup klik Refresh Sekarang untuk merefresh data. Periksa dokumentasi Power BI untuk informasi selengkapnya tentang opsi refresh terjadwal.

Masalah dan batasan yang diketahui

  • Untuk kontainer Cosmos DB yang dipartisi, kueri SQL dengan fungsi agregat diteruskan ke Cosmos DB jika kueri juga berisi filter (klausa WHERE) pada Kunci Partisi. Jika kueri agregat tidak berisi filter pada Kunci Partisi, agregasi dilakukan oleh konektor.

  • Konektor tidak meneruskan fungsi agregat jika dipanggil setelah TOP atau LIMIT diterapkan. Cosmos DB memproses operasi TOP di akhir saat memproses kueri. Misalnya, dalam kueri berikut, TOP diterapkan dalam subkueri, sementara fungsi agregat diterapkan di atas kumpulan hasil tersebut:

    PILIH COUNT(1) FROM (SELECT TOP 4 * FROM EMP) E

  • Jika DISTINCT disediakan dalam fungsi agregat, konektor tidak meneruskan fungsi agregat ke Cosmos DB jika klausul DISTINCT disediakan dalam fungsi agregat. Saat ada dalam fungsi agregat, DISTINCT tidak didukung oleh Cosmos DB SQL API.

  • Untuk fungsi agregat SUM, Cosmos DB mengembalikan tidak terdefinisi sebagai tataan hasil jika salah satu argumen dalam SUM adalah string, boolean, atau null. Namun, jika ada nilai null, konektor meneruskan kueri ke Cosmos DB sewaktu-waktu meminta sumber data untuk mengganti nilai null dengan nol sebagai bagian dari perhitungan SUM.

  • Untuk fungsi agregat AVG, Cosmos DB mengembalikan tidak terdefinisi sebagai tataan hasil jika salah satu argumen dalam SUM adalah string, boolean, atau null. Konektor mengekspos properti koneksi untuk menonaktifkan meneruskan fungsi agregat AVG ke Cosmos DB jika perilaku Cosmos DB default ini perlu ditimpa. Ketika passdown AVG dinonaktifkan, itu tidak diteruskan ke Cosmos DB, dan konektor menangani melakukan operasi agregasi AVG itu sendiri. Untuk informasi selengkapnya, buka "Aktifkan PASSDOWN fungsi AVERAGE" di Opsi tingkat lanjut.

  • Kontainer Azure Cosmos DB dengan kunci partisi besar saat ini tidak didukung di konektor.

  • Passdown agregasi dinonaktifkan untuk sintaks berikut karena keterbatasan server:

    • Saat kueri tidak memfilter kunci partisi atau saat filter kunci partisi menggunakan operator OR dengan predikat lain di tingkat atas dalam klausa WHERE.

    • Ketika kueri memiliki satu atau beberapa kunci partisi muncul dalam klausa IS NOT NULL dalam klausa WHERE.

  • Konektor V2 tidak mendukung jenis data kompleks seperti array, objek, dan struktur hierarkis. Kami merekomendasikan fitur [Fabric Mirroring untuk Azure Cosmos DB](/articles/cosmos-db/analytics-and-business-intelligence-overview.md untuk skenario tersebut.

  • Konektor V2 menggunakan pengambilan sampel 1.000 dokumen pertama untuk menghasilkan skema yang disimpulkan. Tidak disarankan untuk skenario evolusi skema ketika hanya sebagian dokumen yang diperbarui. Sebagai contoh, properti yang baru ditambahkan ke satu dokumen dalam kontainer dengan ribuan dokumen mungkin tidak disertakan dalam skema yang disimpulkan. Kami merekomendasikan Fabric Mirroring untuk fitur Azure Cosmos DB untuk skenario tersebut.

  • Saat ini konektor V2 tidak mendukung nilai non-string dalam properti objek.

  • Passdown filter dinonaktifkan untuk sintaks berikut karena keterbatasan server:

  • Saat kueri yang berisi satu atau beberapa kolom agregat direferensikan dalam klausa WHERE.

Langkah berikutnya