Thep Excel

EVALUATEANDLOGฟังก์ชัน DAX

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

fx
=EVALUATEANDLOG(<expression>)

ความนิยม3/10
ความยาก4/10
ประโยชน์3/10

อัปเดต 14 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
expression any นิพจน์ที่ต้องการประเมินและบันทึกค่าลง log

EVALUATEANDLOG ประมวลผลนิพจน์แล้วบันทึกผลลัพธ์ลง Log ช่วยวิเคราะห์ค่าระหว่างคำนวณและแก้บั๊ก Measure ที่ซับซ้อน

Examples

ตัวอย่างที่ 1: บันทึกค่า Measure ระหว่างดีบักDebug Sales = EVALUATEANDLOG( [Total Sales] )

ใช้ EVALUATEANDLOG เพื่อดูค่าผลลัพธ์ของ Measure ระหว่างดีบักสูตรที่ซับซ้อน

fx
Debug Sales = EVALUATEANDLOG( [Total Sales] )

ผลลัพธ์ค่า [Total Sales] พร้อมถูกบันทึกลง log
ตัวอย่างที่ 2: บันทึกค่าหลังกรองเงื่อนไขLog Filtered Sales = EVALUATEANDLOG( CALCULATE( [Total Sales], Products[Active] = TRUE() ) )

คำนวณยอดขายตามตัวกรองแล้วบันทึกค่าที่ได้ ช่วยตรวจสอบว่า filter context ทำงานถูกต้องหรือไม่

fx
Log Filtered Sales = EVALUATEANDLOG( CALCULATE( [Total Sales], Products[Active] = TRUE() ) )

ผลลัพธ์ยอดขายเฉพาะสินค้าที่ Active และถูกบันทึกลง log
ตัวอย่างที่ 3: ใช้ร่วมกับตัวแปรเพื่อดูค่าระหว่างกลางDebug Margin = VAR Revenue = SUM( Sales[Amount] ) VAR Cost = SUM( Sales[Cost] ) VAR Margin = Revenue – Cost RETURN EVALUATEANDLOG(Margin)

ใช้ VAR แยกส่วนคำนวณ แล้ว EVALUATEANDLOG บันทึกค่าที่ได้ เพื่อเช็กค่าแต่ละขั้นตอนในสูตรที่มีบริบทซับซ้อน

fx
Debug Margin =
VAR Revenue = SUM( Sales[Amount] )
VAR Cost = SUM( Sales[Cost] )
VAR Margin = Revenue – Cost
RETURN EVALUATEANDLOG(Margin)

ผลลัพธ์ค่ากำไรหลังหักต้นทุน พร้อมบันทึกลง log

FAQs

ฟังก์ชันนี้ใช้สำหรับอะไร+

EVALUATEANDLOG ใช้สำหรับการวิเคราะห์

ต้องส่งข้อมูลอะไร+

ส่งค่าหรือคอลัมน์ข้อมูล

Resources & Related

ฟังก์ชันที่ผู้เขียนโยงไว้กับ EVALUATEANDLOG จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้EVALUATEANDLOGInformation
Filter (3)
CALCULATE

CALCULATE เป็นฟังก์ชันหลักที่สำคัญที่สุดใน DAX ใช้สำหรับ evaluate expression ภายใต้ filter context ที่ถูกปรับเปลี่ยน สามารถเพิ่มตัวกรองใหม่ ลบตัวกรองเดิม หรือแทนที่ filter ที่มีอยู่ได้ รองรับทั้ง Boolean expression และ table expression เป็น filter arguments พร้อม filter modifier functions เช่น REMOVEFILTERS, ALL, ALLEXCEPT, KEEPFILTERS เพื่อควบคุมการกรองอย่างละเอียด มีพฤติกรรมพิเศษคือ context transition ที่เปลี่ยน row context เป็น filter context โดยอัตโนมัติ ทำให้เป็นเครื่องมือหลักในการสร้าง measure ที่ซับซ้อนและ calculated column ที่ต้องใช้ aggregation

CALCULATETABLE

CALCULATETABLE evaluate table expression ภายใต้ filter context ที่ถูกปรับเปลี่ยน แล้วคืนค่าเป็น table (ตาราง) ซึ่งแตกต่างจาก CALCULATE ที่คืนค่าเป็น scalar value รองรับ filter arguments 3 รูปแบบ: Boolean expression, table expression, และ filter modifier functions (REMOVEFILTERS, ALL, KEEPFILTERS, USERELATIONSHIP, CROSSFILTER) มีพฤติกรรมเหมือน CALCULATE ในทุกแง่มุมของการจัดการ filter context รวมถึง context transition แต่เหมาะสำหรับการสร้าง intermediate table ที่ถูกกรองแล้วส่งต่อให้ iterator functions หรือใช้ใน calculated table มักมี performance ดีกว่า FILTER ใน simple filtering scenarios เพราะ DAX engine สามารถทำ cardinality estimation และ optimization ได้ดีกว่า

FILTER

FILTER ใช้กรองแถวในตารางตามเงื่อนไขที่ซับซ้อน โดยวนลูปทุกแถวและประเมินเงื่อนไข เหมาะกับการกรองด้วย Measure หรือ Expression ซึ่ง Boolean Expression ทำไม่ได้ แต่ต้องระวังเรื่อง Performance เพราะเป็น Iterator Function ที่ช้ากว่า Boolean Expression ดังนั้นควรใช้เฉพาะเมื่อจำเป็น และอย่าใช้ FILTER กับ RELATED เพื่อกรองข้ามตาราง ให้กรองที่ Dimension Table โดยตรงแทน

Information (2)
HASONEFILTER

ตรวจว่าคอลัมน์ถูก filter โดยตรงให้เหลือค่าเดียวหรือไม่ เหมาะกับการควบคุมการแสดงผลตามสถานะการเลือกของผู้ใช้

ISFILTERED

ISFILTERED ตรวจสอบว่าคอลัมน์ที่ระบุมีตัวกรองโดยตรงหรือไม่ ใช้เพื่อสร้าง Dynamic Measures ที่เปลี่ยนพฤติกรรมตามการกรองของผู้ใช้

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่