ใช้ Python ในตัวแก้ไข Power Query

คุณสามารถใช้ Python ซึ่งเป็นภาษาการเขียนโปรแกรมที่นักสถิติ นักวิทยาศาสตร์ข้อมูล และนักวิเคราะห์ข้อมูลใช้กันอย่างกว้างขวางในตัวแก้ไข Power Query Power BI Desktop การรวม Python เข้ากับ ตัวแก้ไข Power Query ช่วยให้คุณดําเนินการทําความสะอาดข้อมูลโดยใช้ Python และดําเนินการวิเคราะห์และการจัดรูปทรงข้อมูลขั้นสูงในชุดข้อมูล รวมถึงการเติมเต็มข้อมูลที่คาดหาย การคาดการณ์ และการทําคลัสเตอร์ และอื่นๆ Python เป็นภาษาที่มีประสิทธิภาพ และสามารถใช้ได้ในตัวแก้ไข Power Query เพื่อเตรียมแบบจําลองข้อมูลของคุณ และสร้างรายงาน

ข้อกำหนดเบื้องต้น

คุณจะต้องติดตั้ง Python และ pandas ก่อนที่คุณจะเริ่มต้น

  • ติดตั้ง Python - เพื่อใช้ Python ในตัวแก้ไข Power Query ของ Power BI Desktop คุณจําเป็นต้องติดตั้ง Python บนเครื่องคอมพิวเตอร์ของคุณ คุณสามารถดาวน์โหลดและติดตั้ง Python ได้ฟรีจากหลายตําแหน่ง รวมถึงหน้าดาวน์โหลด Python อย่างเป็นทางการและ Anaconda

  • ติดตั้ง pandas - หากต้องการใช้ Python กับตัวแก้ไข Power Query คุณจะต้องติดตั้ง pandas ด้วย Pandas ถูกใช้เพื่อย้ายข้อมูลระหว่าง Power BI และสภาพแวดล้อม Python

ใช้ Python กับ ตัวแก้ไข Power Query

หากต้องการแสดงวิธีใช้ Python ใน ตัวแก้ไข Power Query ให้นําตัวอย่างนี้จากชุดข้อมูลตลาดหุ้น โดยยึดตามไฟล์ CSV ที่คุณสามารถดาวน์โหลดได้จากที่นี่และทําตาม ขั้นตอนสําหรับตัวอย่างนี้มีขั้นตอนดังต่อไปนี้:

  1. ก่อนอื่น โหลดข้อมูลของคุณลงใน Power BI Desktop ในตัวอย่างนี้ โหลดไฟล์ EuStockMarkets_NA.csv และเลือก รับข้อมูล>ข้อความ/CSV จากริบบอน หน้าแรก ใน Power BI Desktop

    Screenshot of the Get Data ribbon in Power BI Desktop, showing the CSV selection.

  2. เลือกไฟล์ และเลือก เปิดและ CSV จะแสดงในกล่องโต้ตอบ ไฟล์ CSV

    Screenshot of the CSV file dialog, showing the selected CSV.

  3. เมื่อโหลดข้อมูลแล้ว คุณจะเห็นข้อมูลในบานหน้าต่าง เขตข้อมูล ใน Power BI Desktop

    Screenshot of the Fields pane, showing the loaded data.

  4. เปิดตัวแก้ไข Power Query โดยการเลือก แปลงข้อมูลจากแท็บ หน้าแรก ใน Power BI Desktop

    Screenshot of the Power Query Editor in Power BI Desktop, showing the Transform data selection.

  5. ใน แท็บ แปลง เลือก เรียกใช้สคริปต์ Python และตัว แก้ไข เรียกใช้สคริปต์ Python จะปรากฏขึ้นดังที่แสดงในขั้นตอนถัดไป แถว 15 และ 20 ได้รับผลกระทบจากข้อมูลที่ขาดหายไป เช่นเดียวกับแถวอื่น ๆ ที่คุณไม่สามารถดูในรูปภาพต่อไปนี้ ขั้นตอนต่อไปนี้แสดงวิธีที่ Python ใส่ข้อมูลในแถวเหล่านั้นให้สมบูรณ์

    Screenshot of the Transform tab, showing rows of data.

  6. สําหรับตัวอย่างนี้ ใส่รหัสสคริปต์ต่อไปนี้:

    import pandas as pd
    completedData = dataset.fillna(method='backfill', inplace=False)
    dataset["completedValues"] =  completedData["SMI missing values"]
    

    หมายเหตุ

    คุณจําเป็นต้องมี ไลบรารี pandas ติดตั้งอยู่ในสภาพแวดล้อม Python เพื่อให้รหัสสคริปต์ก่อนหน้าทํางานอย่างถูกต้อง หากต้องการติดตั้ง pandas ให้เรียกใช้คําสั่งต่อไปนี้ในการติดตั้ง Python ของคุณ: pip install pandas

    เมื่อวางรหัสลงในกล่องโต้ตอบ เรียกใช้สคริปต์ Python รหัสจะมีลักษณะดังต่อไปนี้:

    Screenshot of the Run Python Script dialog, showing the script code.

  7. หลังจากที่คุณเลือกตกลง ตัวแก้ไข Power Query จะแสดงคําเตือนเกี่ยวกับความเป็นส่วนตัวของข้อมูล

    Screenshot of the Power Query Editor pane, showing the warning about data privacy.

  8. เพื่อให้สคริปต์ Python ทํางานอย่างถูกต้องในบริการของ Power BI คุณจําเป็นต้องตั้งค่าแหล่งข้อมูลทั้งหมดเป็นสาธารณะ สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าความเป็นส่วนตัวและผลกระทบของการตั้งค่า ดู ระดับความเป็นส่วนตัว

    Screenshot of the Privacy levels dialog, showing that Public is set.

    โปรดสังเกตคอลัมน์ใหม่ในบานหน้าต่างเขตข้อมูลที่เรียกว่า completedValues โปรดสังเกตว่ามีองค์ประกอบข้อมูลบางอย่างหายไป เช่น ในแถวที่ 15 และ 18 ดูวิธีที่ Python จัดการเรื่องนั้นในส่วนถัดไป

ด้วยสคริปต์ Python เพียงสามบรรทัด ตัวแก้ไข Power Query กรอกข้อมูลในค่าที่ขาดหายไปด้วยแบบจําลองคาดการณ์

สร้างวิชวลจากข้อมูลสคริปต์ Python

ในตอนนี้ เราสามารถสร้างวิชวลเพื่อดูวิธีที่สคริปต์ Python ทํางานด้วยการใช้ไลบรารี pandas เติมค่าที่หายไป ดังที่แสดงในรูปต่อไปนี้:

Screenshot of the visual, showing original data and completed missing values of the pandas library.

เมื่อวิชวลดังกล่าวเสร็จสมบูรณ์ และวิชวลอื่น ๆ ที่คุณอาจต้องการสร้างโดยใช้ Power BI Desktop คุณสามารถบันทึก ไฟล์ Power BI Desktop ได้ ไฟล์ Power BI Desktop บันทึกด้วยนามสกุลไฟล์ .pbix จากนั้นใช้แบบจําลองข้อมูล รวมถึงสคริปต์ Python ที่เป็นส่วนหนึ่งของแบบจําลองข้อมูลในบริการของ Power BI

หมายเหตุ

ต้องการดูไฟล์ .pbix ที่เสร็จสมบูรณ์ด้วยขั้นตอนเหล่านี้หรือไม่ คุณกําลังโชคดี คุณสามารถดาวน์โหลดไฟล์ Power BI Desktop ที่เสร็จสมบูรณ์ที่ใช้ในตัวอย่างเหล่านี้ที่นี่

เมื่อคุณอัปโหลดไฟล์ .pbix ไปยังบริการของ Power BI คุณจําเป็นต้องมีขั้นตอนเพิ่มเติมเพื่อให้สามารถรีเฟรชข้อมูลในบริการและเพื่อให้สามารถอัปเดตวิชวลในบริการได้ ข้อมูลต้องเข้าถึง Python เพื่อทําการอัปเดตวิชวล ขั้นตอนอื่นๆ มีดังนี้:

  • เปิดใช้งานการรีเฟรชตามกําหนดการสําหรับชุดข้อมูล เมื่อต้องการเปิดใช้งานรีเฟรชตามกําหนดการสําหรับสมุดงานที่ประกอบด้วยชุดข้อมูลของคุณด้วยสคริปต์ Python ดู กําหนดค่าการรีเฟรชตามกําหนดการ ซึ่งยังรวมถึงข้อมูลเกี่ยวกับ เกตเวย์ส่วนบุคคล
  • ติดตั้งเกตเวย์ส่วนบุคคล คุณจําเป็นต้องมี เกตเวย์ ส่วนบุคคลที่ติดตั้งอยู่บนเครื่องที่มีไฟล์อยู่ และตําแหน่งที่ติดตั้ง Python บริการของ Power BI ต้องเข้าถึงเวิร์กบุ๊กนั้นและแสดงวิชวลที่อัปเดตแล้วใหม่อีกครั้ง สําหรับข้อมูลเพิ่มเติม ดู ติดตั้งและกําหนดค่าเกตเวย์ส่วนบุคคล

ข้อควรพิจารณาและข้อจำกัด

มีข้อจํากัดบางอย่างของการคิวรีที่มีสคริปต์ Python ที่ถูกสร้างขึ้นใน ตัวแก้ไข Power Query:

  • ต้องตั้งค่าแหล่งข้อมูล Python ทั้งหมดเป็นสาธารณะและขั้นตอนอื่นๆ ทั้งหมดในคิวรีที่สร้างขึ้นใน ตัวแก้ไข Power Query ต้องเป็นสาธารณะด้วย เมื่อต้องการตั้งค่าแหล่งข้อมูล ใน Power BI Desktop เลือก ไฟล์ > ตัวเลือกและการตั้งค่า > การตั้งค่าแหล่งข้อมูล

    Screenshot of the File menu in Power BI Desktop, showing the Data source settings selection.

    จากกล่องโต้ตอบการตั้งค่าแหล่งข้อมูล เลือกแหล่งข้อมูล จากนั้นเลือกแก้ไขสิทธิ์... และตรวจสอบให้แน่ใจว่าระดับความเป็นส่วนตัวถูกตั้งค่าเป็นสาธารณะ

    Screenshot of the Data source settings dialog, showing the Privacy Level is set to Public.

  • เมื่อต้องการรีเฟรชการแสดงผลด้วยภาพหรือชุดข้อมูล Python ของคุณตามกําหนดการ คุณจําเป็นต้องเปิดใช้งาน รีเฟรช ตามกําหนดการและมีเกตเวย์ส่วนบุคคลติดตั้งบนคอมพิวเตอร์ที่จัดเก็บสมุดงานและมีการติดตั้ง Python สําหรับข้อมูลเพิ่มเติมเกี่ยวกับทั้งสองเรื่อง ดูส่วนก่อนหน้าในบทความนี้ ซึ่งมีลิงก์เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับเรื่องนี้แต่ละเรื่อง

  • ในขณะนี้ ไม่รองรับตารางที่ซ้อนกันซึ่งเป็นตารางของตาราง

มีวิธีการต่างๆ ที่คุณสามารถทําได้ด้วย Python และคิวรีแบบกําหนดเอง ดังนั้น คุณควรสํารวจและจัดรูปแบบข้อมูลของคุณอย่างที่คุณต้องการให้ปรากฏ