การวินิจฉัยคิวรี
ด้วยการวินิจฉัยคิวรี คุณสามารถเข้าใจได้ดียิ่งขึ้นว่า Power Query กําลังทําอะไรอยู่ในขณะที่เขียนและในเวลารีเฟรชใน Power BI Desktop ในขณะที่เราจะขยายฟีเจอร์นี้ในอนาคต รวมถึงการเพิ่มความสามารถในการใช้ในระหว่างการรีเฟรชทั้งหมด ในขณะนี้ คุณสามารถใช้คุณลักษณะนี้เพื่อทําความเข้าใจชนิดของคิวรีที่คุณกําลังปล่อย ได้ แล้วการชะลอตัวที่คุณอาจพบระหว่างการเขียนการรีเฟรช และเหตุการณ์เบื้องหลังเกิดขึ้นชนิดใด
หากต้องการใช้การวินิจฉัยคิวรี ให้ ไปที่แท็บ เครื่องมือ ในริบบอนตัวแก้ไข Power Query
ตามค่าเริ่มต้น การวินิจฉัยคิวรีอาจจําเป็นต้องมีสิทธิ์ระดับผู้ดูแลเพื่อเรียกใช้ (ขึ้นอยู่กับนโยบาย IT) ถ้าคุณพบว่าตัวเองไม่สามารถเรียกใช้การวินิจฉัยคิวรีได้ ให้เปิดหน้าตัวเลือก Power BI Desktop และในแท็บการวินิจฉัย ให้เลือก เปิดใช้งานในตัวแก้ไขคิวรี (ไม่จําเป็นต้องทํางานเป็นผู้ดูแลระบบ) การเลือกนี้จะจํากัดคุณจากความสามารถในการติดตามการวินิจฉัยเมื่อทําการรีเฟรชเต็มรูปแบบลงใน Power BI แทนที่จะเป็นตัวแก้ไข Power Query แต่อนุญาตให้คุณยังคงใช้ได้เมื่อแสดงตัวอย่าง เขียน และอื่นๆ
เมื่อใดก็ตามที่คุณเริ่มการวินิจฉัย Power Query จะเริ่มติดตามการประเมินใด ๆ ที่คุณทําให้เกิด การประเมินที่ผู้ใช้ส่วนใหญ่นึกถึงคือเมื่อคุณกดรีเฟรช หรือเมื่อคุณดึงข้อมูลเป็นครั้งแรก แต่มีการดําเนินการหลายอย่างที่สามารถทําให้เกิดการประเมินผล โดยขึ้นอยู่กับตัวเชื่อมต่อ ตัวอย่างเช่นด้วยตัวเชื่อมต่อ SQL เมื่อคุณเรียกใช้รายการของค่าที่จะกรองซึ่งจะเริ่มต้นการประเมินด้วยเช่นกัน แต่จะไม่เชื่อมโยงกับคิวรีของผู้ใช้และแสดงในการวินิจฉัย คิวรีที่ระบบสร้างขึ้นอื่นๆ อาจรวมถึงตัวนําทางหรือประสบการณ์การรับข้อมูล
เมื่อคุณกด ขั้นตอนวินิจฉัย Power Query จะเรียกใช้การประเมินพิเศษของขั้นตอนที่คุณกําลังดู จากนั้นจะแสดงการวินิจฉัยสําหรับขั้นตอนนั้นโดยไม่แสดงการวินิจฉัยสําหรับขั้นตอนอื่น ๆ ในคิวรีให้คุณเห็น การประเมินนี้สามารถทําให้การดูแคบลงในปัญหานั้นง่ายขึ้นมาก
สิ่งสําคัญคือถ้าคุณกําลังบันทึกการติดตามทั้งหมดจาก เริ่มการวินิจฉัย ที่คุณกด หยุดการวินิจฉัย การหยุดการวินิจฉัยช่วยให้กลไกจัดการรวบรวมร่องรอยที่บันทึกไว้และแยกวิเคราะห์ลงในเอาต์พุตที่เหมาะสม หากไม่มีขั้นตอนนี้ การติดตามจะสูญหาย
ขณะนี้เรามีการวินิจฉัยสามประเภท ซึ่งหนึ่งในนั้นมีรายละเอียดสองระดับ
การวินิจฉัยตัวแรกคือการวินิจฉัยหลักซึ่งมีมุมมองโดยละเอียดและมุมมองสรุป มุมมองสรุปมีจุดมุ่งหมายเพื่อให้ข้อมูลเชิงลึกเกี่ยวกับเวลาที่ใช้ในคิวรีของคุณในทันที มุมมองโดยละเอียดนั้นลึกกว่ามากบรรทัดต่อบรรทัดและโดยทั่วไปแล้วจําเป็นสําหรับการวินิจฉัยร้ายแรงโดยผู้ใช้ที่เป็นผู้มีอํานาจเท่านั้น
สําหรับมุมมองนี้ ความสามารถบางอย่าง เช่น คอลัมน์คิวรีของแหล่งข้อมูล จะพร้อมใช้งานเฉพาะกับตัวเชื่อมต่อบางตัวเท่านั้น เราจะพยายามขยายความคุ้มครองนี้ต่อไปในอนาคต
พาร์ติชันความเป็นส่วนตัวของข้อมูลช่วยให้คุณเข้าใจพาร์ติชันเชิงตรรกะที่ใช้สําหรับความเป็นส่วนตัวของข้อมูลได้ดียิ่งขึ้น
หมายเหตุ
Power Query อาจดําเนินการประเมินที่คุณอาจไม่ได้ทริกเกอร์โดยตรง ระบบจะดําเนินการประเมินเหล่านี้บางอย่างเพื่อเรียกใช้เมตาดาต้าเพื่อให้เราสามารถปรับคิวรีของเราให้เหมาะสมที่สุด หรือเพื่อให้ประสบการณ์ใช้งานของผู้ใช้ที่ดีขึ้น (เช่น การเรียกคืนรายการของค่าที่แตกต่างกันภายในคอลัมน์ที่แสดงในประสบการณ์การกรองแถว) ผู้อื่นอาจเกี่ยวข้องกับวิธีที่ตัวเชื่อมต่อจัดการการประเมินแบบขนาน ในเวลาเดียวกัน ถ้าคุณเห็นในการวินิจฉัยคิวรีซ้ํา ๆ ที่คุณไม่เชื่อว่าสมเหตุสมผล คุณสามารถติดต่อผ่านช่องทางสนับสนุนปกติ ได้เลย-คําติชมของคุณคือการปรับปรุงผลิตภัณฑ์ของเรา
การวินิจฉัยคิวรีมีสองมุมมอง: สรุปและรายละเอียด มุมมองสรุป "ยุบ" การดําเนินการที่เกี่ยวข้องหลายรายการเป็นการดําเนินการเดียว ในกระบวนการนี้ รายละเอียดที่รวบรวมโดยแต่ละการดําเนินการจะถูกรวมเข้าด้วยกัน และระยะเวลาเฉพาะจะถูกรวมเข้าด้วยกัน ไม่มีข้อมูลใดสูญหายไปเนื่องจากเป็นส่วนหนึ่งของกระบวนการนี้
มุมมองสรุปให้ภาพรวมของสิ่งที่เกิดขึ้นในระหว่างการประเมินผลเพื่อให้ง่ายต่อการตรวจทานระดับสูง ถ้าต้องการการแบ่งย่อยเพิ่มเติมสําหรับการดําเนินการเฉพาะ คุณสามารถดูรหัสกลุ่มและดูการดําเนินการที่สอดคล้องกันที่ถูกจัดกลุ่มในมุมมองรายละเอียดได้
เมื่อเกิดการรีเฟรชในตัวแก้ไข Power Query มีหลายครั้งที่ดําเนินการอยู่เบื้องหลังเพื่อพยายามมอบประสบการณ์ผู้ใช้ที่คล่องตัวให้กับคุณ ตัวอย่างเช่น เมื่อคุณ รีเฟรชตัวอย่าง ตัวประเมินจะดําเนินการขั้นตอนสุดท้ายของแต่ละคิวรีที่ระบุ แต่ในพื้นหลังระบบจะเรียกใช้ n-1 ขั้นตอน n-2 ขั้นตอน และอื่น ๆ ตามลําดับ ดังนั้นถ้าคุณย้อนกลับผ่านขั้นตอนของคุณ ขั้นตอนดังกล่าวก็จะพร้อมใช้งานแล้ว
เพื่อให้มีประสิทธิภาพการทํางานที่สูงขึ้น ขณะนี้การแคชบางอย่างเกิดขึ้นเพื่อไม่จําเป็นต้องรีรันทุกส่วนของแผนคิวรีขั้นสุดท้ายเมื่อย้อนกลับผ่านขั้นตอน ในขณะที่การแคชนี้มีประโยชน์สําหรับการเขียนตามปกติ แต่ก็หมายความว่าคุณจะไม่ได้รับข้อมูลการเปรียบเทียบขั้นตอนที่ถูกต้องเสมอไปเนื่องจากการประเมินในภายหลังที่ดึงข้อมูลที่แคชไว้
เมื่อทําการวิเคราะห์ผลลัพธ์ของการบันทึก สิ่งสําคัญคือต้องกรองเซสชันการบันทึกตาม Id เพื่อให้คอลัมน์เช่น % ระยะเวลาพิเศษ เหมาะสม
Id เป็นตัวระบุแบบรวม รูปแบบของตัวเลขสองตัว คือตัวเลขหนึ่งตัวก่อนจุด และต่อท้ายอีกตัว ตัวเลขแรกจะเหมือนกันสําหรับการประเมินทั้งหมดที่เป็นผลมาจากการดําเนินการของผู้ใช้รายเดียว กล่าวอีกนัยหนึ่งถ้าคุณกดรีเฟรชสองครั้ง มีตัวเลขที่แตกต่างกันสองตัวที่นําจุดหนึ่งสําหรับแต่ละกิจกรรมของผู้ใช้ที่ดําเนินการ การกําหนดหมายเลขนี้เป็นลําดับสําหรับการบันทึกการวินิจฉัยที่กําหนดไว้
ตัวเลขที่สองแสดงถึงการประเมินโดยกลไกจัดการ หมายเลขนี้เป็นลําดับสําหรับอายุการใช้งานของกระบวนการที่จัดคิวการประเมิน ถ้าคุณเรียกใช้เซสชันการบันทึกการวินิจฉัยหลายรายการ ตัวเลขนี้จะยังคงเพิ่มขึ้นในเซสชันที่แตกต่างกัน
โดยสรุป ถ้าคุณเริ่มการบันทึก ให้กดการประเมินหนึ่งครั้ง และหยุดการบันทึก Id บางตัวจะปรากฏในการวินิจฉัยของคุณ แต่เนื่องจากคุณเพียงหนึ่งการกระทําเท่านั้น นั่นคือ 1.1, 1.2, 1.3 และอื่น ๆ ทั้งหมด
การรวมกันของ activityId และ evaluationId ซึ่งคั่นด้วยจุด จะให้ตัวระบุที่ไม่ซ้ํากันสําหรับการประเมินเซสชันการบันทึกเดียว
ชื่อของคิวรีในบานหน้าต่างด้านซ้ายของตัวแก้ไข Power Query
ชื่อของขั้นตอนในบานหน้าต่างด้านขวาของตัวแก้ไข Power Query สิ่งต่าง ๆ เช่น ตัวกรองดรอปดาวน์มักจะเชื่อมโยงกับขั้นตอนที่คุณกรองแม้ว่าคุณไม่ได้รีเฟรชขั้นตอน
ประเภทของการดําเนินงาน
ข้อมูลนี้บอกคุณว่าคุณกําลังเข้าถึงแหล่งข้อมูลชนิดใด เช่น SQL หรือ Oracle
การดําเนินงานจริงที่กําลังดําเนินการอยู่ การดําเนินการนี้อาจรวมถึงงานตัวประเมิน การเปิดการเชื่อมต่อ การส่งคิวรีไปยังแหล่งข้อมูล และอื่น ๆ อีกมากมาย
เวลาที่การดําเนินงานเริ่มต้น
เวลาที่การดําเนินงานสิ้นสุด
คอลัมน์ ระยะเวลาเฉพาะ ของเหตุการณ์คือ ระยะเวลาที่เหตุการณ์ทํางานอยู่ ซึ่งตรงกันข้ามกับค่า "ระยะเวลา" ที่เป็นผลมาจากการลบค่าในคอลัมน์เวลาเริ่มต้นของเหตุการณ์และคอลัมน์เวลาสิ้นสุด ค่า "ระยะเวลา" นี้แสดงถึงเวลารวมที่ผ่านไประหว่างเวลาที่เหตุการณ์เริ่มต้นและเมื่อสิ้นสุด ซึ่งอาจรวมถึงเวลาที่เหตุการณ์อยู่ในสถานะถูกระงับหรือไม่ได้ใช้งาน และเหตุการณ์อื่นกําลังใช้ทรัพยากร
% ระยะเวลาเฉพาะจะเพิ่มสูงสุดประมาณ 100% ภายในการประเมินที่กําหนด ดังที่แสดงโดยคอลัมน์ Id ตัวอย่างเช่น ถ้าคุณกรองแถวที่มี Id 1.x เปอร์เซ็นต์ระยะเวลาเฉพาะจะรวมเป็นประมาณ 100% นี่ไม่ใช่กรณีถ้าคุณรวมค่า % ระยะเวลาแบบพิเศษ ของแถวทั้งหมดในตารางการวินิจฉัยที่ระบุ
เวลาแบบสัมบูรณ์ แทนที่จะเป็น % ของระยะเวลาแบบเฉพาะ ระยะเวลารวม (นั่นคือ ระยะเวลาพิเศษ + เวลาเมื่อไม่ได้ใช้งานเหตุการณ์) ของการประเมินสามารถคํานวณในหนึ่งในสองวิธี:
ค้นหาการดําเนินการที่เรียกว่า "การประเมิน" ความแตกต่างระหว่างเวลาสิ้นสุด–เวลาเริ่มต้นส่งผลให้ระยะเวลาทั้งหมดของเหตุการณ์
ลบเวลาเริ่มต้นต่ําสุดของการดําเนินการทั้งหมดในเหตุการณ์จากเวลาสิ้นสุดสูงสุด ในกรณีที่ข้อมูลที่รวบรวมสําหรับเหตุการณ์ไม่มีบัญชีสําหรับระยะเวลาทั้งหมด การดําเนินการที่ชื่อว่า "Trace Gaps" จะถูกสร้างขึ้นในบัญชีสําหรับช่องว่างเวลานี้
ทรัพยากรที่คุณกําลังเข้าถึงสําหรับข้อมูล รูปแบบที่แน่นอนของทรัพยากรนี้ขึ้นอยู่กับแหล่งข้อมูล
Power Query ทําอะไรบางอย่างที่เรียกว่า การพับ ซึ่งเป็นการเรียกใช้ส่วนต่าง ๆ ของคิวรีกับแหล่งข้อมูลส่วนหลังให้มากที่สุดเท่าที่เป็นไปได้ ในโหมด DirectQuery (ผ่าน Power Query) ที่เปิดใช้งาน จะแปลงการเรียกใช้แบบพับนั้นเท่านั้น ในโหมดนําเข้า การแปลงที่ไม่สามารถพับได้จะถูกเรียกใช้ภายในเครื่องแทน
คอลัมน์คิวรีแหล่งข้อมูลช่วยให้คุณสามารถดูคิวรีหรือ HTTP request/response ที่ส่งเทียบกับแหล่งข้อมูล back-end ได้ เมื่อคุณเขียนคิวรีของคุณในตัวแก้ไข คิวรีแหล่งข้อมูลจํานวนมากจะถูกปล่อยออกมา คิวรีเหล่านี้บางคิวรีเป็นคิวรีแหล่งข้อมูลขั้นสุดท้ายที่แท้จริงเพื่อแสดงตัวอย่าง แต่ผู้อื่นอาจเป็นสําหรับการสร้างโปรไฟล์ข้อมูล ตัวกรองดรอปดาวน์ ข้อมูลเกี่ยวกับการรวม การเรียกคืนเมตาดาต้าสําหรับ Schema และคิวรีขนาดเล็กอื่นๆ จํานวนหนึ่ง
โดยทั่วไปคุณไม่ควรกังวลเกี่ยวกับจํานวนคิวรีแหล่งข้อมูลที่ปล่อยออกมา เว้นแต่ว่ามีเหตุผลที่เฉพาะเจาะจงที่ควรกังวล คุณควรมุ่งเน้นไปที่การทําให้แน่ใจว่ามีการดึงข้อมูลเนื้อหาที่เหมาะสม คอลัมน์นี้ยังอาจช่วยตรวจสอบว่าการประเมิน Power Query ถูกพับทั้งหมดหรือไม่
มีข้อมูลจํานวนมากที่ถูกดึงโดยตัวเชื่อมต่อของเรา ส่วนใหญ่มีความไม่คล่องตัวและไม่พอดีกับลําดับชั้นคอลัมน์มาตรฐาน ข้อมูลนี้จะอยู่ในระเบียนในคอลัมน์ข้อมูลเพิ่มเติม ข้อมูลที่บันทึกจากตัวเชื่อมต่อแบบกําหนดเองจะปรากฏที่นี่เช่นกัน
จํานวนแถวที่ส่งกลับโดยคิวรีแหล่งข้อมูล ไม่ได้เปิดใช้งานบนตัวเชื่อมต่อทั้งหมด
ความยาวเนื้อหาที่ส่งกลับโดย HTTP Requests ตามที่กําหนดไว้โดยทั่วไป Schema นี้ไม่ได้เปิดใช้งานในตัวเชื่อมต่อทั้งหมด และไม่ถูกต้องสําหรับตัวเชื่อมต่อที่เรียกคําขอเป็นกลุ่ม
ค่าบูลีนที่บ่งชี้ว่าเป็นคิวรีที่สร้างโดยผู้ใช้และแสดงในบานหน้าต่างด้านซ้าย หรือถ้าคิวรีถูกสร้างขึ้นโดยการดําเนินการของผู้ใช้อื่น การดําเนินการอื่น ๆ ของผู้ใช้อาจรวมถึงสิ่งต่าง ๆ เช่นการเลือกตัวกรองหรือการใช้ตัวนําทางในประสบการณ์การรับข้อมูล
พาธแสดงเส้นทางสัมพัทธ์ของการดําเนินการ เมื่อดูเป็นส่วนหนึ่งของแผนผังช่วงสําหรับการดําเนินการทั้งหมดภายในการประเมินเดียว ที่ด้านบน (ราก) ของทรี มีการดําเนินการเดียวที่เรียกว่า การประเมิน ด้วยเส้นทาง "0" เวลาเริ่มต้นของการประเมินนี้สอดคล้องกับจุดเริ่มต้นของการประเมินนี้ทั้งหมด เวลาสิ้นสุดของการประเมินนี้จะแสดงเมื่อการประเมินทั้งหมดเสร็จสิ้น การดําเนินการระดับบนสุดนี้มีระยะเวลาเฉพาะของ 0 เนื่องจากวัตถุประสงค์เพียงอย่างเดียวคือทําหน้าที่เป็นรากของต้นไม้
สาขาการดําเนินงานเพิ่มเติมจากราก ตัวอย่างเช่น การดําเนินการอาจมี "0/1/5" เป็นเส้นทาง เส้นทางนี้จะเข้าใจว่าเป็น:
- 0: รากต้นไม้
- 1: พาเรนต์ของการดําเนินงานปัจจุบัน
- 5: ดัชนีของการดําเนินการปัจจุบัน
การดําเนินการ "0/1/5" อาจมีโหนดย่อย ซึ่งในกรณีนี้ เส้นทางมีฟอร์ม "0/1/5/8" ด้วย 8 ที่แสดงดัชนีของรอง
การรวมการดําเนินการสอง (หรือมากกว่า) จะไม่เกิดขึ้นหากนําไปสู่การสูญเสียรายละเอียด การจัดกลุ่มถูกออกแบบมาเพื่อ "คําสั่ง" โดยประมาณที่ดําเนินการในระหว่างการประเมิน ในมุมมองโดยละเอียด การดําเนินการหลายรายการจะใช้รหัสกลุ่มร่วมกันซึ่งสอดคล้องกับกลุ่มที่รวมไว้ในมุมมองสรุป
เช่นเดียวกับคอลัมน์ส่วนใหญ่ รหัสกลุ่มจะเกี่ยวข้องภายในการประเมินเฉพาะ ตามที่กรองโดยคอลัมน์ Id
เหมือนกับ ID สําหรับผลลัพธ์การวินิจฉัยคิวรีอื่น ๆ ส่วนจํานวนเต็มแสดง ID กิจกรรมเดียวในขณะที่ส่วนเศษส่วนแสดงการประเมินเดียว
สอดคล้องกับคิวรี/ขั้นตอนที่ใช้เป็นพาร์ติชันไฟร์วอลล์
การจัดหมวดหมู่ที่อธิบายว่าทําไมพาร์ติชันนี้จึงต้องได้รับการประเมินแยกต่างหาก รวมถึงรายละเอียดเกี่ยวกับระดับความเป็นส่วนตัวของพาร์ติชัน
รายการของเส้นทางทรัพยากรสําหรับทรัพยากรทั้งหมดที่เข้าถึงโดยพาร์ติชันนี้ และโดยทั่วไปแล้วจะระบุแหล่งข้อมูลที่ไม่ซ้ํากัน
รายการของคีย์พาร์ติชันที่พาร์ติชันปัจจุบันใช้ได้ (รายการนี้สามารถใช้เพื่อสร้างกราฟได้)
นิพจน์ที่ได้รับการประเมินที่ด้านบนของคิวรี/ขั้นตอนของพาร์ติชัน ในหลายกรณี กรณีดังกล่าวตรงกับคิวรี/ขั้นตอน
เวลาเมื่อเริ่มการประเมินสําหรับพาร์ติชันนี้
เวลาเมื่อการประเมินสิ้นสุดสําหรับพาร์ติชันนี้
ค่าที่สืบทอดมาจากเวลาสิ้นสุดลบเวลาเริ่มต้น
ถ้ามีการสันนิษฐานพาร์ติชันในเธรดเดียว ระยะเวลาแบบไม่รวมคือระยะเวลา "จริง" ที่สามารถกําหนดแอตทริบิวต์ไปยังพาร์ติชันนี้
ระยะเวลาแบบไม่รวมเป็นเปอร์เซ็นต์
คอลัมน์นี้จะปรากฏเฉพาะเมื่อการวินิจฉัยคิวรี "รวม" หรือ "รายละเอียด" ถูกจับไว้เท่านั้น ซึ่งช่วยให้ผู้ใช้สามารถโต้ตอบระหว่างเอาต์พุตการวินิจฉัยสองรายการได้
เมื่อคุณเรียกใช้ตัวนับประสิทธิภาพการทํางาน ทุก ๆ ครึ่งวินาที Power Query จะใช้สแนปช็อตของการใช้ทรัพยากร สแนปช็อตนี้ไม่มีประโยชน์สําหรับการคิวรีอย่างรวดเร็ว แต่จะเป็นประโยชน์สําหรับคิวรีที่ใช้ทรัพยากรมากขึ้น
เปอร์เซ็นต์ของเวลาที่ใช้โดยตัวประมวลผลในคิวรี เปอร์เซ็นต์นี้อาจสูงกว่า 100% เนื่องจากมีตัวประมวลผลหลายตัว
ระยะเวลารวมของเวลาตัวประมวลผลที่ใช้ในคิวรี
ความเร็วอัตราความเร็วของข้อมูลที่ได้รับจากแหล่งข้อมูล ซึ่งแสดงในหน่วยเป็นไบต์ต่อวินาที
จํานวนหน่วยความจําเสมือนที่สํารองโดยการประเมิน
จํานวนหน่วยความจําที่สงวนไว้โดยการประเมิน