ALL มี 2 พฤติกรรม: (1) Table Function – คืนตารางจริงที่มีแถวทั้งหมด ใช้ใน FILTER/COUNTROWS (2) CALCULATE Modifier – ลบตัวกรองออกจาก Filter Context ไม่ได้คืนตาราง ใช้คำนวณ Grand Total และ % สัดส่วน แนะนำใช้ REMOVEFILTERS แทนเพื่อความชัดเจน
DAX functions for Power BI and Power Pivot
ALL มี 2 พฤติกรรม: (1) Table Function – คืนตารางจริงที่มีแถวทั้งหมด ใช้ใน FILTER/COUNTROWS (2) CALCULATE Modifier – ลบตัวกรองออกจาก Filter Context ไม่ได้คืนตาราง ใช้คำนวณ Grand Total และ % สัดส่วน แนะนำใช้ REMOVEFILTERS แทนเพื่อความชัดเจน
ALLEXCEPT มี 2 พฤติกรรม: (1) Table Function – คืนตารางจริงที่มีทุกแถวแต่ยังคง Filter บางคอลัมน์ (2) CALCULATE Modifier – ลบ Filter ทั้งหมดยกเว้นคอลัมน์ที่ระบุ ใช้คำนวณ Sub-total ตาม Dimension เฉพาะ เทียบเท่า ALL(Table) + VALUES(Column) แต่สั้นกว่า
ALLNOBLANKROW มี 2 พฤติกรรม: (1) Table Function – คืนตารางจริงที่มีทุกแถวแต่ตัด Blank Row ออก (2) CALCULATE Modifier – ลบ Filter ทั้งหมดและตัด Blank Row เหมาะใช้เมื่อมี Data Quality Issues ในความสัมพันธ์ เทียบเท่า ALL แต่เพิ่มเงื่อนไข ISBLANK = FALSE
ALLSELECTED มี 2 พฤติกรรม: (1) Table Function – คืนตารางจริงตาม Shadow Filter Context (Slicer/Page Filter) (2) CALCULATE Modifier – ลบ Filter ภายใน Visual แต่คง Filter จากภายนอก เหมาะคำนวณ Visual Total และ % สัดส่วนใน Visual ไม่มี REMOVEFILTERS เวอร์ชันที่ทำงานเหมือน ALLSELECTED
ฟังก์ชันที่สำคัญที่สุดใน DAX ใช้ประเมิน Expression ภายใต้ Filter Context ที่ถูกปรับเปลี่ยน เข้าใจลึกซึ้งเรื่อง Context Transition, Filter Arguments (Table vs Boolean), และลำดับการประเมินผล (Order of Evaluation) เพื่อควบคุมการคำนวณได้อย่างแม่นยำ
ฝาแฝดของ CALCULATE ที่คืนค่าเป็น 'ตาราง' ใช้ประเมิน Table Expression ภายใต้ Filter Context ที่ถูกปรับเปลี่ยน รองรับ Context Transition และ Filter Modifiers ทุกประการ
KEEPFILTERS เป็น Filter Modifier ที่ใช้ภายใน CALCULATE เพื่อระบุว่าตัวกรองใหม่ที่เพิ่มเข้าไป ควรถูกรวม (Intersect) กับตัวกรองที่มีอยู่เดิม แทนที่จะไปเขียนทับตัวกรองเดิม
LOOKUPVALUE คืนค่า Scalar จาก Result_ColumnName โดยการค้นหาค่า Match_Value ใน Search_ColumnName นิยมใช้เมื่อไม่มี Relationship ระหว่างตาราง หรือเมื่อต้องค้นหาค่าจากหลายคอลัมน์
REMOVEFILTERS ลบ Filter ออกจากตารางหรือคอลัมน์ที่ระบุ ใช้ได้ใน CALCULATE เท่านั้น (ไม่ใช่ Table Function) เทียบเท่า ALL เมื่อใช้เป็น CALCULATE Modifier แต่ชัดเจนและอ่านโค้ดง่ายกว่า แนะนำให้ใช้แทน ALL เมื่อต้องการลบ Filter ไม่มีเวอร์ชันที่ทำงานเหมือน ALLSELECTED
SELECTEDVALUE คืนค่าจาก Column เมื่อ Filter Context ของ Column นั้นถูกลดทอนลงเหลือเพียงค่าเดียว หากมีหลายค่าหรือไม่มีค่าใดๆ จะคืนค่า BLANK หรือ AlternateResult ที่ระบุ