แสดงภาพและตีความการวินิจฉัยคิวรีใน Power BI

บทนำ

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

การทําความเข้าใจที่ดีเกี่ยวกับสิ่งที่เกี่ยวข้องในแต่ละคอลัมน์ใน Schema การวินิจฉัยคิวรีหมายความว่าอย่างไร ซึ่งเราจะไม่ทําซ้ําในบทช่วยสอนสั้น ๆ นี้ มีการเขียน ทั้งหมดของงานในที่นี่

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

ตามที่กล่าวถึงในบทความของเราเกี่ยวกับการบันทึกการวินิจฉัย ฉันจึงใช้งาน OData และ SQLการติดตามของตารางเดียวกัน (หรือเกือบดังมาก) - ตารางลูกค้าจาก Northwind โดยเฉพาะฉันจะเน้นไปที่ถามกันทั่วไปจากลูกค้าของเรา และหนึ่งในสิ่งที่ง่ายที่สุดในการแปลชุดการติดตาม: การรีเฟรชเต็มรูปแบบของแบบลองข้อมูล

การสร้างการแสดงภาพ

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

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

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

การแสดงภาพรายละเอียดและการรวมเวลา

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

การตีความการแสดงภาพ

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

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

ถ้าเราต้องการดูวิธีใช้เวลา เราสามารถดูการแสดงภาพที่เราสร้างขึ้นข้างต้นได้

ตอนนี้ เนื่องจากค่าเวลาของคิวรีตัวอย่างที่เราใช้ที่นี่มีขนาดเล็กมาก ถ้าเราต้องการใช้งานกับวิธีที่รายงาน Power BI เป็นเวลาที่ดีกว่าถ้าเราแปลงคอลัมน์ระยะเวลาแบบเฉพาะเป็น 'วินาที'ในตัวแก้ไขPower Queryรายงาน เมื่อเราสิ่งนี้เราสามารถดูที่แผนภูมิของเราและรับความคิดที่ดีพอ ๆ กับเวลาที่ใช้

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

สรุปการวินิจฉัยคิวรี OData Northwind

ถ้าเราดําเนินการเดียวกันทั้งหมด และสร้างการแสดงภาพที่คล้ายกัน แต่ด้วยการติดตาม SQL แทนที่จะเป็น ODATA เราจะเห็นว่าแหล่งข้อมูลสองแห่งเปรียบเทียบกันอย่างไร!

สรุปการวินิจฉัยคิวรี OData Northwind

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

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

เจาะลึกลงในข้อมูล

ดูเส้นทาง

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

https://services.odata.org/V4/Northwind/Northwind.svc/Customers?$filter=ContactTitle%20eq%20%27Sales%20Representative%27&$select=CustomerID%2CCountry HTTP/1.1
Content-Type: application/json;odata.metadata=minimal;q=1.0,application/json;odata=minimalmetadata;q=0.9,application/atomsvc+xml;q=0.8,application/atom+xml;q=0.8,application/xml;q=0.7,text/plain;q=0.7

<Content placeholder>

Response:
Content-Type: application/json;odata.metadata=minimal;q=1.0,application/json;odata=minimalmetadata;q=0.9,application/atomsvc+xml;q=0.8,application/atom+xml;q=0.8,application/xml;q=0.7,text/plain;q=0.7
Content-Length: 435

<Content placeholder>

คิวรีแหล่งข้อมูลนี้จะเกี่ยวข้องกับการดําเนินการที่ใช้เวลาขึ้นเท่านั้น เช่น 1% ของระยะเวลาแบบเฉพาะ ในขณะเดียวกัน มีวิธีที่คล้ายกันมาก:

Request:
GET https://services.odata.org/V4/Northwind/Northwind.svc/Customers?$filter=ContactTitle eq 'Sales Representative'&$select=CustomerID%2CCountry HTTP/1.1

Response:
https://services.odata.org/V4/Northwind/Northwind.svc/Customers?$filter=ContactTitle eq 'Sales Representative'&$select=CustomerID%2CCountry
HTTP/1.1 200 OK

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

ค่าเหล่านี้คือค่าสูงสุด แต่อยู่ภายในขอบเขตของสิ่งที่คุณอาจเห็น