Konektivitas Power BI dengan tautan semantik
Konektivitas Power BI berada di inti tautan semantik di Microsoft Fabric. Artikel ini menjelaskan cara tautan semantik menyediakan konektivitas ke model semantik untuk pengguna panda Python dan ekosistem Apache Spark.
Model semantik biasanya mewakili standar data tinggi yang merupakan hasil dari pemrosesan dan penyempurnaan data hulu. Analis bisnis dapat:
- Mengodekan pengetahuan domain dan logika bisnis ke dalam pengukuran Power BI.
- Buat laporan Power BI dengan menggunakan model semantik.
- Gunakan laporan ini untuk mendorong keputusan bisnis.
Ketika ilmuwan data yang bekerja dengan model semantik yang sama mencoba menduplikasi logika bisnis di lingkungan kode atau bahasa yang berbeda, kesalahan kritis dapat diakibatkan. Tautan semantik menjembatani kesenjangan antara model semantik dan Ilmu Data Synapse dalam pengalaman Microsoft Fabric untuk memberikan cara bagi analis bisnis dan ilmuwan data untuk berkolaborasi dengan mulus dan mengurangi ketidakcocokan data.
Tautan semantik menawarkan konektivitas ke:
- Ekosistem panda Python melalui pustaka SemPy Python.
- Model semantik melalui konektor asli Spark yang mendukung PySpark, Spark SQL, R, dan Scala.
Konektivitas data melalui pustaka SemPy Python untuk pengguna panda
Pustaka SemPy Python adalah bagian dari fitur tautan semantik dan melayani pengguna panda. Fungsionalitas SemPy mencakup pengambilan data dari tabel, komputasi pengukuran, dan eksekusi kueri dan metadata Data Analysis Expressions (DAX).
Untuk Spark 3.4 ke atas, tautan semantik tersedia dalam runtime default saat menggunakan Fabric, dan tidak perlu menginstalnya.
Untuk Spark 3.3 atau di bawahnya, atau untuk memperbarui ke versi terbaru tautan semantik, jalankan perintah berikut:
%pip install -U semantic-link
SemPy juga memperluas panda DataFrames dengan metadata tambahan yang disebarkan dari sumber data Power BI. Metadata ini mencakup:
- Kategori data Power BI:
- Geografis: Alamat, tempat, kota
- URL: URL Web, URL gambar
- Kode batang
- Hubungan antar tabel
- Hirarki
Konektivitas data melalui konektor asli Spark tautan semantik
Konektor asli Spark tautan semantik memungkinkan pengguna Spark mengakses tabel dan pengukuran Power BI. Konektornya agnostik bahasa dan mendukung PySpark, Spark SQL, R, dan Scala.
Untuk menggunakan konektor asli Spark, Anda mewakili model semantik sebagai namespace Spark dan mengekspos tabel Power BI secara transparan sebagai tabel Spark.
Perintah berikut mengonfigurasi Spark untuk menggunakan konektor asli Power BI Spark untuk Spark SQL:
spark.conf.set("spark.sql.catalog.pbi", "com.microsoft.azure.synapse.ml.powerbi.PowerBICatalog")
# Optionally, configure the workspace using its ID
# Resolve workspace name to ID using fabric.resolve_workspace_id("My workspace")
# Replace 00000000-0000-0000-0000-000000000000 with your own workspace ID
# spark.conf.set("spark.sql.catalog.pbi.workspace, "00000000-0000-0000-0000-000000000000")
Perintah berikut mencantumkan semua tabel dalam model semantik yang disebut Sales Dataset
:
%%sql
SHOW TABLES FROM pbi.`Sales Dataset`
Perintah berikut menampilkan data dari Customer
tabel dalam model Sales Dataset
semantik :
%%sql
SELECT * FROM pbi.`Sales Dataset`.Customer
Langkah-langkah Power BI dapat diakses melalui tabel virtual _Metrics
untuk menjenjang Spark SQL relasional dengan Power BI multidaya. Dalam contoh berikut, Total Revenue
dan Revenue Budget
merupakan ukuran yang ditentukan dalam Sales Dataset
model semantik, dan kolom lainnya adalah dimensi. Fungsi agregasi seperti AVG
diabaikan untuk langkah-langkah dan hanya ada untuk memberikan konsistensi dengan SQL.
Konektor mendukung pendorongan predikat komputasi seperti Customer[State] in ('CA', 'WA')
dari ekspresi Spark ke mesin Power BI untuk mengaktifkan penggunaan mesin yang dioptimalkan Power BI.
SELECT
`Customer[Country/Region]`,
`Industry[Industry]`,
AVG(`Total Revenue`),
AVG(`Revenue Budget`)
FROM
pbi.`Sales Dataset`.`_Metrics`
WHERE
`Customer[State]` in ('CA', 'WA')
GROUP BY
`Customer[Country/Region]`,
`Industry[Industry]`
Augmentasi data dengan pengukuran Power BI
Operasi ini add_measure
adalah fitur kuat dari tautan semantik yang memungkinkan Anda menambah data dengan langkah-langkah dari model semantik. Operasi ini hanya tersedia di pustaka SemPy Python dan tidak didukung di konektor asli Spark. Untuk informasi selengkapnya tentang metode ini add_measure
, lihat add_measure dalam FabricDataFrame
dokumentasi kelas.
Untuk menggunakan pustaka SemPy Python, instal di kernel buku catatan Anda dengan menjalankan kode berikut di sel buku catatan:
# %pip and import only needs to be done once per notebook
%pip install semantic-link
from sempy.fabric import FabricDataFrame
Contoh kode berikut mengasumsikan Anda memiliki FabricDataFrame yang ada dengan data yang ingin Anda perbesar dengan pengukuran dari model semantik.
df = FabricDataFrame({
"Sales Agent": ["Agent 1", "Agent 1", "Agent 2"],
"Customer[Country/Region]": ["US", "GB", "US"],
"Industry[Industry]": ["Services", "CPG", "Manufacturing"],
}
)
joined_df = df.add_measure(["Total Revenue", "Total Budget"], dataset="Sales Dataset")
Metode melakukan add_measure
langkah-langkah berikut:
- Menyelesaikan nama kolom dalam dimensi FabricDataFrame ke Power BI. Operasi mengabaikan nama kolom apa pun yang tidak dapat diselesaikan dalam model semantik yang diberikan. Untuk informasi selengkapnya, lihat sintaks DAX yang didukung.
group by
Menentukan kolom, menggunakan nama kolom yang diselesaikan.- Menghitung satu atau beberapa langkah di tingkat tersebut
group by
. - Memfilter hasil menurut baris yang ada di FabricDataFrame.