Thep Excel

ERROR – ฟังก์ชัน DAX

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

=ERROR(<ErrorText>)

By ThepExcel AI Agent
15 December 2025

Function Metrics


Popularity
4/10

Difficulty
3/10

Usefulness
4/10

Syntax & Arguments

=ERROR(<ErrorText>)

Argument Type Required Default Description
ErrorText text Yes ไม่มี – จำเป็นต้องระบุ ข้อความแสดงข้อผิดพลาดที่ต้องการแสดงให้ผู้ใช้เห็น เช่น ‘Missing inflation rate for this year’

How it works

ตรวจสอบ Data Quality ก่อนการวิเคราะห์

ก่อนสร้าง KPI ที่สำคัญ ใช้ ERROR เพื่อตรวจสอบว่าข้อมูลจำเป็น (เช่น Department, Region) มีค่าครบถ้วนหรือไม่ ถ้ามีการขาดหายจะแสดงข้อผิดพลาดแทนที่จะสร้างรายงานที่ไม่ถูกต้อง

จัดการค่าที่อยู่นอกขอบเขตปกติ

สำหรับ Measures ที่มี Business Rules (เช่น Discount ต้องไม่เกิน 50%) ใช้ ERROR เมื่อค่าผิดไปจาก Rule เพื่อแจ้ง Data Steward ว่าข้อมูลมีปัญหาต้องตรวจสอบ

Examples

หยุดคำนวณเมื่อข้อมูลไม่พบ
SELECTEDVALUE('Rates'[InflationRate], CONVERT(ERROR("Missing inflation rate for this year"), DOUBLE))
ใช้ SELECTEDVALUE รวมกับ ERROR เพื่อตรวจสอบว่า Inflation Rate มีค่าหรือไม่ ถ้าไม่พบจะแสดงข้อผิดพลาดแทนการส่งค่าที่ผิด นี่เป็นวิธีที่ดีในการจัดการ Data Quality
DAX Formula:

=SELECTEDVALUE('Rates'[InflationRate], CONVERT(ERROR("Missing inflation rate for this year"), DOUBLE))

Result:

ข้อผิดพลาด: Missing inflation rate for this year

ตรวจสอบค่าสูงสุด
IF(MAX([Sales]) > 1000000, CONVERT(ERROR("Sales exceeded maximum allowed value"), DOUBLE), MAX([Sales]))
ใช้ IF เพื่อตรวจสอบเงื่อนไข ถ้า Sales เกินค่าที่กำหนด จะหยุดการคำนวณและแสดงข้อผิดพลาด วิธีนี้ช่วยป้องกันการสร้างรายงานที่มีข้อมูลผิด
DAX Formula:

=IF(MAX([Sales]) > 1000000, CONVERT(ERROR("Sales exceeded maximum allowed value"), DOUBLE), MAX([Sales]))

Result:

ข้อผิดพลาด: Sales exceeded maximum allowed value (ถ้าเกิน) หรือค่า Sales (ถ้าไม่เกิน)

ขอข้อมูลเพิ่มเติมเมื่อมีปัญหา
IF(ISBLANK([Department]), CONVERT(ERROR("Department field is required. Please fill in the department for accurate analysis."), TEXT), [Department])
ตรวจสอบว่า Department มีค่าหรือไม่ ถ้าว่างจะแสดงข้อผิดพลาดพร้อมคำแนะนำ แทนที่จะแสดงค่าว่าง ช่วยในการแจ้งผู้ใช้เกี่ยวกับปัญหาข้อมูล
DAX Formula:

=IF(ISBLANK([Department]), CONVERT(ERROR("Department field is required. Please fill in the department for accurate analysis."), TEXT), [Department])

Result:

ข้อผิดพลาด: Department field is required... (ถ้า Blank) หรือชื่อ Department (ถ้ามีค่า)

FAQs

ERROR ต่างจากการส่งค่า BLANK หรือ NA() อย่างไร

ERROR หยุดการคำนวณทั้งหมดและแสดงข้อความตรงนั้น ส่วน BLANK และ NA() จะส่งค่า Blank หรือ #N/A ไปเรื่อย ๆ ใน Formula ต่อไป ERROR เหมาะสำหรับเมื่อต้องแจ้งปัญหาสำคัญ ขณะที่ BLANK/NA() เหมาะสำหรับค่าที่สามารถจัดการต่อได้

ต้องใช้ CONVERT() กับ ERROR ทำไม

ERROR() ส่งค่า Variant Type แต่เมื่อใช้ในตำแหน่งที่ต้องได้ Data Type เฉพาะ (เช่น DOUBLE, TEXT) จึงต้อง CONVERT() เพื่อระบุ Data Type ให้ชัดเจน นี่เป็นการป้องกัน Implicit Conversion ที่อาจทำให้ผลลัพธ์ไม่เสถียร

ใช้ ERROR ในคอลัมน์ที่คำนวณ (Calculated Column) ได้ไหม

ได้ แต่ต้องระมัดระวัง เมื่อแถวใด ๆ ใน Calculated Column มี ERROR ก็จะแสดงข้อผิดพลาดสำหรับแถวนั้น ซึ่งอาจทำให้ View/Report ไม่สามารถแสดงผลได้ ดังนั้นควรใช้สำหรับการตรวจสอบ Data Quality มากกว่าการสร้าง Calculated Column ปกติ

ERROR ใช้เพื่อ Error Handling ได้ไหม

ไม่ได้ ERROR ใช้สำหรับการทำให้เกิดข้อผิดพลาด (Raising Error) ไม่ใช่สำหรับจับและจัดการข้อผิดพลาด (Error Handling) ถ้าต้องการจับข้อผิดพลาดจากฟังก์ชันอื่น ให้ใช้ IFERROR() หรือ ISERROR() แทน

Resources & Related

Additional Notes

ERROR

Leave a Reply

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