คําแนะนําการพับคิวรีใน Power BI Desktop

บทความนี้มีเป้าหมายให้ผู้สร้างแบบจําลองข้อมูลทําการพัฒนาแบบจําลองใน Power BI Desktop ซึ่งจะให้คําแนะนําแนวทางปฏิบัติเกี่ยวกับช่วงเวลาและวิธีการที่จะทําการพับคิวรีใน Power Query

การ พับคิวรีคือความสามารถสําหรับคิวรี Power Query เพื่อสร้างคําสั่งคิวรีเดียวที่ดึงและแปลงข้อมูลต้นทาง สําหรับข้อมูลเพิ่มเติม โปรดดู การพับคิวรีใน Power Query

คำแนะนำ

คําแนะนําการพับคิวรีแตกต่างกันตามโหมดแบบจําลอง

สําหรับตารางโหมดที่ เก็บข้อมูล DirectQuery หรือ คู่ คิวรี 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 จะคิวรี คลังข้อมูลเชิงสัมพันธ์คือตัวอย่างที่ยอดเยี่ยมของข้อมูลที่จัดเตรียมไว้แล้ว ซึ่งมักจะประกอบด้วยแหล่งข้อมูลขององค์กรที่รวมไว้ล่วงหน้า

สําหรับข้อมูลเพิ่มเติมเกี่ยวกับบทความนี้ โปรดดูทรัพยากรต่อไปนี้: