ฟังก์ชัน DAX COLUMNSTATISTICS ใน LuckyTemplates

ฟังก์ชัน DAX COLUMNSTATISTICS ใน LuckyTemplates

ฉันต้องการสำรวจการใช้งานแบบไดนามิกของฟังก์ชัน DAX COLUMNSTATISTICS() ต่อไป – ฟังก์ชัน DAX ใหม่ที่แทบไม่มีเอกสารเกือบทั้งหมดถูกเพิ่มลงใน LuckyTemplates ในเดือนสิงหาคม 2021 ซึ่งมีแง่มุมเฉพาะบางอย่างที่ฉันคิดว่าน่าสนใจมากที่จะทำความคุ้นเคย . คุณสามารถดูวิดีโอทั้งหมดของบทช่วยสอนนี้ได้ที่ด้านล่างของบล็อกนี้

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

สารบัญ

ฟังก์ชัน DAX COLUMNSTATISTICS ทำงานอย่างไร

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

ฟังก์ชัน DAX COLUMNSTATISTICS ใน LuckyTemplates

ข้อมูลที่ฉันกำลังใช้เป็นเพียงชุดข้อมูลการปฏิบัติสำหรับเครื่องมือภายนอกของ LuckyTemplates เป็นแบบจำลองข้อมูลที่ค่อนข้างง่ายที่มีตารางมิติข้อมูล 5 ตาราง ตารางข้อเท็จจริง และตารางวัดผล แบบจำลองเช่นนี้ติดตามได้ไม่ยาก แต่แบบจำลองที่ซับซ้อนต้องการการตรวจสอบชุดข้อมูลที่ซับซ้อนกว่ามาก

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

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

สำหรับตัวอย่างนี้ ลองเพิ่มตารางให้กับโมเดลข้อมูลที่ฉันกำลังทำอยู่นี้ ใน Power Query เราจะไปที่New Sourceแล้วตามด้วยBlank Query จากนั้นเราจะเข้าสู่ตัว แก้ไขขั้นสูงและฉันจะวางฟังก์ชันที่เรียกว่าList.Dates เราจะใช้มันเพื่อสร้างตารางของจำนวนสมาชิก 10,000 นั่นก็คือ 10,000 วันที่ไม่ซ้ำกัน

มันจะส่งคืนรายการ 10,000 รายการ และเราสามารถแปลงเป็นตาราง จากนั้นจึงเปลี่ยนชื่อตารางนั้น

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

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

ไปที่ Tabular Editor 3 ซึ่งฉันคิดว่าเป็นวิธีที่ดีที่สุดในการค้นหาว่ามาตรการ DAX ที่ซับซ้อนกำลังทำอะไรอยู่

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

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

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

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

ในกรณีนี้ เราจะต้องอยู่กับสิ่งที่ดูเหมือนหน่วยวัด แต่จริงๆ แล้วเป็นการอ้างอิงคอลัมน์โดยไม่มีการอ้างอิงตารางอยู่ข้างหน้า และนั่นยังคงใช้ได้แม้ว่าจะสับสนในการตั้งชื่อก็ตาม ตอนนี้ ถ้าเราแทนที่คำสั่ง RETURN นี้ด้วยTabCol ของเรา เราจะได้สิ่งที่เราคาดหวัง นั่นคือฟิลด์ตารางแบบจำลองนั้น

จากนั้นสำหรับผลลัพธ์ เราแค่ทำการนับคอลัมน์ของตารางที่แตกต่างกัน ดังนั้น ถ้าเราแทนที่สิ่งนี้ด้วยDISTINCT(TabsCol)เราจะได้เจ็ดตาราง

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

ลองมาดูที่MaxCardinality แม้ว่านี่จะเป็นสเกลเลอร์ แต่เราสามารถเปลี่ยนให้เป็นตารางเซลล์เดียวได้เพียงแค่ใส่วงเล็บไว้รอบๆ และถ้าเราตีห้า เราจะเห็นว่านั่นคือค่าคาร์ดินาลิตี้ของ 10,000

ดังนั้น คำถามคือ เราจะนำค่านี้ไปส่งคืนตารางที่เกี่ยวข้องกับจำนวนนับได้อย่างไร

ในการทำเช่น นั้นเราใช้รูปแบบทั่วไปนี้โดยใช้จากนั้นเราคัดลอกไปยังคำสั่ง RETURN ของเรา และจะแสดงแถวที่เราคาดว่าจะได้รับ ซึ่งก็คือคอลัมน์ 10,000 Dates แทนที่จะได้หนึ่งแถว (เพราะเป็น TOPN) เราได้สองแถวเพราะมีเสมอกัน

สิ่งที่ ColStats ทำคือสร้างดัชนีสำหรับทุกตารางในแถวดัชนีที่ซ่อนอยู่ซึ่งเรียกว่าRowNumberซึ่งเป็นตัวระบุเฉพาะสำหรับแต่ละแถวของตาราง ดังนั้น MaxCardinality จะถูกมิเรอร์โดย RowNumber เสมอ หากนั่นคือตัวระบุเฉพาะ

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

จากนั้น หากเราวางMaxCardinalityในคำสั่ง RETURN และใส่ไว้ในวงเล็บเหลี่ยมเพื่อส่งคืนตารางแทนที่จะเป็นสเกลเซอร์ ก็จะส่งกลับค่าของการทดสอบ

รูปแบบ TOPN DAX นี้เป็นรูปแบบที่ดีในการจดจำเมื่อคุณต้องการหาค่าสูงสุดหรือค่าต่ำสุด จากนั้นส่งคืนแอตทริบิวต์ที่เกี่ยวข้องกับค่าต่ำสุดหรือสูงสุดนั้น


ปรับสูตร LuckyTemplates ให้เหมาะสมโดยใช้ DAX ขั้นสูง
การวิเคราะห์การวัด DAX: การแบ่งการวัด DAX แบบยาว
การวัด DAX ใน LuckyTemplates โดยใช้การวัดแยกย่อย

บทสรุป

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

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

ดีที่สุด!


ตนเองคืออะไรใน 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 คืออะไร ทั้งหมดที่คุณต้องการรู้