ตัวบ่งชี้การพับคิวรี

หมายเหตุ

ก่อนอ่านบทความนี้ โปรดอ่าน ภาพรวมของการประเมินคิวรีและการพับคิวรีใน Power Query เพื่อทําความเข้าใจวิธีการทํางานของการพับใน Power Query ได้ดียิ่งขึ้น

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

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

หมายเหตุ

คุณลักษณะตัวบ่งชี้การพับคิวรีจะพร้อมใช้งานสําหรับ Power Query Online เท่านั้น

ตีความการวินิจฉัยการพับคิวรี

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

การตีความนี้ทํางานกับคิวรีอย่างง่ายกับแหล่งข้อมูล SQL ตัวอย่างเช่น เชื่อมต่อกับตาราง Production.Product ใน ฐานข้อมูลตัวอย่าง AdventureWorks แล้วโหลดข้อมูล การโหลดตัวอย่างนี้ผ่านตัวนําทาง Power Query มีคิวรีดังต่อไปนี้:

let
  Source = Sql.Database("ServerName", "AdventureWorks"),
  Navigation = Source{[Schema = "Production", Item = "Product"]}[Data]
in
  Navigation

ถ้าคุณตรวจสอบว่ารหัสนี้แสดงอย่างไรในตัวบ่งชี้การพับคิวรี คุณทราบว่าขั้นตอนแรกไม่รวม แต่ขั้นตอนที่สองทําการพับซึ่งหมายความว่าคิวรีสูงถึงจุดนั้นจะพับ

สกรีนช็อตของขั้นตอนแหล่งที่มาและการนําทางในบานหน้าต่างตัวบ่งชี้การพับ

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

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

การปรับเปลี่ยนตัวอย่างก่อนหน้านี้ คุณสามารถแปลงที่ไม่เคยพับ — ทําให้แต่ละคําเป็นตัวพิมพ์ใหญ่ได้

let
  Source = Sql.Database("ServerName", "AdventureWorks"),
  Navigation = Source{[Schema = "Production", Item = "Product"]}[Data],
  #"Capitalized each word" = Table.TransformColumns(Navigation, {{"Name", each Text.Proper(_), type text}})
in
  #"Capitalized each word"

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

ภาพหน้าจอของแหล่งที่มา การนําทาง และทําให้แต่ละขั้นตอนของคําในบานหน้าต่างตัวบ่งชี้การพับเป็นตัวพิมพ์ใหญ่

ตัวบ่งชี้การวินิจฉัยขั้นตอน

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

ไฟเลี้ยว ไอคอน คำอธิบาย
พับ ตัวบ่งชี้การพับบอกคุณว่าแหล่งข้อมูลจะประเมินคิวรีจนถึงขั้นตอนนี้
ไม่มีการพับ ตัวบ่งชี้การพับไม่ได้บอกคุณว่าส่วนหนึ่งของคิวรีขึ้นอยู่กับขั้นตอนนี้ได้รับการประเมินภายนอกแหล่งข้อมูล คุณสามารถเปรียบเทียบกับตัวบ่งชี้การพับล่าสุด ถ้ามีตัวบ่งชี้หนึ่ง เพื่อดูว่าคุณสามารถจัดเรียงคิวรีของคุณใหม่เพื่อให้มีประสิทธิภาพมากขึ้นหรือไม่
อาจพับ ตัวบ่งชี้แบบพับอาจเป็นเรื่องผิดปกติ ซึ่งหมายถึงคิวรีที่ "อาจ" พับ ซึ่งระบุว่ามีการพับหรือไม่พับในขณะทํางาน เมื่อดึงผลลัพธ์จากคิวรี และแผนคิวรีเป็นแบบไดนามิก ตัวบ่งชี้เหล่านี้อาจปรากฏเฉพาะกับการเชื่อมต่อ ODBC หรือ OData เท่านั้น
ทึบแสง ตัวบ่งชี้แบบทึบแสงบอกให้คุณทราบว่าแผนคิวรีที่เป็นผลลัพธ์นั้นไม่ครอบคลุมด้วยเหตุผลบางประการ ซึ่งโดยทั่วไปแสดงให้เห็นว่ามีตาราง "ค่าคงที่" จริง หรือตัวบ่งชี้และเครื่องมือแผนคิวรีไม่สนับสนุนการแปลงหรือตัวเชื่อมต่อนั้น
ไม่คุ้นเคย ตัวบ่งชี้ที่ไม่รู้จักแสดงถึงการขาดหายไปของแผนคิวรี เนื่องจากข้อผิดพลาดหรือพยายามเรียกใช้การประเมินแผนคิวรีในสิ่งอื่นนอกเหนือจากตาราง (เช่น เรกคอร์ด รายการ หรือค่าดั้งเดิม)

วิเคราะห์ตัวบ่งชี้การพับคิวรี

หากต้องการวิเคราะห์ตัวบ่งชี้การพับคิวรี ให้เชื่อมต่อกับตาราง Production.Product ใน AdventureWorks (SQL) การโหลดเริ่มต้นแสดงขั้นตอน แหล่งที่มา เป็นแบบไม่รวมและขั้นตอน การนําทาง ดังที่แสดงในรูปต่อไปนี้

สกรีนช็อตของตัวบ่งชี้ขั้นตอนเริ่มต้นสําหรับการโหลดตารางผลิตภัณฑ์

เมื่อคุณเพิ่มขั้นตอนที่พับ คุณจะขยายเส้นสีเขียวทางด้านขวา ส่วนขยายนี้เกิดขึ้นเนื่องจากขั้นตอนนี้ยังพับ

สกรีนช็อตแสดงวิธีการที่การเพิ่มขั้นตอนเอาคอลัมน์ออกไปยังคิวรีก่อนหน้าจะขยายบรรทัดตัวบ่งชี้การพับสีเขียว

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

สกรีนช็อตที่แสดงว่าการเพิ่มแต่ละขั้นตอนของคําให้เป็นตัวพิมพ์ใหญ่ทําให้การพับเสียหาย

เมื่อคุณเพิ่มขั้นตอนปลายทางเพิ่มเติมที่ขึ้นอยู่กับ ตัวพิมพ์ใหญ่แต่ละคําคําพวกเขาจะยังคงไม่พับ

สกรีนช็อตที่แสดงว่าการพับจะไม่เกิดขึ้นหลังจากเพิ่มขั้นตอนเพิ่มเติม

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

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