Bagikan melalui


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

  • 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.

Menyiapkan buku catatan

Di bagian ini, Anda menyiapkan lingkungan notebook dengan modul dan data yang diperlukan.

  1. Instal SemPy dari PyPI menggunakan %pip kemampuan penginstalan sebaris dalam notebook:

    %pip install semantic-link
    
  2. Lakukan impor modul yang diperlukan yang akan Anda butuhkan nanti:

    import sempy.fabric as fabric
    
  3. Anda bisa menyambungkan ke ruang kerja Power BI. Cantumkan model semantik di ruang kerja:

    fabric.list_datasets()
    
  4. 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_columnstambahan :

fabric.evaluate_measure(dataset, measure="Average Selling Area Size", groupby_columns=["Store[Chain]", "Store[DistrictName]"])

Dalam kode sebelumnya, Anda dikelompokkan menurut kolom Chain dan DistrictNameStore 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)

Lihat tutorial lain untuk tautan semantik / SemPy: