Thep Excel

COLUMNSTATISTICS – ส่งกลับข้อมูลสถิติของทุกคอลัมน์ในโมเดล

COLUMNSTATISTICS ส่งกลับตารางที่ระบุข้อมูลสถิติของทุกคอลัมน์ในทุกตารางของโมเดล DAX ผลลัพธ์ประกอบด้วยชื่อตาราง ชื่อคอลัมน์ ค่า Min/Max, Cardinality (จำนวนค่าไม่ซ้ำ) และความยาวสูงสุด เป็นเครื่องมือสำคัญสำหรับการตรวจสอบคุณภาพข้อมูล การประเมินการกระจายตัว และการเพิ่มประสิทธิภาพโมเดล

=COLUMNSTATISTICS()

By ThepExcel AI Agent
14 December 2025

Function Metrics


Popularity
3/10

Difficulty
3/10

Usefulness
3/10

Syntax & Arguments

=COLUMNSTATISTICS()

Argument Type Required Default Description
none N/A Optional N/A ฟังก์ชันนี้ไม่มีพารามิเตอร์ สามารถเรียกใช้ได้โดยตรง

How it works

ตรวจสอบการกระจายตัวของข้อมูล

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

จัดเอกสารคุณสมบัติของโมเดล

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

เพิ่มประสิทธิภาพประสิทธิภาพของโมเดล

วิเคราะห์ Cardinality และค่า Min/Max เพื่อระบุโอกาสในการเพิ่มประสิทธิภาพ เช่นการหาคอลัมน์ที่มี Cardinality สูงหรือช่วงค่าไม่สมดุล

Examples

ตัวอย่างที่ 1: ดึงข้อมูลสถิติของคอลัมน์ทั้งหมด
EVALUATE COLUMNSTATISTICS()
สูตรพื้นฐานนี้ส่งกลับข้อมูลสถิติทั้งหมดของแต่ละคอลัมน์ในโมเดล รวมถึงค่าต่ำสุด สูงสุด จำนวนค่าไม่ซ้ำ และความยาวของสตริงยาวที่สุด
DAX Formula:

=EVALUATE
COLUMNSTATISTICS()

Result:

ตารางที่แสดงแต่ละคอลัมน์พร้อมด้วย Min, Max, Cardinality และ MaxLength

ตัวอย่างที่ 2: ตรวจหาคอลัมน์ที่มี Cardinality สูง
EVALUATE FILTER( COLUMNSTATISTICS(), [Cardinality] > 10000 ) ORDER BY [Cardinality] DESC
ตรวจหาคอลัมน์ที่อาจมีประสิทธิภาพต่ำเนื่องจากมีความไม่ซ้ำกันสูง เช่น ID หรือ Timestamp ซึ่งอาจต้องการการเพิ่มประสิทธิภาพ
DAX Formula:

=EVALUATE
FILTER(
    COLUMNSTATISTICS(),
    [Cardinality] > 10000
)
ORDER BY [Cardinality] DESC

Result:

รายชื่อคอลัมน์ที่มีค่าไม่ซ้ำมากกว่า 10,000 ค่า

ตัวอย่างที่ 3: ตรวจว่ามีคอลัมน์เสีย (Error) หรือไม่
EVALUATE FILTER( COLUMNSTATISTICS(), ISBLANK([Min]) && ISBLANK([Max]) ) ORDER BY [Table Name], [Column Name]
ตรวจสอบคอลัมน์ที่อาจมีปัญหา เช่น คอลัมน์ไบนารี (BLOB) หรือคอลัมน์ที่มีสถานะข้อผิดพลาด ซึ่ง Min/Max จะเป็นค่าว่าง
DAX Formula:

=EVALUATE
FILTER(
    COLUMNSTATISTICS(),
    ISBLANK([Min]) && ISBLANK([Max])
)
ORDER BY [Table Name], [Column Name]

Result:

รายชื่อคอลัมน์ที่ไม่มีค่า Min/Max (อาจเป็นคอลัมน์ไบนารี หรือมีข้อผิดพลาด)

FAQs

COLUMNSTATISTICS สามารถใช้ในบริบทตัวกรอง (Filter Context) ได้หรือไม่?

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

Cardinality ใน DirectQuery เป็นค่าจริงหรือประมาณการ?

ใน DirectQuery, Cardinality เป็นค่าประมาณการ (ใช้ APPROX_COUNT_DISTINCT) ส่วนในข้อมูลที่นำเข้า Cardinality เป็นค่าที่แน่นอน

คอลัมน์ใดที่จะปรากฏในผลลัพธ์ของ COLUMNSTATISTICS?

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

COLUMNSTATISTICS ใช้เวลานานหรือ?

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

MaxLength เฉพาะคอลัมน์ประเภทใดเท่านั้น?

MaxLength ใช้ได้กับคอลัมน์ประเภท Text เท่านั้น สำหรับคอลัมน์ประเภทอื่นๆ ค่านี้จะเป็นค่าว่าง

Resources & Related

Additional Notes

COLUMNSTATISTICS ส่งกลับตารางที่มีข้อมูลสถิติของทุกคอลัมน์ในโมเดล DAX รวมถึงค่า Min/Max, Cardinality และขนาดสูงสุด เหมาะสำหรับวิเคราะห์คุณลักษณะข้อมูล, ประเมินคุณภาพ และจัดเอกสารโมเดล

Leave a Reply

Your email address will not be published. Required fields are marked *