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

หมายเหตุ

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

ตัวบ่งชี้การพับคิวรีช่วยให้คุณเข้าใจขั้นตอนที่พับหรือไม่พับไม่ได้

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

หมายเหตุ

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

การแปลการวินิจฉัยการพับคิวรี

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

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

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

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

Source and Navigation steps in Folding Indicator pane.

ในตัวอย่างนี้ขั้นตอนเริ่มต้นไม่สามารถยืนยันได้ว่าพับ (ไม่รวมกัน) แต่ขั้นตอนสุดท้ายที่สร้างขึ้นเมื่อคุณโหลดข้อมูลในตอนแรกจะพับ วิธีการจัดการขั้นตอนแรก (แหล่งข้อมูล และบางครั้งขั้นตอนการนําทางอื่นๆ) จะขึ้นอยู่กับตัวเชื่อมต่อ ตัวอย่างเช่น ด้วย 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"

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

Source, Navigation, and Capitalize Each Word steps in Folding Indicator pane.

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

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

ตัวชี้วัด ไอคอน คำอธิบาย
พับ Folding indicator for 'will fold'. ตัวบ่งชี้การพับบอกคุณว่าคิวรีจนถึงขั้นตอนนี้จะถูกประเมินโดยแหล่งข้อมูล
ไม่มีการพับ Folding indicator for 'not folding'. ตัวบ่งชี้การพับไม่ได้บอกคุณว่าส่วนหนึ่งของคิวรีจนถึงขั้นตอนนี้จะถูกประเมินภายนอกแหล่งข้อมูล คุณสามารถเปรียบเทียบกับตัวบ่งชี้การพับล่าสุดถ้ามีหนึ่งเพื่อดูว่าคุณสามารถจัดเรียงคิวรีของคุณใหม่เพื่อให้มีประสิทธิภาพมากขึ้นหรือไม่
อาจพับ Folding indicator for 'might fold'. ตัวบ่งชี้แบบพับอาจเป็นเรื่องผิดปกติ ซึ่งหมายถึงคิวรีที่ "อาจ" พับ ซึ่งระบุว่าการพับหรือไม่พับจะถูกกําหนดในขณะทํางาน เมื่อดึงผลลัพธ์จากคิวรี และแผนคิวรีเป็นแบบไดนามิก ตัวบ่งชี้เหล่านี้จะปรากฏเฉพาะกับการเชื่อมต่อ ODBC หรือ OData เท่านั้น
ทึบแสง Folding indicator for 'opaque, inconclusive folding'. ตัวบ่งชี้แบบทึบแสงบอกให้คุณทราบว่าแผนคิวรีที่เป็นผลลัพธ์นั้นไม่ครอบคลุมด้วยเหตุผลบางประการ ซึ่งโดยทั่วไปแสดงให้เห็นว่ามีตาราง "ค่าคงที่" จริง หรือการแปลงหรือตัวเชื่อมต่อไม่ได้รับการสนับสนุนโดยตัวบ่งชี้และเครื่องมือแผนคิวรี
ไม่รู้จัก Folding indicator for 'no query plan'. ตัวบ่งชี้ที่ไม่รู้จักแสดงถึงการขาดหายไปของแผนคิวรี เนื่องจากข้อผิดพลาดหรือพยายามเรียกใช้การประเมินแผนคิวรีในสิ่งอื่นนอกเหนือจากตาราง (เช่น เรกคอร์ด รายการ หรือค่าดั้งเดิม)

การวิเคราะห์ตัวอย่าง

สําหรับการวิเคราะห์ตัวอย่าง เริ่มต้นโดยการเชื่อมต่อกับ ตาราง Production.Product ใน Adventure Works (SQL) การโหลดเริ่มต้นคล้ายกับตัวอย่างด้านบน มีลักษณะเหมือนกับรูปภาพต่อไปนี้

Initial step indicators for loading the Product table.

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

Adding a remove column step to the previous query, extending the green folding indicator line.

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

Adding a Capitalize Each Word step to break folding.

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

Adding more steps that don't fold.

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

Showing how removing the problematic column allows things to fold without removing the step.