Snippet: DAX KPI Status
DAX snippet สำหรับแปลง variance เป็นสถานะที่ใช้กับ conditional formatting หรือ KPI card.
เหมาะกับใคร
คนเขียน measure ที่ต้องแสดงสถานะ KPI เช่น ดี ปกติ เสี่ยง หรือแย่
ใช้เมื่อไร
- มี Actual และ Target
- ต้องทำสีสถานะ KPI
- ต้องใช้ rule เดียวกันหลายหน้า
ไม่ควรใช้ถ้ายังไม่มีนิยาม target หรือ threshold ที่ owner ยอมรับ
ขั้นตอนใช้งาน
- 1
สร้าง Actual และ Target ก่อน
อย่าเขียน status รวมทุกอย่างใน measure เดียว.
- 2
สร้าง Variance %
ใช้ DIVIDE เพื่อกันหารศูนย์.
- 3
สร้าง Status และ Color
แยก label กับ color เพื่อให้ visual อ่านง่ายและแก้ง่าย.
ข้อควรระวัง
Threshold ต้องมาจาก business rule ไม่ใช่เลือกเองเพราะสีดูสวย.
Copy-ready snippet
KPI variance and status
dax
Sales Variance % =
DIVIDE([Sales Actual] - [Sales Target], [Sales Target])
Sales KPI Status =
SWITCH(
TRUE(),
ISBLANK([Sales Target]), "No target",
[Sales Variance %] >= 0, "On track",
[Sales Variance %] >= -0.05, "Watch",
"At risk"
)
Sales KPI Color =
SWITCH(
[Sales KPI Status],
"On track", "#168A4A",
"Watch", "#D97706",
"At risk", "#DC2626",
"#64748B"
)