การเชื่อมต่อ Power BI ด้วยลิงก์แสดงความหมาย
การเชื่อมต่อ Power BI เป็นหัวใจสําคัญของการเชื่อมโยงความหมายใน Microsoft Fabric บทความนี้อธิบายถึงวิธีการที่ลิงก์ความหมายมอบการเชื่อมต่อไปยังแบบจําลองเชิงความหมายสําหรับผู้ใช้ของ Python pandas และระบบนิเวศของ Apache Spark
แบบจําลองความหมายมักจะแสดงถึงมาตรฐานข้อมูลสูงที่เป็นผลมาจากการประมวลผลข้อมูลขั้นต้นน้ําและการปรับปรุง นักวิเคราะห์ธุรกิจสามารถ:
- เข้ารหัสความรู้เกี่ยวกับโดเมนและตรรกะทางธุรกิจลงในหน่วยวัด Power BI
- สร้างรายงาน Power BI โดยใช้แบบจําลองความหมาย
- ใช้รายงานเหล่านี้เพื่อขับเคลื่อนการตัดสินใจทางธุรกิจ
เมื่อนักวิทยาศาสตร์ข้อมูลทํางานกับแบบจําลองความหมายเดียวกัน ให้ลองทําซ้ําตรรกะทางธุรกิจในสภาพแวดล้อมโค้ดหรือภาษาต่างๆ ข้อผิดพลาดที่สําคัญอาจส่งผล การเชื่อมโยงเชิงความหมายจะเชื่อมโยงช่องว่างระหว่างแบบจําลองความหมายและวิทยาศาสตร์ข้อมูล Synapse ใน Microsoft Fabric เพื่อจัดหาวิธีสําหรับนักวิเคราะห์ธุรกิจและนักวิทยาศาสตร์ข้อมูลเพื่อทํางานร่วมกันอย่างราบรื่นและลดความไม่ตรงกันของข้อมูล
ลิงก์เชิงความหมายนําเสนอการเชื่อมต่อไปยัง:
- ระบบนิเวศของ Python pandas ผ่าน ไลบรารี SemPy Python
- แบบจําลองเชิงความหมายผ่านตัว เชื่อมต่อ Spark แบบเนทีฟที่สนับสนุน PySpark, Spark SQL, R และ Scala
การเชื่อมต่อข้อมูลผ่านไลบรารี SemPy Python สําหรับผู้ใช้ pandas
ไลบรารี SemPy Python เป็นส่วนหนึ่งของคุณลักษณะลิงก์เชิงความหมายและให้บริการแก่ผู้ใช้ pandas ฟังก์ชัน SemPy ประกอบด้วยการค้นคืนข้อมูลจากตาราง การคํานวณหน่วยวัด และการดําเนินการของคิวรี Data Analysis Expressions (DAX) และเมตาดาต้า
สําหรับ Spark 3.4 และสูงกว่า ลิงก์เชิงความหมายจะพร้อมใช้งานในรันไทม์เริ่มต้นเมื่อใช้ Fabric และไม่จําเป็นต้องติดตั้ง
สําหรับ Spark 3.3 หรือด้านล่าง หรือเมื่อต้องการอัปเดตเป็นลิงก์เชิงความหมายเวอร์ชันล่าสุด ให้เรียกใช้คําสั่งต่อไปนี้:
%pip install -U semantic-link
SemPy ยังขยาย pandas DataFrames ด้วยเมตาดาต้าที่เพิ่มการเผยแพร่จากแหล่งข้อมูล Power BI เมตาดาต้านี้ประกอบด้วย:
- ประเภทข้อมูล Power BI:
- ภูมิศาสตร์: ที่อยู่ สถานที่ เมือง
- URL: เว็บ URL, URL ของรูปภาพ
- บาร์โค้ด
- ความสัมพันธ์ระหว่างตาราง
- ลำดับชั้น
การเชื่อมต่อข้อมูลผ่านลิงก์ความหมาย Spark แบบเนทีฟ
ลิงก์ความหมายตัวเชื่อมต่อ Spark แบบเนทีฟช่วยให้ผู้ใช้ Spark สามารถเข้าถึงตารางและหน่วยวัด Power BI ได้ ตัวเชื่อมต่อเป็นการวินิจฉัยภาษาและสนับสนุน PySpark, Spark SQL, R และ Scala
เพื่อใช้ตัวเชื่อมต่อ Spark แบบเนทีฟ คุณแสดงแบบจําลองเชิงความหมายเป็น Namespace ของ Spark และแสดงตาราง Power BI เป็นตาราง Spark แบบโปร่งใส
คําสั่งต่อไปนี้กําหนดค่า Spark เพื่อใช้ตัวเชื่อมต่อดั้งเดิมของ Power BI Spark สําหรับ 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")
คําสั่งต่อไปนี้แสดงรายการตารางทั้งหมดในแบบจําลองความหมายที่เรียกว่า Sales Dataset
:
%%sql
SHOW TABLES FROM pbi.`Sales Dataset`
คําสั่งต่อไปนี้แสดงข้อมูลจาก Customer
ตาราง ในรูปแบบความหมาย Sales Dataset
:
%%sql
SELECT * FROM pbi.`Sales Dataset`.Customer
หน่วยวัด Power BI สามารถเข้าถึงได้ผ่านตารางเสมือน _Metrics
เพื่อเชื่อมโยง Spark SQL เชิงสัมพันธ์ด้วย Power BI หลายมิติ ในตัวอย่างต่อไปนี้ และ Total Revenue
Revenue Budget
เป็นหน่วยวัดที่กําหนดใน Sales Dataset
แบบจําลองความหมายและคอลัมน์อื่น ๆ เป็นมิติ ฟังก์ชันการรวมเช่น AVG
จะถูกละเว้นสําหรับหน่วยวัด และจะนําเสนอให้มีความสอดคล้องกับ SQL เท่านั้น
ตัวเชื่อมต่อสนับสนุนการพุชเพรดิเคตลงของการคํานวณ เช่น Customer[State] in ('CA', 'WA')
จากนิพจน์ Spark ลงในกลไกจัดการ Power BI เพื่อเปิดใช้งานการใช้กลไกจัดการที่ปรับให้เหมาะสมของ 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]`
การเสริมข้อมูลด้วยหน่วยวัด Power BI
การดําเนินการ add_measure
เป็นคุณลักษณะของลิงก์ความหมายที่มีประสิทธิภาพที่ช่วยให้คุณสามารถเพิ่มข้อมูลด้วยหน่วยวัดจากแบบจําลองความหมาย การดําเนินการนี้จะพร้อมใช้งานในไลบรารี SemPy Python เท่านั้น และไม่ได้รับการสนับสนุนในตัวเชื่อมต่อ Spark ดั้งเดิม สําหรับข้อมูลเพิ่มเติมเกี่ยวกับ add_measure
วิธีการ โปรดดู add_measure ในเอกสาร FabricDataFrame
ประกอบของคลาส
เพื่อใช้ไลบรารี SemPy Python ให้ติดตั้งในเคอร์เนลของสมุดบันทึกของคุณโดยการเรียกใช้โค้ดต่อไปนี้ในเซลล์ของสมุดบันทึก:
# %pip and import only needs to be done once per notebook
%pip install semantic-link
from sempy.fabric import FabricDataFrame
ตัวอย่างโค้ดต่อไปนี้ถือว่าคุณมี FabricDataFrame ที่มีอยู่พร้อมข้อมูลที่คุณต้องการเพิ่มด้วยหน่วยวัดจากแบบจําลองความหมาย
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")
วิธีการ add_measure
ทําตามขั้นตอนต่อไปนี้:
- แก้ไขชื่อคอลัมน์ใน FabricDataFrame เป็นขนาด Power BI การดําเนินการจะละเว้นชื่อคอลัมน์ใด ๆ ที่ไม่สามารถแก้ไขภายในแบบจําลองความหมายที่ระบุได้ สําหรับข้อมูลเพิ่มเติม ให้ดูไวยากรณ์ DAX ที่ได้รับการสนับสนุน
group by
กําหนดคอลัมน์โดยใช้ชื่อคอลัมน์ที่แก้ไขแล้ว- คํานวณหน่วยวัดอย่างน้อยหนึ่งรายการในระดับ
group by
- กรองผลลัพธ์ตามแถวที่มีอยู่ใน FabricDataFrame