แชร์ผ่าน


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

หมายเหตุ

ก่อนที่จะอ่านบทความนี้ เราขอแนะนําให้คุณอ่าน ภาพรวมของการประเมินผลคิวรีและการพับคิวรีใน 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

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

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

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

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

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

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

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

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

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

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

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

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