การพับคิวรีใน Power Query

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

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

การพับคิวรีเป็นหัวข้อที่สำคัญสำหรับการสร้างแบบจำลองข้อมูลด้วยเหตุผลหลายประการ:

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

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

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

แหล่งข้อมูลที่สนับสนุนการพับ

แหล่งข้อมูลส่วนใหญ่ที่มีแนวคิดของภาษาคิวรีจะสามารถรองรับการพับคิวรีได้ ฐานข้อมูลเหล่านี้อาจรวมถึงฐานข้อมูลเชิงสัมพันธ์ ฟีด OData (รวมถึงรายการ SharePoint ), Exchange และ Active Directory อย่างไรก็ตาม แหล่งข้อมูล เช่น ไฟล์ข้อมูลธรรมดา, blobs, และเว็บมักไม่มี

การแปลงข้อมูลที่สามารถพับได้

การแปลงแหล่งข้อมูลเชิงสัมพันธ์ซึ่งสามารถทำการพับคิวรีสามารถเขียนเป็นคำสั่ง SELECT แบบเดียวได้ คุณสามารถสร้างรายงาน SELECT ด้วยส่วนสั่ง WHERE, GROUP BY และ JOIN ที่เหมาะสมได้ นอกจากนี้ยังอาจมีนิพจน์คอลัมน์ (การคำนวณ) ที่ใช้ฟังก์ชันที่มีอยู่แล้วภายในที่ได้รับการสนับสนุนโดยฐานข้อมูล SQL

โดยทั่วไป รายการต่อไปนี้อธิบายถึงการแปลงข้อมูลที่สามารถพับคิวรีได้

  • การลบคอลัมน์ออก

  • การเปลี่ยนชื่อคอลัมน์ (นามแฝงของคอลัมน์ SELECT)

  • การกรองแถวด้วยค่าคงที่หรือพารามิเตอร์Power Query (เพรดิเคตส่วนส่วนย่อย WHERE)

  • การจัดกลุ่มและการสรุป (ส่วนย่อย GROUP BY)

  • การขยายคอลัมน์ไฟล์ข้อมูล (คอลัมน์ Foreign Key ของแหล่งข้อมูล) เพื่อให้ได้การรวมตารางต้นทางสองตาราง (ส่วนสั่ง JOIN)

  • การผสานคิวรีที่สามารถพับได้แบบ Non - fuzzy โดยยึดตามแหล่งข้อมูลเดียวกัน (ส่วนย่อย JOIN)

  • การผนวกคิวรีที่สามารถพับได้โดยยึดตามแหล่งข้อมูลเดียวกัน (ตัวประกอบ UNION ALL)

  • การเพิ่มคอลัมน์แบบกำหนดเองด้วย ตรรกะอย่างง่าย (นิพจน์คอลัมน์ SELECT) ตรรกะอย่างง่ายหมายถึงการดําเนินการที่ไม่ซับซ้อนอาจมีการใช้ฟังก์ชัน M ที่มีฟังก์ชันที่เทียบเท่าSQLแหล่งข้อมูล เช่น ฟังก์ชันการจัดการคณิตศาสตร์หรือข้อความ ตัวอย่างเช่น นิพจน์ต่อไปนี้จะส่งกลับคอมโพเนนต์ปีของค่าคอลัมน์ OrderDate (เพื่อส่งกลับค่าตัวเลข)

    Date.Year([OrderDate])
    
  • การหมุนรอบและยกเลิกการหมุนรอบ (ตัวประกอบ PIVOT และ UNPIVOT)

การแปลงที่ขัดขวางไม่พับ

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

  • การผสานคิวรีที่ยึดตามแหล่งข้อมูลที่แตกต่างกัน

  • การผนวก (ยูเนี่ยน-อิง) คิวรีที่ยึดตามแหล่งข้อมูลที่แตกต่างกัน

  • การเพิ่มคอลัมน์แบบกำหนดเองด้วย ตรรกะที่ซับซ้อน ตรรกะที่ซับซ้อนหมายถึงการใช้ฟังก์ชัน M ที่ไม่มีฟังก์ชันที่เทียบเท่าในแหล่งข้อมูล ตัวอย่างเช่น นิพจน์ต่อไปนี้จะจัดรูปแบบค่าคอลัมน์ OrderDate (เพื่อส่งกลับค่าข้อความ)

    Date.ToText([OrderDate], "yyyy")
    
  • การเพิ่มคอลัมน์ดัชนี

  • การเปลี่ยนแปลงชนิดข้อมูลของคอลัมน์

โปรดทราบว่าเมื่อคิวรี Power Query ประกอบด้วยแหล่งข้อมูลจำนวนมาก ความไม่เข้ากันเกี่ยวกับระดับความเป็นส่วนตัวของแหล่งข้อมูลอาจขัดขวางไม่ให้มีการพับคิวรีได้ โปรดดูที่บทความระดับPower BI Desktopเพื่อเรียนรู้เพิ่มเติม

กำหนดช่วงเวลาที่สามารถพับคิวรีได้

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

ตัวอย่างของการกําหนดว่าการPower QueryสามารถบรรลุการพับคิวรีPower BI Desktopได้

หมายเหตุ

ตัวเลือก ดูคิวรี ดั้งเดิม พร้อมใช้งานเฉพาะกับบางตัวเชื่อมต่อการสร้างฐานข้อมูล/SQLเชิงสัมพันธ์เท่านั้น ตัวอย่างเช่น ไม่ใช้งานตัวเชื่อมต่อที่ใช้ OData แม้ว่าจะมีการพับบน Backend คุณลักษณะการวินิจฉัยคิวรีเป็นวิธีที่ดีที่สุดในการดูว่าการพับเกิดอะไรขึ้นกับตัวเชื่อมต่อที่ไม่ใช่ SQL (แม้ว่าขั้นตอนที่พับไม่ได้เรียกอย่างชัดเจนว่าคุณเห็น URL ที่เป็นผลลัพธ์ — ที่สร้างขึ้น)

หากต้องการดูคิวรีแบบพับ ให้คุณเลือกตัวเลือก ดูคิวรีแบบเนทีฟ จากนั้นคุณจะพบกับคิวรีดั้งเดิมPower Queryจะใช้กับข้อมูลต้นทาง

ตัวอย่างของคิวรีดั้งเดิมPower BI Desktopแบบสอบถาม

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

ตัวอย่างของการกําหนดว่าการPower QueryสามารถบรรลุการพับคิวรีPower BI Desktopได้

ขั้นตอนถัดไป

เมื่อต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ Query Folding และบทความที่เกี่ยวข้อง กรุณาตรวจสอบที่แหล่งข้อมูลต่อไปนี้: