ตรวจสอบว่าเงื่อนไขตรรกะทั้งหมดเป็นจริงหรือไม่ และคืนค่า TRUE เมื่อทุกเงื่อนไขเป็น TRUE
Syntax
AND(<logical1>, <logical2>)
ตรวจสอบว่าเงื่อนไขตรรกะทั้งหมดเป็นจริงหรือไม่ และคืนค่า TRUE เมื่อทุกเงื่อนไขเป็น TRUE
AND(<logical1>, <logical2>)
BITAND คืนผลลัพธ์ของการทำ AND แบบบิตระหว่าง Number1 และ Number2 เหมาะกับการตรวจ bit flags/bitmask เพื่อเช็กสถานะที่ถูกเก็บในตัวเลขเดียว
BITAND(<Number1>, <Number2>)
BITOR คืนผลลัพธ์ของ OR แบบบิตระหว่าง Number1 และ Number2 เหมาะกับการรวม bit flags เพื่อสร้างค่า bitmask ใหม่
BITOR(<Number1>, <Number2>)
BITXOR คืนผลลัพธ์ของ XOR แบบบิตระหว่าง Number1 และ Number2 เหมาะกับการสลับแฟลก (toggle) ในงานที่ใช้ bitmask
BITXOR(<Number1>, <Number2>)
COALESCE คืนค่าแรกที่ไม่เป็น BLANK() จากหลายอาร์กิวเมนต์ เหมาะกับการกำหนดค่าเริ่มต้น (fallback) เช่น ใช้ค่า 0 เมื่อ Measure เป็น BLANK หรือเลือกค่าจากหลายแหล่งตามลำดับความสำคัญ
COALESCE(<expression1>, <expression2>[, ...])
FALSE คืนค่าตรรกะ FALSE ใช้เป็นค่าคงที่ใน DAX สำหรับสร้างตรรกะและเงื่อนไข เช่น ใช้กับ IF หรือใช้เป็นค่าตั้งต้นในตัวแปร
FALSE()
IF เป็นฟังก์ชันตรรกะพื้นฐานที่สำคัญที่สุดใน DAX ใช้สำหรับตรวจสอบเงื่อนไข (logical test) แล้วคืนค่าที่แตกต่างกันตามผลลัพธ์ว่าเป็นจริง (TRUE) หรือเท็จ (FALSE) สามารถใช้ได้ทั้งในบริบท calculated column, measure, calculated table และ visual calculation ซึ่งทำให้มีความยืดหยุ่นสูง คืนค่าเป็น scalar value ได้ทุกประเภท ไม่ว่าจะเป็นตัวเลข ข้อความ วันที่ หรือค่า boolean ถ้าไม่ระบุค่าสำหรับกรณีเท็จ (value_if_false) จะคืน BLANK() โดยอัตโนมัติ มีคุณสมบัติพิเศษคือ lazy evaluation behavior ที่ประมวลผลเฉพาะเส้นทาง (branch) ที่ถูกเลือกเท่านั้น ทำให้มีประสิทธิภาพในการทำงานที่ดี แตกต่างจาก Excel IF อย่างชัดเจนตรงที่ใช้รูปแบบอ้างอิงแบบ Table[Column] ทำงานภายใต้ filter context และแยกความแตกต่างระหว่าง BLANK กับ 0 อย่างเข้มงวด
IF(<logical_test>, <value_if_true>[, <value_if_false>])
IF.EAGER ทำงานเหมือน IF แต่ใช้แผน eager ที่อาจประเมินทั้ง value_if_true และ value_if_false ทำให้ควรระวังเรื่อง performance และกรณีที่อีกแขนงอาจเกิด error แม้เงื่อนไขจะไม่เลือกแขนงนั้น
IF.EAGER(<LogicalTest>, <ValueIfTrue>[, <ValueIfFalse>])
IFERROR ใช้ดักจับข้อผิดพลาดในนิพจน์: ถ้า Value เกิด error จะคืนค่า ValueIfError แทน ถ้าไม่เกิด error จะคืนค่าของ Value เดิม เหมาะสำหรับการแปลงชนิดข้อมูล การหารที่อาจเป็นศูนย์ หรือ measure ที่ไม่เสถียร
IFERROR(<Value>, <ValueIfError>)
NOT ใช้กลับค่าตรรกะของนิพจน์ (TRUE ↔ FALSE) เหมาะกับการเขียนเงื่อนไขแบบปฏิเสธ และนิยมใช้ร่วมกับ IF/AND/OR เพื่อสร้างตรรกะที่อ่านชัดเจน
NOT(<logical>)
OR ตรวจสอบเงื่อนไขตรรกะ 2 ตัว และคืน TRUE เมื่อมีเงื่อนไขใดเงื่อนไขหนึ่งเป็น TRUE เหมาะกับการทำเงื่อนไขแบบ “อย่างน้อยหนึ่งข้อ” และนิยมเขียนด้วยตัวดำเนินการ || ในงานจริง
OR(<logical1>, <logical2>)
SWITCH เป็นฟังก์ชันตรรมชาติสำหรับจัดการหลายกรณี ช่วยให้หลีกเลี่ยง IF ซ้อนหลายชั้น และสามารถใช้รูปแบบ SWITCH(TRUE()) ได้ สำหรับเงื่อนไขแบบช่วง (>=, <=) หรือเงื่อนไขซับซ้อน
SWITCH(<expression>, <value1>, <result1>[, <value1>, <result1>]...[, <else>])
TRUE คืนค่าตรรกะ TRUE ใช้เป็นค่าคงที่ใน DAX เช่น ใช้กับ SWITCH(TRUE()) เพื่อจัดการเงื่อนไขหลายระดับ หรือใช้ร่วมกับ IF/AND/OR ในการสร้างตรรกะ
TRUE()