สิ่งสำคัญของการใช้งาน Power BI ที่ขาดไม่ได้และเป็นเรื่องสำคัญมาก ๆ อย่างหนึ่งนั้นคือ DAX (Data Analysis Expressions) ซึ่งจะมาช่วยคำนวณสรุปผลข้อมูลที่มี โดย DAX จะถูกไปใช้ในการคำนวณ 3 ส่วนหลัก ๆ ได้แก่
Measures – สร้างการคำนวณในรูปแบบของ Aggregation หลาย ๆ แถวในตาราง
Calculated columns – สร้างการคำนวณให้เกิดคอลัมน์ใหม่ เป็นการคำนวณแบบทีละแถว
Calculated table – สร้างการคำนวณให้เกิดตารางใหม่
DAX Function BLANK
ส่งคืนค่าว่าง
รูปแบบของ Syntax
BLANK()
การคืนค่า
ค่าว่าง
โดยค่าที่ได้จาก BLANK จะไม่มีประเภทของข้อมูล (data type)
ข้อสังเกตที่ควรทราบ
ค่า BLANK ไม่เท่ากับค่า ว่าง (null) โดยค่าว่างที่ใช้ใน DAX เป็นได้ทั้งสำหรับค่าว่าง (null) ใน database และ สำหรับค่าว่าง (blank cell) ใน Excel
หากจะใช้ฟังก์ชัน BLANK สำหรับการตรวจสอบว่าค่านั้น ว่างจริงแบบเข็มงวด (strictly equal to) ให้ใช้เครื่อง == เพราะการตรวจสอบแบบนี้ ค่า BLANK จะไม่ใช่ 0 หรือ ข้อความว่าง
ตัวอย่างการใช้งาน
ตัวอย่างการใช้ฟังก์ชัน BLANK ในการคำนวณหาอัตราส่วนยอดขายทีมขาย 1 ต่อ ทีมขาย 2
จากข้อมูลตาราง Sales ที่มีรายละเอียดการขายสินค้าและมียอดขายสินค้าอยู่ที่คอลัมน์ Sales amount และ มีรายละเอียดว่ารายการขายแต่ละการขายเป็นของพนักงานใดอยู่ที่คอลัมน์ EmployeeCode

โดยสร้าง measure หายอดขายรวม Total Sales จะได้
Total Sales = SUM(Sales[Sales amount])
ที่ข้อมูลตาราง Employee จะมีรายละเอียดพนักงาน โดยในส่วนพนักงานขายจะแบ่งเป็น Sales Team 1 กับ Sales Team 2 อยู่ที่คอลัมน์ Department

ตาราง Sales และตาราง Employee มีการทำ Relationship ระหว่างกันด้วยคอลัมน์ EmployeeCode ของแต่ละตาราง ฉะนั้นสามารถที่จะหายอดขายรวมของทีมขาย 1 Sales amount of team sales 1 กับ ยอดขายรวมของทีมขาย 2 Sales amount of team sales 2 ด้วยการสร้าง measure ดังนี้
Sales amount of team sales 1 = CALCULATE([Total sales],Employee[Department]="Sales Team 1") //ยอดขายทีมขาย 1
Sales amount of team sales 2 = CALCULATE([Total sales],Employee[Department]="Sales Team 2") //ยอดขายทีมขาย 2
จากนั้นสร้าง measure อัตราส่วนยอดขายรวมทีมขาย 1 ต่อ ยอดขายรวมทีมขาย 2 Sales team 1 to Sales team 2 โดยให้แสดงอัตราส่วนเป็นค่าของผลลัพธ์ฟังก์ชัน BLANK ในกรณีที่ยอดขายรวมทีมขาย 2 เป็น 0 ดังนี้
Sales team 1 to Sales team 2 = IF([Sales amount of team sales 2]=0,BLANK(),[Sales amount of team sales 1]/[Sales amount of team sales 2])
//หากยอดขายทีม 2 เป็น 0 ให้ส่งกลับค่าว่าง
ตัวอย่างการใช้งาน BLANK ใน Visualization
ในตัวอย่างนี้นำ measure Sales team 1 to Sales team 2 มาแสดงเป็น Visualization
แบบ Card ชื่อ Title ว่า Ratio Team 1 to Team 2
แบบ Bar Chart ที่แสดงอัตราส่วนทีมขาย 1 กับ ทีมขาย 2 โดย CategoryName และ ProductName
แบบ Matrix ที่ระบุให้ Row คือ ProductName, ระบุให้ Columns คือ CategoryName และ Values คือ measure Sales team 1 to Sales team 2
ซึ่งจาก measure Sales team 1 to Sales team 2 ที่ใช้ฟังก์ชัน BLANK มาช่วยในกรณีทีมขาย 2 มีค่ายอดขายเป็น 0 นั้น ทำให้การแสดงผลของ Visualization แบบ Bar Chart และ Matrix จะไม่มีการแสดงผลลัพธ์ของอัตราส่วนยอดขายรวมทีมขาย 1 ต่อ ยอดขายรวมทีมขาย 2 ที่ยอดขายรวมทีมขาย 2 มีค่า เป็น 0 เลย แต่หากใช้ "" แทนฟังก์ชัน BLANK ในกรณียอดขายรวมทีมขาย 2 มีค่าเป็น 0 ผลลัพธ์การแสดงผลใน Visualization Bar Chart และ Matrix จะแสดงผลลัพธ์ทุกค่าออกมาตาม CategoryName และ ProductName ที่มีอยู่ทั้งหมด

ซึ่งนี้คือการนำฟังก์ชัน BLANK มาประยุกต์ใช้ เพื่อให้ได้ผลลัพธ์ในการแสดง Visualization ที่ดูเรียบร้อยถูกต้อง

Download
ไฟล์ตัวอย่างการใช้งาน
DAX Function BLANK: 9EXPERT-DAX-BLANK.pbix
ข้อมูลอ้างอิงจากเว็บไซต์
แนะนำหลักสูตรการอบรม
เรียนรู้คำสั่ง DAX เพื่อใช้งานด้าน Data Analysis, Data Analytic, BI โดยใช้ Power BI
ในหลักสูตร Data Analysis Expression (DAX) for Power BI (2 Days)
หรือรูปแบบ Online ที่
Power BI for Data Analytics (64 บทเรียน)
https://academy.9experttraining.com/courses/68a46389052c19ad1f71f0b6




