แชร์ผ่าน


การเชื่อมต่อ 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 สามารถเข้าถึงตารางและหน่วยวัด 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 ทําตามขั้นตอนต่อไปนี้:

  1. แก้ไขชื่อคอลัมน์ใน FabricDataFrame เป็นขนาด Power BI การดําเนินการจะละเว้นชื่อคอลัมน์ใด ๆ ที่ไม่สามารถแก้ไขภายในแบบจําลองความหมายที่ระบุได้ สําหรับข้อมูลเพิ่มเติม ให้ดูไวยากรณ์ DAX ที่ได้รับการสนับสนุน
  2. group byกําหนดคอลัมน์โดยใช้ชื่อคอลัมน์ที่แก้ไขแล้ว
  3. คํานวณหน่วยวัดอย่างน้อยหนึ่งรายการในระดับgroup by
  4. กรองผลลัพธ์ตามแถวที่มีอยู่ใน FabricDataFrame