คำแนะนำการพับคิวรีใน Power BI Desktop
บทความนี้มีเป้าหมายให้ผู้สร้างแบบจำลองข้อมูลทำการพัฒนาแบบจำลองใน Power BI Desktop ซึ่งจะให้คำแนะนำแนวทางปฏิบัติเกี่ยวกับช่วงเวลาและวิธีการที่จะทำการพับคิวรีใน Power Query
การพับคิวรี คือความสามารถสำหรับคิวรี Power Query เพื่อสร้างคำสั่งคิวรีเดียวในการดึงและแปลงข้อมูลต้นทาง สำหรับข้อมูลเพิ่มเติม ศึกษา การพับคิวรีใน Power Query
คำแนะนำ
คำแนะนำการพับคิวรีที่แตกต่างกันขึ้นอยู่กับโหมดแบบจำลอง
ในระยะสั้น สำหรับตารางโหมดที่เก็บข้อมูล DirectQuery หรือ Dual คิวรี Power Query จะต้องทำการพับคิวรีได้
สำหรับตาราง นำเข้า อาจเป็นไปได้เพื่อให้สามารถทำการพับคิวรีได้ เมื่อคิวรีที่ยึดตามแหล่งข้อมูลเชิงสัมพันธ์และเมื่อสามารถสร้างคำสั่ง SELECT แบบเดียว ประสิทธิภาพการรีเฟรชข้อมูลที่ดีที่สุด จะเกิดขึ้นได้โดยต้องทำให้แน่ใจว่าการพับคิวรีจะเกิดขึ้น ถ้ากลไกจัดการผสมเข้าด้วยกัน Power Query ยังคงจำเป็นในการประมวลผลการแปลงข้อมูล คุณควรพยายามลดการทำงานที่กลไกจำเป็นต้องทำ โดยเฉพาะอย่างยิ่งสำหรับชุดข้อมูลขนาดใหญ่
รายการหัวข้อย่อยต่อไปนี้แสดงแนวทางปฏิบัติเฉพาะ
มอบหมายการประมวลผลไปยังแหล่งข้อมูลให้มากที่สุดเท่าที่เป็นไปได้: เมื่อไม่สามารถพับPower Queryคิวรีทั้งหมดได้ ให้ค้นหาขั้นตอนที่ขัดขวางไม่ให้พับคิวรี เมื่อเป็นไปได้ ให้ย้ายขั้นตอนที่ตามมาก่อนหน้านี้ตามลำดับ ซึ่งอาจเป็นปัจจัยที่ทำให้สามารถทำการพับคิวรีได้ กลไกการผสมเข้าด้วยกันของ Power Query อาจมีความชาญฉลาดพอที่จะเรียงลำดับขั้นตอนคิวรีของคุณใหม่เมื่อมีการสร้างคิวรีแหล่งข้อมูล
สำหรับแหล่งข้อมูลเชิงสัมพันธ์ ถ้าขั้นตอนที่ขัดขวางไม่ให้สามารถทำการพับคิวรีได้ในคำสั่ง SELECT เดียวหรือภายในตรรกะเชิงกระบวนงานของ Stored Procedure ให้พิจารณาการใช้คำสั่ง SQL คิวรีแบบดั้งเดิมตามที่อธิบายไว้ในขั้นตอนถัดไป
ใช้คิวรีSQLเน ทีฟ : เมื่อคิวรี Power Query ดึงข้อมูลจากแหล่งข้อมูลเชิงสัมพันธ์ อาจเป็นไปได้กับบางแหล่งข้อมูลเพื่อใช้คิวรีเนทิSQLเนทิฟ ในความเป็นจริง คิวรีอาจเป็นคำสั่งที่ถูกต้อง รวมถึงการดำเนินการของ Stored Procedure ถ้าคำสั่งสร้างชุดผลลัพธ์หลายรายการ จะมีการส่งกลับค่าแรกเท่านั้น สามารถประกาศพารามิเตอร์ได้ในคำสั่ง และเราแนะนำให้คุณใช้ฟังก์ชัน M ของ Value.NativeQuery ฟังก์ชันนี้ได้รับการออกแบบมาเพื่อให้สามารถส่งผ่านค่าพารามิเตอร์ได้อย่างปลอดภัยและสะดวก สิ่งสำคัญคือต้องทำความเข้าใจว่ากลไกผสมเข้าด้วยกันของ Power Query ไม่สามารถพับขั้นตอนคิวรีที่ตามมาได้ และดังนั้นจึงเป็นสิ่งสำคัญที่ต้องรวมตรรกะการแปลงข้อมูลทั้งหมด หรือเป็นจำนวนมาก ในคำสั่งคิวรีในระบบของฐานข้อมูล
มีข้อควรพิจารณาที่สำคัญสองประการที่ต้องคำนึงถึงเมื่อใช้คิวรี SQL แบบดั้งเดิม:
- สำหรับตารางแบบจำลอง DirectQuery คิวรีต้องเป็นคำสั่ง SELECT และไม่สามารถใช้นิพจน์ตารางทั่วไป (CTEs) หรือ Stored Procedure
- การรีเฟรชแบบเพิ่มหน่วยไม่สามารถใช้แบบสอบถาม SQL แบบดั้งเดิมได้ จากนั้นกลไกจัดการผสมเข้าด้วยกันของ Power Query จะต้องดึงข้อมูลแถวต้นทางทั้งหมด แล้วใช้ตัวกรองเพื่อกำหนดการเปลี่ยนแปลงแบบเพิ่มหน่วย
ข้อสำคัญ
คิวรี SQL ในระบบของฐานข้อมูลสามารถทำได้มากกว่าการดึงข้อมูล คำสั่งที่ถูกต้องใด ๆ ที่สามารถดำเนินการได้ (และอาจมีหลายครั้ง) รวมถึงคำสั่งที่ปรับเปลี่ยนหรือลบข้อมูล สิ่งสำคัญคือต้องใช้หลักการของสิทธิ์พิเศษน้อยที่สุด เพื่อให้แน่ใจว่าบัญชีที่ใช้ในการเข้าถึงฐานข้อมูลมีสิทธิ์ในการอ่านเฉพาะข้อมูลที่จำเป็นเท่านั้น
จัดเตรียมและแปลงข้อมูลใน แหล่งข้อมูล : เมื่อคุณระบุว่าไม่สามารถพับPower Queryคิวรีบางรายการได้ อาจเป็นไปได้ที่จะใช้การแปลงข้อมูลในแหล่งข้อมูล การแปลงสามารถทำได้โดยการเขียนมุมมองฐานข้อมูลที่มีการแปลงข้อมูลต้นฉบับ หรือโดยการเตรียมการข้อมูลทางกายภาพล่วงหน้าของ Power BI จะทำการสอบถามได้ คลังข้อมูลเชิงสัมพันธ์คือตัวอย่างที่ยอดเยี่ยมของข้อมูลที่มีการจัดเตรียมไว้ใช้งาน โดยทั่วไปแล้วจะประกอบด้วยแหล่งข้อมูลขององค์กรที่รวมไว้ล่วงหน้า
ขั้นตอนถัดไป
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับบทความนี้ โปรดดูทรัพยากรต่อไปนี้:
- บทความแนวคิดของการพับคิวรีใน Power Query
- การรีเฟรชแบบเพิ่มหน่วยในชุดข้อมูล
- มีคำถามหรือไม่ ลองถามชุมชน Power BI