Tutorial: Mengekstrak dan menghitung pengukuran Power BI dari notebook Jupyter
Tutorial ini menggambarkan cara menggunakan SemPy (pratinjau) untuk menghitung pengukuran dalam model semantik (himpunan data Power BI).
Dalam tutorial ini, Anda akan mempelajari cara:
- Mengevaluasi pengukuran Power BI secara terprogram melalui antarmuka Python dari pustaka Python tautan semantik (SemPy).
- Kenali komponen SemPy yang membantu menjenjang kesenjangan antara AI dan BI. Komponen-komponen ini meliputi:
- FabricDataFrame - struktur seperti panda yang ditingkatkan dengan informasi semantik tambahan.
- Fungsi berguna yang memungkinkan Anda mengambil model semantik, termasuk data mentah, konfigurasi, dan pengukuran.
Prasyarat
Dapatkan langganan Microsoft Fabric. Atau, daftar untuk uji coba Microsoft Fabric gratis.
Masuk ke Microsoft Fabric.
Gunakan pengalih pengalaman di sisi kiri bawah halaman beranda Anda untuk beralih ke Fabric.
Pilih Ruang Kerja dari panel navigasi kiri untuk menemukan dan memilih ruang kerja Anda. Ruang kerja ini menjadi ruang kerja Anda saat ini.
Unduh model semantik PBIX.pbix Sampel Analisis Ritel dan unggah ke ruang kerja Anda.
Ikuti di buku catatan
Notebook powerbi_measures_tutorial.ipynb menyertai tutorial ini.
Untuk membuka buku catatan yang menyertai tutorial ini, ikuti instruksi di Menyiapkan sistem Anda untuk tutorial ilmu data mengimpor buku catatan ke ruang kerja Anda.
Jika Anda lebih suka menyalin dan menempelkan kode dari halaman ini, Anda bisa membuat buku catatan baru.
Pastikan untuk melampirkan lakehouse ke buku catatan sebelum Anda mulai menjalankan kode.
Menyiapkan buku catatan
Di bagian ini, Anda menyiapkan lingkungan notebook dengan modul dan data yang diperlukan.
Instal
SemPy
dari PyPI menggunakan%pip
kemampuan penginstalan sebaris dalam notebook:%pip install semantic-link
Lakukan impor modul yang diperlukan yang akan Anda butuhkan nanti:
import sempy.fabric as fabric
Anda bisa menyambungkan ke ruang kerja Power BI. Cantumkan model semantik di ruang kerja:
fabric.list_datasets()
Muat model semantik. Dalam tutorial ini, Anda menggunakan model semantik PBIX Sampel Analisis Ritel:
dataset = "Retail Analysis Sample PBIX"
Mencantumkan pengukuran ruang kerja
Mencantumkan pengukuran dalam model semantik, menggunakan fungsi SemPy list_measures
sebagai berikut:
fabric.list_measures(dataset)
Mengevaluasi langkah-langkah
Di bagian ini, Anda mengevaluasi langkah-langkah dengan berbagai cara, menggunakan fungsi SemPy evaluate_measure
.
Mengevaluasi ukuran mentah
Dalam kode berikut, gunakan fungsi SemPy evaluate_measure
untuk menghitung ukuran yang telah dikonfigurasi sebelumnya yang disebut "Ukuran Area Penjualan Rata-Rata". Anda dapat melihat rumus yang mendasar untuk pengukuran ini dalam output sel sebelumnya.
fabric.evaluate_measure(dataset, measure="Average Selling Area Size")
Mengevaluasi ukuran dengan groupby_columns
Anda dapat mengelompokkan output pengukuran berdasarkan kolom tertentu dengan menyediakan parameter groupby_columns
tambahan :
fabric.evaluate_measure(dataset, measure="Average Selling Area Size", groupby_columns=["Store[Chain]", "Store[DistrictName]"])
Dalam kode sebelumnya, Anda dikelompokkan menurut kolom Chain
dan DistrictName
Store
tabel dalam model semantik.
Mengevaluasi pengukuran dengan filter
Anda juga dapat menggunakan filters
parameter untuk menentukan nilai tertentu yang dapat dimuat hasilnya untuk kolom tertentu:
fabric.evaluate_measure(dataset, \
measure="Total Units Last Year", \
groupby_columns=["Store[Territory]"], \
filters={"Store[Territory]": ["PA", "TN", "VA"], "Store[Chain]": ["Lindseys"]})
Dalam kode sebelumnya, Store
adalah nama tabel, Territory
adalah nama kolom, dan PA
merupakan salah satu nilai yang diizinkan filter.
Mengevaluasi pengukuran di beberapa tabel
Anda dapat mengelompokkan pengukuran menurut kolom yang mencakup beberapa tabel dalam model semantik.
fabric.evaluate_measure(dataset, measure="Total Units Last Year", groupby_columns=["Store[Territory]", "Sales[ItemID]"])
Mengevaluasi beberapa langkah
Fungsi evaluate_measure
ini memungkinkan Anda untuk menyediakan pengidentifikasi beberapa pengukuran dan menghasilkan nilai terhitung dalam DataFrame yang sama:
fabric.evaluate_measure(dataset, measure=["Average Selling Area Size", "Total Stores"], groupby_columns=["Store[Chain]", "Store[DistrictName]"])
Menggunakan konektor XmlA Power BI
Klien model semantik default didukung oleh REST API Power BI. Jika ada masalah dalam menjalankan kueri dengan klien ini, dimungkinkan untuk mengalihkan backend ke antarmuka XMLA Power BI menggunakan use_xmla=True
. Parameter SemPy tetap sama untuk perhitungan pengukuran dengan XMLA.
fabric.evaluate_measure(dataset, \
measure=["Average Selling Area Size", "Total Stores"], \
groupby_columns=["Store[Chain]", "Store[DistrictName]"], \
filters={"Store[Territory]": ["PA", "TN", "VA"], "Store[Chain]": ["Lindseys"]}, \
use_xmla=True)
Konten terkait
Lihat tutorial lain untuk tautan semantik / SemPy:
- Tutorial: Membersihkan data dengan dependensi fungsi
- Tutorial: Menganalisis dependensi fungsi dalam contoh model semantik
- Tutorial: Menemukan hubungan dalam model semantik, menggunakan tautan semantik
- Tutorial
: Menemukan hubungan dalam himpunan data Synthea , menggunakan tautan semantik - Tutorial : Memvalidasi data menggunakan SemPy dan Great Expectations (GX)