Hiểu DAX để Power BI thực sự “thông minh”, không chỉ là vẽ biểu đồ

🎯 MỤC TIÊU BÀI HỌC
Sau bài này, bạn sẽ:
- Hiểu DAX là gì và vì sao Power BI không thể thiếu DAX
- Phân biệt:
- DAX
- Excel Formula
- Biết cách sử dụng các công thức DAX cơ bản nhất
- Tạo được:
- Measure
- Chỉ số động theo filter, slicer
- Áp dụng DAX vào:
- Báo cáo nhân sự
- Báo cáo kế toán
- Dashboard quản lý
⚠️ VẤN ĐỀ THỰC TẾ: POWER BI ĐẸP NHƯNG “NGU” LÀ DO ĐÂU?
Rất nhiều dashboard Power BI:
- Vẽ được biểu đồ
- Có slicer
- Có filter
👉 Nhưng:
- KPI không đổi theo lựa chọn
- Không so sánh được kỳ
- Không tính được % tăng giảm
➡️ Nguyên nhân: không (hoặc dùng sai) DAX.
🧠 DAX LÀ GÌ? HIỂU ĐÚNG NGAY TỪ ĐẦU
DAX (Data Analysis Expressions)
là ngôn ngữ dùng để tính toán động trong Power BI.
DAX giúp Power BI:
- Hiểu ngữ cảnh (filter context)
- Tính toán theo:
- Thời gian
- Phòng ban
- Người dùng chọn
👉 Không có DAX = Power BI chỉ là Excel nâng cấp.
🧪 DỮ LIỆU MẪU THỰC TẾ (≥ 15 DÒNG)
Ví dụ: Dữ liệu bán hàng (sales)
| order_id | order_date | department | product | quantity | revenue |
|---|---|---|---|---|---|
| O001 | 2025-01-01 | Kinh doanh | SP A | 5 | 500000 |
| O002 | 2025-01-01 | Kinh doanh | SP B | 3 | 450000 |
| O003 | 2025-01-02 | Marketing | SP A | 2 | 200000 |
| O004 | 2025-01-02 | Kho | SP C | 10 | 700000 |
| O005 | 2025-01-03 | Kinh doanh | SP A | 4 | 400000 |
| O006 | 2025-01-03 | Marketing | SP B | 6 | 900000 |
| O007 | 2025-01-04 | Kho | SP C | 8 | 560000 |
| O008 | 2025-01-04 | Kinh doanh | SP D | 1 | 300000 |
| O009 | 2025-01-05 | Marketing | SP A | 3 | 300000 |
| O010 | 2025-01-05 | Kho | SP B | 7 | 1050000 |
| O011 | 2025-01-06 | Kinh doanh | SP C | 2 | 140000 |
| O012 | 2025-01-06 | Marketing | SP D | 4 | 800000 |
| O013 | 2025-01-07 | Kho | SP A | 9 | 900000 |
| O014 | 2025-01-07 | Kinh doanh | SP B | 6 | 900000 |
| O015 | 2025-01-08 | Marketing | SP C | 5 | 350000 |
🛠️ STEP BY STEP: CÁC CÔNG THỨC DAX CƠ BẢN NHẤT
🔹 STEP 1: SUM – Tổng cơ bản
Total Revenue = SUM(sales[revenue])
👉 Measure này:
- Tự động thay đổi theo filter
- Khác hoàn toàn Excel SUM
🔹 STEP 2: COUNT & DISTINCTCOUNT
Total Orders = COUNT(sales[order_id])
Distinct Products = DISTINCTCOUNT(sales[product])
👉 Dùng để:
- Đếm số đơn
- Đếm số sản phẩm thực tế
🔹 STEP 3: CALCULATE – Trái tim của DAX
Revenue KinhDoanh =
CALCULATE(
SUM(sales[revenue]),
sales[department] = "Kinh doanh"
)
👉 CALCULATE:
- Thay đổi ngữ cảnh tính toán
- Là hàm quan trọng nhất trong DAX
🔹 STEP 4: AVERAGE & KPI đơn giản
Average Revenue = AVERAGE(sales[revenue])
👉 Dùng cho:
- KPI trung bình
- So sánh hiệu suất
🔹 STEP 5: IF – Logic điều kiện
Revenue Status =
IF(
[Total Revenue] > 5000000,
"Đạt",
"Chưa đạt"
)
👉 KPI thay đổi theo dữ liệu & filter.
📊 GIÁ TRỊ CỦA DAX SO VỚI EXCEL
| Excel | DAX |
|---|---|
| Tính tĩnh | Tính động |
| Phụ thuộc ô | Phụ thuộc ngữ cảnh |
| Khó mở rộng | Rất mạnh khi filter |
| Dễ vỡ khi đổi layout | Ổn định |
👉 DAX sinh ra cho dashboard, không phải bảng tính.
🧾 KẾT LUẬN & ĐÁNH GIÁ
- DAX không khó
- Nhưng:
- Cần hiểu đúng từ đầu
- Không học kiểu học thuộc công thức
- Chỉ cần nắm vững:
- SUM
- COUNT
- CALCULATE
- IF
👉 Bạn đã có thể làm được 80% dashboard doanh nghiệp.
🚀 GỢI Ý ÁP DỤNG THỰC TẾ
👥 Nhân sự
- Tổng nhân sự theo phòng ban
- KPI theo thời gian
- So sánh kỳ
💰 Kế toán
- Doanh thu theo kỳ
- So sánh tháng / năm
- KPI đạt – chưa đạt
📦 Quản lý kho
- Tổng nhập – xuất
- Tồn kho theo filter
- Theo dõi biến động
🧠 Quản lý / Chủ doanh nghiệp
- Dashboard động
- Ra quyết định theo dữ liệu thật
- Không phụ thuộc người làm báo cáo