ตัววนซ้ำและการเปลี่ยนบริบทในแบบสอบถาม DAX

ตัววนซ้ำและการเปลี่ยนบริบทในแบบสอบถาม DAX

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

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

สารบัญ

ตัวทำซ้ำซ้อนกับการคำนวณ

หากมีการเรียกใช้การเปลี่ยนบริบทระหว่างการวนซ้ำ ตาราง Materialization จะถูกสร้างขึ้น ซึ่งหมายความว่ามีการเรียกใช้การเปลี่ยนบริบทผ่านสูตรใน DAX ของคุณ ตารางคือข้อมูลที่ไม่บีบอัดซึ่งส่งไปยังโปรแกรมสร้างสูตร

เพื่อแสดงให้เห็น มาตรการแรกใช้สำหรับการขายครั้งใหญ่ที่ได้รับราคาปัจจุบันหากมากกว่าหรือเท่ากับ 500

ตัววนซ้ำและการเปลี่ยนบริบทในแบบสอบถาม DAX

มาตรการถัดไปคือค่าเฉลี่ยของ Big Sales ที่มีตัวทำซ้ำที่ซ้อนกัน

ตัววนซ้ำและการเปลี่ยนบริบทในแบบสอบถาม DAX

การวัดผลครั้งล่าสุดได้รับค่าเฉลี่ยของ Big Sales โดยไม่มีตัววนซ้ำที่ซ้อนกันและ CallBackDataID

ตัววนซ้ำและการเปลี่ยนบริบทในแบบสอบถาม DAX

รันการวัดด้วยตัวทำซ้ำที่ซ้อนกัน ตรวจสอบให้แน่ใจว่าได้ล้างแคชก่อนที่จะรัน จากนั้นเปิด Server Timings and Query Plan

ตัววนซ้ำและการเปลี่ยนบริบทในแบบสอบถาม DAX

คุณจะเห็นว่ามันสร้างการสแกน 3 ครั้ง CallBackDataID 2 ครั้ง และ 15,003 แถว นี่เป็นสาเหตุของความกังวลเนื่องจากมีเพียง 101 แถวสำหรับเอาต์พุต สิ่งนี้เกิดขึ้นเนื่องจากการวัดมีตัววนซ้ำสองตัวหรือฟังก์ชัน X

นี่คือรูปแบบที่ขยายเต็มที่ของมาตรการที่เรียกใช้:

ตัววนซ้ำและการเปลี่ยนบริบทในแบบสอบถาม DAX

กำลังทำซ้ำตาราง Fact Sales ด้วยจากนั้นย้ำอีกครั้งด้วยCallBackDataIDโดยใช้รูปแบบที่สั้นลงของการวัดนี้มี ฟังก์ชัน โดยนัย ที่เรียกใช้การเปลี่ยนบริบทและทำให้ตารางเป็นจริง นั่นเป็นสาเหตุที่ดึง 15,003 แถวแม้ว่าจะมีเพียง 101 แถวสำหรับเอาต์พุต

เรียกใช้การวัดอื่นที่ไม่มีตัววนซ้ำที่ซ้อนกัน มันยังคงวนซ้ำตาราง Fact Sales โดยใช้AVERAGEXแต่ราคาปัจจุบันอยู่นอกฟังก์ชัน โดยจะกรองสินค้าที่ราคาปัจจุบันมากกว่าหรือเท่ากับ 500 ออก จากนั้นจึงคำนวณหาค่าเฉลี่ย

ตัววนซ้ำและการเปลี่ยนบริบทในแบบสอบถาม DAX

คุณจะเห็นว่ามีเพียง 2 สแกน 104 แถว และไม่มี CallBackDataID ดังนั้นหากคุณใช้CALCULATEคุณสามารถกำจัดตัววนซ้ำที่ซ้อนกันและCallBackDataIDs


ฟังก์ชัน DAX ใน LuckyTemplates: การใช้ตัววน
ซ้ำ วิธีการใช้ฟังก์ชันวนซ้ำใน
การคำนวณ LuckyTemplates DAX – การเปลี่ยนบริบทตัวกรอง

บทสรุป

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

ทางออกที่ดี ที่สุดสำหรับสิ่งนี้คือวางไว้ในCALCULATE สิ่งนี้สร้างงานน้อยลงสำหรับกลไกจัดการสูตรและเพิ่มขีดความสามารถของกลไกการจัดเก็บให้สูงสุด


ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง

ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง

ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง

วิธีบันทึกและโหลดไฟล์ RDS ใน R

วิธีบันทึกและโหลดไฟล์ RDS ใน R

คุณจะได้เรียนรู้วิธีการบันทึกและโหลดวัตถุจากไฟล์ .rds ใน R บล็อกนี้จะครอบคลุมถึงวิธีการนำเข้าวัตถุจาก R ไปยัง LuckyTemplates

เยี่ยมชม N วันทำการแรก – โซลูชันภาษาการเข้ารหัส DAX

เยี่ยมชม N วันทำการแรก – โซลูชันภาษาการเข้ารหัส DAX

ในบทช่วยสอนภาษาการเข้ารหัส DAX นี้ เรียนรู้วิธีใช้ฟังก์ชัน GENERATE และวิธีเปลี่ยนชื่อหน่วยวัดแบบไดนามิก

แสดงข้อมูลเชิงลึกโดยใช้เทคนิคการแสดงภาพแบบไดนามิกแบบหลายเธรดใน LuckyTemplates

แสดงข้อมูลเชิงลึกโดยใช้เทคนิคการแสดงภาพแบบไดนามิกแบบหลายเธรดใน LuckyTemplates

บทช่วยสอนนี้จะครอบคลุมถึงวิธีการใช้เทคนิค Multi Threaded Dynamic Visuals เพื่อสร้างข้อมูลเชิงลึกจากการแสดงข้อมูลแบบไดนามิกในรายงานของคุณ

บทนำในการกรองบริบทใน LuckyTemplates

บทนำในการกรองบริบทใน LuckyTemplates

ในบทความนี้ ฉันจะเรียกใช้ผ่านบริบทตัวกรอง บริบทตัวกรองเป็นหนึ่งในหัวข้อหลักที่ผู้ใช้ LuckyTemplates ควรเรียนรู้ในขั้นต้น

เคล็ดลับที่ดีที่สุดในการใช้แอปใน LuckyTemplates Online Service

เคล็ดลับที่ดีที่สุดในการใช้แอปใน LuckyTemplates Online Service

ฉันต้องการแสดงให้เห็นว่าบริการออนไลน์ของ LuckyTemplates Apps สามารถช่วยในการจัดการรายงานและข้อมูลเชิงลึกต่างๆ ที่สร้างจากแหล่งข้อมูลต่างๆ ได้อย่างไร

วิเคราะห์การเปลี่ยนแปลงอัตรากำไรล่วงเวลา – การวิเคราะห์ด้วย LuckyTemplates และ DAX

วิเคราะห์การเปลี่ยนแปลงอัตรากำไรล่วงเวลา – การวิเคราะห์ด้วย LuckyTemplates และ DAX

เรียนรู้วิธีคำนวณการเปลี่ยนแปลงอัตรากำไรของคุณโดยใช้เทคนิคต่างๆ เช่น การแยกสาขาและการรวมสูตร DAX ใน LuckyTemplates

แนวคิด Materialization สำหรับแคชข้อมูลใน DAX Studio

แนวคิด Materialization สำหรับแคชข้อมูลใน DAX Studio

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

การรายงานทางธุรกิจโดยใช้ LuckyTemplates

การรายงานทางธุรกิจโดยใช้ LuckyTemplates

หากคุณยังคงใช้ Excel อยู่จนถึงตอนนี้ นี่เป็นเวลาที่ดีที่สุดในการเริ่มใช้ LuckyTemplates สำหรับความต้องการในการรายงานทางธุรกิจของคุณ

เกตเวย์ LuckyTemplates คืออะไร ทั้งหมดที่คุณต้องการรู้

เกตเวย์ LuckyTemplates คืออะไร ทั้งหมดที่คุณต้องการรู้

เกตเวย์ LuckyTemplates คืออะไร ทั้งหมดที่คุณต้องการรู้