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