การแสดงภาพและการแปลการวินิจฉัยคิวรีใน Power BI
บทนำ
เมื่อคุณ บันทึก การวินิจฉัยที่คุณต้องการใช้แล้วขั้นตอนต่อไปคือการสามารถทําความเข้าใจสิ่งที่พวกเขาพูด
จะเป็นประโยชน์มากที่จะมีความเข้าใจที่ดีเกี่ยวกับสิ่งที่แต่ละคอลัมน์ในสคีมาการวินิจฉัยคิวรี่หมายความว่าอะไร ซึ่งเราจะไม่ทําซ้ําในบทช่วยสอนสั้น ๆ นี้ มีเขียนเขียนไว้เต็มๆในที่นี้
โดยทั่วไปเมื่อสร้างการแสดงภาพ จะเป็นการดีกว่าถ้าใช้ตารางที่มีรายละเอียดเต็มรูปแบบ เนื่องจากไม่ว่ามันจะมีจํานวนแถวมากน้อยเพียงใด สิ่งที่คุณอาจกําลังดูอยู่แสดงภาพว่าเวลาที่ใช้ในแหล่งข้อมูลต่าง ๆ เพิ่มขึ้นอย่างไร หรือคิวรีในระบบของฐานข้อมูลที่ปล่อยออกมานั้นเป็นอย่างไร
ตามที่กล่าวถึงในบทความของเราเกี่ยวกับการบันทึกการวินิจฉัย ฉันกําลังทํางานกับการติดตาม OData และ SQL สําหรับตารางเดียวกัน (หรือเกือบทั้งหมด) – ตาราง Customers จาก Northwind โดยเฉพาะอย่างยิ่ง ฉันจะมุ่งเน้นไปที่การถามทั่วไปจากลูกค้าของเรา และหนึ่งในชุดการติดตามที่ง่ายกว่า: การรีเฟรชแบบจําลองข้อมูลทั้งหมด
การสร้างการแสดงภาพ
เมื่อคุณกําลังดําเนินการติดตาม มีหลายวิธีที่คุณสามารถประเมินได้ ในบทความนี้ เราจะมุ่งเน้นไปที่การแยกการแสดงผลข้อมูลด้วยภาพสองรายการเพื่อแสดงรายละเอียดที่คุณสนใจ และอีกอันหนึ่งคือ ดูการจัดสรรเวลาของปัจจัยต่าง ๆ ได้อย่างง่ายดาย สําหรับการแสดงภาพแรก จะใช้ตาราง คุณสามารถเลือกเขตข้อมูลใด ๆ ที่คุณต้องการ แต่เขตข้อมูลที่แนะนําสําหรับการดูสิ่งที่เกิดขึ้นในระดับสูงเป็นเรื่องง่าย:
- Id
- เวลาเริ่มต้น
- แบบ สอบ ถาม
- ขั้น ตอน
- คิวรีแหล่งข้อมูล
- ระยะเวลาเฉพาะ (%)
- จํานวนแถว
- ประเภท
- เป็นคิวรีของผู้ใช้
- เส้น ทาง
สําหรับการแสดงภาพที่สอง ตัวเลือกหนึ่งคือการใช้แผนภูมิคอลัมน์แบบเรียงซ้อน ในพารามิเตอร์ 'แกน' คุณอาจต้องการใช้ 'Id' หรือ 'ขั้นตอน' ถ้าเรากําลังดูที่การรีเฟรช เนื่องจากไม่มีส่วนเกี่ยวข้องกับขั้นตอนในตัวแก้ไขเอง เราอาจแค่ต้องการดูที่ 'Id' สําหรับพารามิเตอร์ 'คําอธิบายแผนภูมิ' คุณควรตั้งค่า 'ประเภท' หรือ 'การดําเนินการ' (ขึ้นอยู่กับส่วนประกอบที่คุณต้องการ) สําหรับ 'ค่า' ให้ตั้งค่า 'ระยะเวลาเฉพาะ' (และตรวจสอบให้แน่ใจว่าไม่ใช่ % เพื่อให้คุณได้รับค่าระยะเวลาดิบ) สุดท้าย สําหรับคําแนะนําเครื่องมือ ให้ตั้งค่า 'เวลาเริ่มต้นแรกเริ่ม'
เมื่อสร้างการแสดงภาพของคุณแล้ว ตรวจสอบให้แน่ใจว่าคุณเรียงลําดับตาม 'เวลาเริ่มต้นแรกสุด' จากน้อยไปมาก เพื่อให้คุณสามารถดูสิ่งที่สั่งซื้อเกิดขึ้นได้
แม้ว่าความต้องการที่แท้จริงของคุณอาจแตกต่างกัน แต่การรวมกันของแผนภูมินี้เป็นจุดเริ่มต้นที่ดีสําหรับการดูไฟล์การวินิจฉัยจํานวนมากและเพื่อวัตถุประสงค์ที่หลากหลาย
การตีความการแสดงภาพ
ตามที่กล่าวถึงด้านบน มีคําถามมากมายที่คุณสามารถลองตอบคําถามด้วยการวินิจฉัยคิวรี แต่คําถามสองข้อที่เราเห็นบ่อยที่สุดกําลังถามว่าใช้เวลาไปอย่างไร และการถามว่าคิวรีที่ส่งไปยังแหล่งข้อมูลคืออะไร
การถามว่าเวลาที่ใช้เป็นเรื่องง่ายและจะคล้ายกันสําหรับตัวเชื่อมต่อส่วนใหญ่ คําเตือนเกี่ยวกับการวินิจฉัยคิวรี ตามที่กล่าวถึงในที่อื่น คือ คุณจะเห็นความสามารถที่แตกต่างกันอย่างมากโดยขึ้นอยู่กับตัวเชื่อมต่อ ตัวอย่างเช่น ตัวเชื่อมต่อที่ใช้ ODBC จํานวนมากจะไม่มีการบันทึกที่ถูกต้องว่าคิวรีใดจะถูกส่งไปยังระบบ Back-end จริงเนื่องจาก Power Query จะเห็นเฉพาะสิ่งที่ส่งไปยังโปรแกรมควบคุม ODBC
ถ้าเราต้องการดูว่าเวลาใช้เวลานี้อย่างไร เราสามารถดูการแสดงภาพที่เราสร้างขึ้นข้างต้นได้
ตอนนี้เนื่องจากค่าเวลาสําหรับคิวรีตัวอย่างที่เรากําลังใช้ที่นี่มีขนาดเล็กมากหากเราต้องการทํางานกับวิธีการรายงาน Power BI เวลาจะดีกว่าถ้าเราแปลง คอลัมน์ระยะเวลา แบบพิเศษเป็น 'วินาที' ในตัวแก้ไข Power Query เมื่อเราทําเช่นนี้การแปลงเราสามารถดูที่แผนภูมิของเราและได้รับความคิดที่ดีเกี่ยวกับตําแหน่งที่ใช้เวลา
สําหรับผลลัพธ์ OData ของฉัน ฉันเห็นในภาพว่าเวลาส่วนใหญ่ถูกใช้เพื่อดึงข้อมูลจากแหล่งที่มา - ถ้าฉันเลือกรายการ 'แหล่งข้อมูล' ในคําอธิบายแผนภูมิ มันจะแสดงการดําเนินการที่แตกต่างกันทั้งหมดที่เกี่ยวข้องกับการส่งคิวรีไปยังแหล่งข้อมูล
ถ้าเราดําเนินการทั้งหมดเดียวกันและสร้างการแสดงภาพที่คล้ายกัน แต่ด้วยการติดตาม SQL แทน ODATA เราจะเห็นว่าแหล่งข้อมูลสองแหล่งเปรียบเทียบกันอย่างไร!
ถ้าเราเลือกตารางแหล่งข้อมูล เช่นเดียวกับการวินิจฉัย ODATA เราสามารถดูการประเมินผลแรก (2.3 ในภาพนี้) ปล่อยคิวรีเมตาดาต้า โดยที่การประเมินครั้งที่สองดึงข้อมูลที่เราสนใจ เนื่องจากเรากําลังดึงข้อมูลจํานวนเล็กน้อยในกรณีนี้ ข้อมูลที่ถูกดึงกลับจะใช้ระยะเวลาเล็กน้อย (น้อยกว่าสิบวินาทีสําหรับการประเมินครั้งที่สองทั้งหมดจะเกิดขึ้น โดยมีน้อยกว่ายี่สิบวินาทีสําหรับการดึงข้อมูลด้วยตัวเอง) แต่จะไม่เป็นจริงในทุกกรณี
ดังด้านบน เราสามารถเลือกประเภท 'แหล่งข้อมูล' ในคําอธิบายแผนภูมิเพื่อดูคิวรีที่ปล่อยออกมาได้
เจาะลึกลงในข้อมูล
ดูเส้นทาง
เมื่อคุณกําลังดูสิ่งนี้ หากดูเหมือนว่าเวลาที่ใช้จ่ายเป็นเรื่องแปลก —ตัวอย่างเช่น ในคิวรี OData คุณอาจเห็นว่ามีคิวรีแหล่งข้อมูลที่มีค่าต่อไปนี้:
Request:
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% ของระยะเวลาเฉพาะ ถ้าคุณเปิด เส้นทางคุณพบว่าหลังเป็นลูกของอดีต ซึ่งหมายความว่าโดยทั่วไปคิวรีแรกจะเพิ่มเวลาเล็กน้อยด้วยตัวเอง โดยมีการติดตามการเรียกข้อมูลจริงจากคิวรี 'ภายใน'
ค่าเหล่านี้เป็นค่าที่ร้ายแรง แต่อยู่ภายในขอบเขตของสิ่งที่อาจเห็นได้