---
title: COLUMNSTATISTICS – ส่งกลับข้อมูลสถิติของทุกคอลัมน์ในโมเดล
url: https://www.thepexcel.com/functions/dax/information/columnstatistics-dax/
type: function-explainer
program: DAX
syntax: COLUMNSTATISTICS()
date: 2025-12-14
updated: 2025-12-17
scores:
  popularity: 3
  difficulty: 3
  usefulness: 3
---

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

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

## คำอธิบาย

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

## Syntax

```excel
COLUMNSTATISTICS()
```

**Variant**

```excel
COLUMNSTATISTICS()
```

ไม่มีพารามิเตอร์ ส่งกลับข้อมูลสถิติของคอลัมน์ที่มองเห็นได้ทั้งหมดในโมเดล

## Arguments

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

## เคสการใช้งาน

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

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

_เหมาะกับ:_ data-profiling

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

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

_เหมาะกับ:_ model-documentation

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

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

_เหมาะกับ:_ optimization

## ตัวอย่าง

### 1. ตัวอย่างที่ 1: ดึงข้อมูลสถิติของคอลัมน์ทั้งหมด

```excel
EVALUATE
COLUMNSTATISTICS()
```

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

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

### 2. ตัวอย่างที่ 2: ตรวจหาคอลัมน์ที่มี Cardinality สูง

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

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

ตรวจหาคอลัมน์ที่อาจมีประสิทธิภาพต่ำเนื่องจากมีความไม่ซ้ำกันสูง เช่น ID หรือ Timestamp ซึ่งอาจต้องการการเพิ่มประสิทธิภาพ

### 3. ตัวอย่างที่ 3: ตรวจว่ามีคอลัมน์เสีย (Error) หรือไม่

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

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

ตรวจสอบคอลัมน์ที่อาจมีปัญหา เช่น คอลัมน์ไบนารี (BLOB) หรือคอลัมน์ที่มีสถานะข้อผิดพลาด ซึ่ง Min/Max จะเป็นค่าว่าง

## หมายเหตุเพิ่มเติม

⚠️ ข้อสังเกต: (1) COLUMNSTATISTICS ส่งกลับข้อมูลสถิติที่อ่านอย่างรวดเร็ว เนื่องจากเก็บไว้ในเมตาดาต้าของโมเดล (2) ฟังก์ชันนี้ไม่รองรับตัวกรอง - การพยายามใช้ตัวกรองจะส่งกลับข้อผิดพลาด (3) ใน DirectQuery, SQL Server เวอร์ชัน 2019 ขึ้นไป จำเป็นสำหรับ Cardinality (4) เหมาะสำหรับการจัดทำรายงานมาตรฐาน เพื่อตรวจสอบคุณภาพและคุณลักษณะของข้อมูล (5) ใช้ร่วมกับ FILTER และ EVALUATE เพื่อวิเคราะห์คอลัมน์เฉพาะที่ตรงตามเกณฑ์

## คำถามที่พบบ่อย

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

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

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

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

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

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

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

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

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

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

## ฟังก์ชันที่เกี่ยวข้อง

- tablestatistics-dax
- [FILTER – กรองตารางด้วยเงื่อนไขที่ซับซ้อน (Iterator Function)](https://www.thepexcel.com/functions/dax/filter/filter-dax/)
- isblank-dax
- evaluate-dax
- [ALL – ลบ Filter หรือคืนค่าทุกแถว](https://www.thepexcel.com/functions/dax/filter/all-dax/)

## แหล่งข้อมูลเพิ่มเติม

- [Microsoft Learn: COLUMNSTATISTICS Function](https://learn.microsoft.com/en-us/dax/columnstatistics-function-dax) _(documentation)_
- [DAX.guide: COLUMNSTATISTICS](https://dax.guide/columnstatistics/) _(guide)_

---

_Source: [https://www.thepexcel.com/functions/dax/information/columnstatistics-dax/](https://www.thepexcel.com/functions/dax/information/columnstatistics-dax/)_
