แก้ไขปัญหาด้านประสิทธิภาพการทำงาน

เสร็จสมบูรณ์เมื่อ

ในบางครั้ง องค์กรจะต้องแก้ไขปัญหาประสิทธิภาพเมื่อเรียกใช้รายงาน Power BI มีเครื่องมือ Performance Analyzer (ตัววิเคราะห์ประสิทธิภาพ) เพื่อช่วยแก้ไขปัญหาและทำให้กระบวนการที่มีความไหลลื่น

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

ปรับปรุงประสิทธิภาพการทำงานให้เหมาะสมใน Power Query

ประสิทธิภาพการทำงานใน Power Query ขึ้นอยู่กับประสิทธิภาพการทำงานในระดับแหล่งข้อมูล ความหลากหลายของแหล่งข้อมูล Power Query มีความกว้าง และเทคนิคการปรับแต่งประสิทธิภาพการทํางานสําหรับแต่ละแหล่งมีความกว้างเท่ากัน ตัวอย่างเช่น ถ้าคุณสกัดแยกข้อมูลจาก Microsoft SQL Server คุณควรทำตามคำแนะนำการปรับแต่งประสิทธิภาพสำหรับผลิตภัณฑ์ เทคนิคการปรับแต่งประสิทธิภาพการทํางานที่ดี SQL Server ได้แก่ การสร้างดัชนี การอัปเกรดฮาร์ดแวร์ การปรับแต่งแผนการดําเนินการ และการบีบอัดข้อมูล หัวข้อเหล่านี้อยู่นอกเหนือขอบเขตที่นี่ และถูกครอบคลุมเป็นตัวอย่างเพื่อสร้างความคุ้นเคยกับแหล่งข้อมูลของคุณ และทำให้เกิดประโยชน์เมื่อใช้ Power BI และ Power Query

Power Query ใช้ประโยชน์จากประสิทธิภาพที่ดีในแหล่งข้อมูลผ่านเทคนิคที่เรียกว่า Query Folding

Query Folding

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

คุณสามารถใช้ Power Query เพื่อโหลดข้อมูลลงใน Power BI ได้ จากนั้นใช้ตัวแก้ไข Power Query เพื่อแปลงข้อมูลของคุณ เช่น การเปลี่ยนชื่อหรือลบคอลัมน์ การผนวก การแยกวิเคราะห์ การกรอง หรือการจัดกลุ่มข้อมูลของคุณ

พิจารณาสถานการณ์สมมติที่คุณได้เปลี่ยนชื่อคอลัมน์สองถึงสามคอลัมน์ในข้อมูลยอดขายและผสานคอลัมน์เมืองและรัฐเข้าด้วยกันในรูปแบบ“นครรัฐ” ในขณะเดียวกันคุณลักษณะ Query Folding จะติดตามการเปลี่ยนแปลงเหล่านั้นในคิวรีแบบเนทีฟ จากนั้นเมื่อคุณโหลดข้อมูลของคุณ การแปลงจะเกิดขึ้นอย่างอิสระในแหล่งข้อมูลต้นฉบับ ซึ่งทำให้แน่ใจว่ามีการปรับประสิทธิภาพการทำงานให้เหมาะสมแล้วใน Power BI

ประโยชน์ของ Query Folding ประกอบด้วย:

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

  • การใช้งานร่วมกันโดยอัตโนมัติกับโหมดที่เก็บข้อมูล DirectQuery และแบบคู่ โหมดที่เก็บข้อมูล DirectQuery และแบบคู่ทั้งหมดจะต้องมีความสามารถในการประมวลผลเซิร์ฟเวอร์ส่วนหลังเพื่อสร้างการเชื่อมต่อโดยตรงซึ่งหมายความว่า Query Folding คือความสามารถอัตโนมัติที่คุณสามารถใช้ได้ หากคุณสามารถลดการแปลงทั้งหมดเป็นคำสั่ง Select เดียวดังนั้น Query Folding สามารถเกิดขึ้นได้

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

สกรีนช็อตของขั้นตอนที่ใช้ล่าสุดที่ถูกคลิกขวาเพื่อแสดงเมนูบริบท

ถ้าตัวเลือก ดูคิวรีดั้งเดิม ไม่พร้อมใช้งาน (ไม่แสดงในชนิดตัวหนา) จากนั้น Query Folding ไม่สามารถทําได้สําหรับขั้นตอนนี้ และคุณจะต้องดําเนินการย้อนกลับในพื้นที่ ขั้นตอนที่ใช้ จนกว่าคุณจะไปถึงขั้นตอนที่ ดูคิวรีดั้งเดิม พร้อมใช้งาน (แสดงเป็นตัวหนา) กระบวนการนี้จะเปิดเผยคิวรีดั้งเดิมที่ใช้ในการแปลงแบบจําลองความหมาย

ไม่สามารถทําคิวรีแบบเนทีฟสําหรับการแปลงต่อไปนี้:

  • การเพิ่มคอลัมน์ดัชนี
  • การผสานและการผนวกคอลัมน์ของตารางที่แตกต่างกันด้วยแหล่งที่มาที่แตกต่างกันสองแหล่ง
  • การเปลี่ยนแปลงชนิดข้อมูลของคอลัมน์

แนวทางที่ดีซึ่งคุณควรจดจำคือหากคุณสามารถแปลการแปลงเป็นคำสั่ง Select ในภาษา SQL ซึ่งรวมถึงโอเปอเรเตอร์และส่วนคำสั่งเช่น GROUP BY, SORT BY, WHERE, UNION ALL และ JOIN คุณสามารถใช้ Query Folding ได้

ในขณะที่ Query Folding เป็นตัวเลือกหนึ่งเพื่อปรับให้ประสิทธิภาพการทำงานดีขึ้นเมื่อดึง นำเข้า และเตรียมข้อมูล ตัวเลือกอื่นคือการวินิจฉัยคิวรี

การวินิจฉัยคิวรี

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

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

สกรีนช็อตของแท็บเครื่องมือที่มีตัวเลือกการวินิจฉัยเซสชันในตัวแก้ไข Power query

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

ภาพหน้าจอของการใช้การวินิจฉัยคิวรี

เครื่องมือนี้มีประโยชน์เมื่อคุณต้องการวิเคราะห์ประสิทธิภาพการทํางานด้าน Power Query สําหรับงาน เช่น การโหลดแบบจําลองความหมาย การเรียกใช้การรีเฟรชข้อมูล หรือการเรียกใช้งานแปลงอื่นๆ

เทคนิคอื่นในการปรับประสิทธิภาพให้เหมาะสม

แนวทางอื่นในการปรับประสิทธิภาพคิวรีให้เหมาะสมใน Power BI ได้แก่:

  • ประมวลผลข้อมูลมากที่สุดเท่าที่เป็นไปได้ในแหล่งข้อมูลต้นฉบับ Power Query และ Power Query Editor ช่วยให้คุณสามารถประมวลผลข้อมูลได้ อย่างไรก็ตามกำลังการประมวลผลที่จำเป็นสำหรับการทำงานนี้ให้เสร็จสิ้นอาจลดประสิทธิภาพในส่วนอื่น ๆ ของรายงานของคุณลง โดยทั่วไปแล้ว แนวทางปฏิบัติที่ดีคือการประมวลผลในแหล่งข้อมูลดั้งเดิมให้มากที่สุดเท่าที่เป็นไปได้

  • ใช้คิวรี SQL แบบเนทีฟ เมื่อใช้ DirectQuery สําหรับฐานข้อมูล SQL เช่นกรณีสําหรับสถานการณ์สมมติของเรา ตรวจสอบให้แน่ใจว่า คุณไม่ได้ดึงข้อมูลจากกระบวนงานที่เก็บไว้หรือนิพจน์ตารางทั่วไป (CTEs)

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

สำหรับข้อมูลเพิ่มเติม โปรดดู คำแนะนำสำหรับ Query Folding และ Query Folding