บทช่วยสอน: แยกและคํานวณหน่วยวัด Power BI จากสมุดบันทึก Jupyter
บทช่วยสอนนี้แสดงวิธีใช้ SemPy (ตัวอย่าง) เพื่อคํานวณหน่วยวัดในแบบจําลองความหมาย (ชุดข้อมูล Power BI)
ในบทช่วยสอนนี้ คุณจะเรียนรู้วิธีการ:
- ประเมินหน่วยวัด Power BI ทางโปรแกรมผ่านอินเทอร์เฟซ Python ของไลบรารี Python ของลิงก์ทางความหมาย (SemPy)
- ทําความคุ้นเคยกับส่วนประกอบของ SemPy ที่ช่วยขจัดช่องว่างระหว่าง AI และ BI คอมโพเนนต์เหล่านี้ประกอบด้วย:
- FabricDataFrame - โครงสร้างที่คล้ายกับ pandas เพิ่มขึ้นด้วยข้อมูลความหมายเพิ่มเติม
- ฟังก์ชันที่มีประโยชน์ที่ช่วยให้คุณสามารถดึงข้อมูลแบบจําลองความหมาย รวมถึงข้อมูลดิบ การกําหนดค่า และหน่วยวัด
ข้อกำหนดเบื้องต้น
รับการสมัครใช้งาน Microsoft Fabric หรือลงทะเบียนเพื่อทดลองใช้งาน Microsoft Fabric ฟรี
ลงชื่อเข้าใช้ Microsoft Fabric
ใช้ตัวสลับประสบการณ์การใช้งานที่ด้านล่างซ้ายของหน้าหลักของคุณเพื่อเปลี่ยนเป็น Fabric
เลือก พื้นที่ทํางาน จากบานหน้าต่างนําทางด้านซ้ายเพื่อค้นหาและเลือกพื้นที่ทํางานของคุณ พื้นที่ทํางานนี้จะกลายเป็นพื้นที่ทํางานปัจจุบันของคุณ
ดาวน์โหลด แบบจําลองความหมาย PBIX ตัวอย่างการวิเคราะห์การค้าปลีก.pbix และอัปโหลดไปยังพื้นที่ทํางานของคุณ
ติดตามในสมุดบันทึก
สมุดบันทึก powerbi_measures_tutorial.ipynb มาพร้อมกับบทช่วยสอนนี้
เมื่อต้องการเปิดสมุดบันทึกที่มาพร้อมกับบทช่วยสอนนี้ ให้ทําตามคําแนะนําใน เตรียมระบบของคุณสําหรับบทช่วยสอนวิทยาศาสตร์ข้อมูล การนําเข้าสมุดบันทึกไปยังพื้นที่ทํางานของคุณ
ถ้าคุณต้องการคัดลอกและวางรหัสจากหน้านี้แทน คุณสามารถสร้าง สมุดบันทึกใหม่ได้
ตรวจสอบให้แน่ใจว่าแนบ lakehouse เข้ากับสมุดบันทึก ก่อนที่คุณจะเริ่มเรียกใช้รหัส
ตั้งค่าสมุดบันทึก
ในส่วนนี้ คุณตั้งค่าสภาพแวดล้อมของสมุดบันทึกด้วยโมดูลและข้อมูลที่จําเป็น
ติดตั้ง
SemPy
จาก PyPI โดยใช้%pip
ความสามารถในการติดตั้งในบรรทัดภายในสมุดบันทึก:%pip install semantic-link
ทําการนําเข้าโมดูลที่จําเป็นซึ่งคุณจะต้องใช้ในภายหลัง:
import sempy.fabric as fabric
คุณสามารถเชื่อมต่อกับพื้นที่ทํางานของ Power BI ได้ ระบุรายการแบบจําลองความหมายในพื้นที่ทํางาน:
fabric.list_datasets()
โหลดแบบจําลองความหมาย ในบทช่วยสอนนี้ คุณใช้ แบบจําลองความหมาย PBIX ตัวอย่างการวิเคราะห์การค้าปลีก:
dataset = "Retail Analysis Sample PBIX"
แสดงรายการหน่วยวัดพื้นที่ทํางาน
แสดงรายการหน่วยวัดในแบบจําลองความหมายโดยใช้ฟังก์ชันของ list_measures
SemPy ดังนี้:
fabric.list_measures(dataset)
ประเมินหน่วยวัด
ในส่วนนี้ คุณประเมินหน่วยวัดได้หลายวิธี โดยใช้ฟังก์ชันของ evaluate_measure
SemPy
ประเมินหน่วยวัดดิบ
ในโค้ดต่อไปนี้ ให้ใช้ฟังก์ชันของ evaluate_measure
SemPy เพื่อคํานวณหน่วยวัดที่กําหนดค่าไว้ล่วงหน้าซึ่งเรียกว่า "ขนาดพื้นที่การขายโดยเฉลี่ย" คุณสามารถดูสูตรพื้นฐานสําหรับหน่วยวัดนี้ได้ในผลลัพธ์ของเซลล์ก่อนหน้า
fabric.evaluate_measure(dataset, measure="Average Selling Area Size")
ประเมินหน่วยวัดด้วย groupby_columns
คุณสามารถจัดกลุ่มผลลัพธ์หน่วยวัดตามคอลัมน์บางคอลัมน์โดยใส่พารามิเตอร์ groupby_columns
เพิ่มเติม :
fabric.evaluate_measure(dataset, measure="Average Selling Area Size", groupby_columns=["Store[Chain]", "Store[DistrictName]"])
ในโค้ดก่อนหน้านี้ คุณจัดกลุ่มตามคอลัมน์Chain
และDistrictName
Store
ของตารางในแบบจําลองความหมาย
ประเมินหน่วยวัดด้วยตัวกรอง
คุณยังสามารถใช้ filters
พารามิเตอร์ เพื่อระบุค่าเฉพาะที่ผลลัพธ์สามารถประกอบด้วย สําหรับคอลัมน์เฉพาะ:
fabric.evaluate_measure(dataset, \
measure="Total Units Last Year", \
groupby_columns=["Store[Territory]"], \
filters={"Store[Territory]": ["PA", "TN", "VA"], "Store[Chain]": ["Lindseys"]})
ในโค้ด Store
ก่อนหน้า คือชื่อของตาราง Territory
คือชื่อของคอลัมน์ และ PA
เป็นหนึ่งในค่าที่ตัวกรองอนุญาต
ประเมินหน่วยวัดในหลายตาราง
คุณสามารถจัดกลุ่มหน่วยวัดตามคอลัมน์ที่ครอบคลุมหลายตารางในแบบจําลองความหมายได้
fabric.evaluate_measure(dataset, measure="Total Units Last Year", groupby_columns=["Store[Territory]", "Sales[ItemID]"])
ประเมินหลายหน่วยวัด
ฟังก์ชัน evaluate_measure
นี้ช่วยให้คุณสามารถใส่ตัวระบุของการวัดหลายรายการและส่งออกค่าจากการคํานวณใน DataFrame เดียวกัน:
fabric.evaluate_measure(dataset, measure=["Average Selling Area Size", "Total Stores"], groupby_columns=["Store[Chain]", "Store[DistrictName]"])
ใช้ตัวเชื่อมต่อ XMLA ของ Power BI
ไคลเอ็นต์แบบจําลองความหมายเริ่มต้นได้รับการสนับสนุนโดย REST API ของ Power BI ถ้ามีปัญหาใด ๆ ในการเรียกใช้คิวรีกับไคลเอ็นต์นี้ คุณสามารถสลับ Backend ไปเป็นอินเทอร์เฟซ XMLA ของ Power BI โดยใช้use_xmla=True
พารามิเตอร์ SemPy ยังคงเหมือนเดิมสําหรับการคํานวณหน่วยวัดที่มี 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)
เนื้อหาที่เกี่ยวข้อง
ดูบทช่วยสอนอื่น ๆ สําหรับลิงก์ความหมาย / SemPy:
- บทช่วยสอน: ล้างข้อมูลด้วยการขึ้นต่อกันที่ใช้งานได้
- บทช่วยสอน: วิเคราะห์การขึ้นต่อกันของฟังก์ชันในแบบจําลองความหมายตัวอย่าง
- บทช่วยสอน: ค้นหาความสัมพันธ์ในแบบจําลองความหมายโดยใช้ลิงก์ความหมาย
- บทช่วยสอน
: ค้นหาความสัมพันธ์ในชุดข้อมูล Synthea โดยใช้ลิงก์ความหมาย - บทช่วยสอน : ตรวจสอบข้อมูลโดยใช้ SemPy และความคาดหวังที่ยิ่งใหญ่ (GX)