ข้ามไปยังเนื้อหา
DAX Function ALL พร้อมตัวอย่างการใช้งาน

บทความโดย: 9Expert Team

DAX Function ALL พร้อมตัวอย่างการใช้งาน

แนะนำ DAX ALL ลบ Filter Context ทั้งหมดใน Power BI Excel SSAS พร้อมตัวอย่างและไฟล์ดาวน์โหลด | 9Expert Training

9Expert Team 2 นาที

สิ่งสำคัญของการใช้งาน Power BI ที่ขาดไม่ได้และเป็นเรื่องสำคัญมาก ๆ อย่างหนึ่งนั้นคือ DAX (Data Analysis Expressions) ซึ่งจะมาช่วยคำนวณสรุปผลข้อมูลที่มี โดย DAX จะถูกไปใช้ในการคำนวณ 3 ส่วนหลัก ๆ ได้แก่

  1. Measures – สร้างการคำนวณในรูปแบบของ Aggregation หลาย ๆ แถวในตาราง

  2. Calculated columns – สร้างการคำนวณให้เกิดคอลัมน์ใหม่ เป็นการคำนวณแบบทีละแถว

  3. Calculated table – สร้างการคำนวณให้เกิดตารางใหม่

DAX Function ALL

ส่งกลับค่าแถวทั้งหมดในตาราง table หรือค่าทั้งหมดในคอลัมน์ column โดยไม่คำนึงถึงตัวกรองใด ๆ ที่อาจใช้อยู่

รูปแบบของ Syntax

ALL([<table> | <column>[, <column>[, <column>[,…]]]])

พารามิเตอร์

พารามิเตอร์

รายละเอียด

table

ตารางที่ต้องการล้างตัวกรอง

column

คอลัมน์ที่ต้องการล้างตัวกรอง

โดยหากพารามิเตอร์เป็น table จะสามารถระบุได้แค่พารามิเตอร์เดียวใน Syntax และหากพารามิเตอร์ที่เป็น column จะสามารถระบุเพิ่มคอลัมน์อื่นได้ แต่ต้องเป็นในตารางเดียวกันเท่านั้น

การคืนค่า

ตารางหรือคอลัมน์ที่ตัวกรองถูกลบออก

ข้อสังเกตที่ควรทราบ

  • ฟังก์ชัน ALL จะไม่ได้สร้างตารางผลลัพธ์ออกมาโดยตรง หากนำไปใช้ในตัวกรองของฟังก์ชัน CALCUALTE หรือ CALCULATABLE

  • ในกรณีที่ฟังก์ชัน ALL ไม่มีการระบุค่าพารามิเตอร์ ALL() จะมีความหมายว่าลบค่าตัวกรองออกทั้งหมด ซึ่งจะใช้ได้ในตัวกรองของฟังก์ชัน CALCUALTE หรือ CALCULATABLE เท่านั้น

  • ข้อสังเกตเพิ่มเติมที่สำคัญ หากใช้ผลลัพธ์ของ ALL เป็น table expression

    • ใช้ พารามิเตอร์ table ใน ALL จะได้ผลลัพธ์ตารางนั้นทุกแถว และมีค่าที่ซ้ำกันอยู่

    • ใช้ พารามิเตอร์ 1 column ใน ALL จะได้ผลลัพธ์ตาราง 1 คอลัมน์ที่มีค่าที่ไม่ซ้ำกัน (unique values)

    • ใช้ พารามิเตอร์ 2 column หรือหลาย column ใน ALL จะได้ผลลัพธ์ตารางรวมคอลัมน์ที่เป็นค่าที่ไม่ซ้ำกัน ในหลายคอลัมน์

    • ในทุกกรณี ALL จะให้ผลลัพธ์แถวว่างที่เพิ่มเติมที่สร้างขึ้นมา จากผลความผิดพลาดของข้อมูลใน Model ที่มีความสัมพันธ์กัน 

ตัวอย่างการใช้งาน

ตัวอย่างการใช้ฟังก์ชัน ALL ในการคำนวณหายอดขายรวมทั้งบริษัท จากข้อมูลตาราง Sales ที่มีรายละเอียดการขายสินค้าและมียอดขายสินค้าอยู่ที่คอลัมน์ Sales amount

ตารางข้อมูล Sales ที่มีคอลัมน์ยอดขาย Sales amount

ปกติหากหายอดขายรวม Total Sales amount เราสามารถสร้าง Measure ได้ คือ

Total Sales amount = SUM(Sales[Sales amount])

โดยหากเราต้องการแสดงยอดขายรวมทั้งบริษัท All total sales amount ที่ไม่ได้สนใจตัวกรองใด ๆ เมื่อนำไปแสดงค่าเป็น Visualization เราสามารถนำ Measure Total Sales amount มาใช้กับความสามารถของฟังก์ชัน ALL ที่คืนค่าตารางที่ไม่เอาตัวกรองออก ซึ่งต้องใช้คู่กับฟังก์ชัน CALCULATE ฉะนั้น Measure ยอดขายรวมทั้งบริษัท All total sales amount คือ

All total sales amount = CALCULATE([Total Sales amount],ALL(Sales))

// Measure ยอดขายรวมทั้งบริษัทที่ไม่สนใจตัวกรองใด ๆ เลย

All total sales amount = CALCULATE([Total Sales amount],ALL())

// Measure ยอดขายรวมทั้งบริษัทที่ไม่สนใจตัวกรองใด ๆ เลย

ตัวอย่างการใช้งาน ALL ใน Visualization

เมื่อนำ Measure All total sales amount มาแสดงเป็น Visualization แบบ Card ที่ชื่อ Title ว่า All Total Sales Company จะเห็นว่า แสดงยอดขายรวมทั้งหมดของบริษัทโดยไม่สนใจตัวกรองใด ๆ ถึงแม้จะมีการกรองแสดงผลเฉพาะเดือนมกราคม

ตัวอย่างการใช้งาน DAX Function ALL ใน Microsoft Power BI

หลักสูตรที่เกี่ยวข้อง

บทความที่เกี่ยวข้อง