แชร์ผ่าน


การอ้างอิงคิวรี Power Query

บทความนี้มุ่งเป้าหมายไปยังคุณในฐานะผู้สร้างแบบจําลองข้อมูลที่ทํางานกับ Power BI Desktop ซึ่งจะให้คําแนะนําแก่คุณเมื่อกําหนดคิวรี Power Query ที่อ้างอิงคิวรีอื่น

ความ ชัดเจน: เมื่อคิวรีแรกมีการอ้างอิงถึงคิวรีที่สอง นั่นหมายความว่าคิวรีที่สองจะต้องเข้ารวมกับคิวรีแรกที่กําลังทํางานอยู่

พิจารณาหลายคิวรี: คิวรีที่ 1 แหล่งข้อมูลจากบริการเว็บและไม่สามารถโหลดได้ คิวรีที่ 2, คิวรีที่ 3 และ คิวรีที่ 4 ทั้งหมดอ้างอิง จากคิวรีที่ 1 และผลลัพธ์ที่โหลดไปยังรูปแบบข้อมูล

Diagram showing the Query Dependencies view, displaying queries described in the previous paragraph.

เมื่อมีการรีเฟรชแบบจําลองข้อมูล ระบบมักจะสันนิษฐานว่า Power Query ได้ข้อมูลมาจากผลลัพธ์ของ คิวรี 1 และนั่นคือการนําคิวรีที่อ้างอิงแล้วกลับมาใช้ใหม่ ความคิดนี้ไม่ถูกต้อง อันที่จริงแล้ว Power Query ให้ คิวรี 2, คิวรี 3 และ คิวรี 4 ดําเนินการแยกต่างหาก

คุณสามารถคิดว่า คิวรี 2 ฝังตัวอยู่ใน คิวรี 1 ได้ ซึ่งเป็นกรณีสําหรับ คิวรี 3 และ คิวรี 4 ด้วยเช่นกัน แผนภาพต่อไปนี้แสดงภาพที่ชัดเจนขึ้นว่าคิวรีมีการดําเนินการอย่างไร

Diagram showing a modified version of the Query Dependencies view, displaying Query 2, Query 3, and Query 4.

คิวรีที่ 1 จะมีการดําเนินการสามครั้ง การดําเนินการหลายอย่างอาจส่งผลให้การรีเฟรชข้อมูลช้าลงและส่งผลกระทบเชิงลบต่อแหล่งข้อมูล

การใช้ ฟังก์ชัน Table.Buffer ใน Query1 จะไม่กําจัดการดึงข้อมูลเพิ่มเติม ฟังก์ชันนี้บัฟเฟอร์ตารางไปยังหน่วยความจําและตารางบัฟเฟอร์สามารถใช้ได้ภายในการดําเนินการคิวรีเดียวกันเท่านั้น อย่างเช่นในตัวอย่างนี้ คิวรี ที่ 1 จะบัฟเฟอร์เมื่อ คิวรีที่ 2 มีการดําเนินการแล้วเท่านั้นการบัฟเฟอร์ข้อมูลไม่สามารถทําได้เมื่อ คิวรีที่ 3 และ คิวรีที่ 4 มีการดําเนินการ ซึ่งตัวมันเองจะบัฟเฟอร์ข้อมูลซ้ํามากกว่าสองครั้ง (ผลลัพธ์ที่ได้อาจส่งผลร้ายต่อประสิทธิภาพการทํางานเพราะตารางจะถูกบัฟเฟอร์ตามคิวรีที่อ้างอิง)

หมายเหตุ

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

การแนะนำ

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

เราขอแนะนําให้คุณสร้าง กระแส ข้อมูลแทน การใช้กระแสข้อมูลสามารถช่วยปรับปรุงเวลาการรีเฟรชข้อมูลและลดผลกระทบกับแหล่งข้อมูลของคุณได้

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

ในตัวอย่าง ถ้า คิวรีที่ 1 ถูกออกแบบให้เป็นเอนทิตีกระแสข้อมูลใหม่ คิวรี 2 คิวรี 3 และ คิวรี 4 ก็สามารถใช้เป็นแหล่งข้อมูลได้ ด้วยการออกแบบนี้ เอนทิตีที่ มาจากคิวรีที่ 1 จะถูกประเมินเพียงครั้งเดียว

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