DAX cơ bản trong Power BI: 12 công thức đo lường KPI sản xuất, chất lượng

DAX cơ bản trong Power BI: 12 công thức đo lường KPI sản xuất, chất lượng
Nội dung bài viết 7 mục
  1. DAX là gì?
  2. Measure hay Calculated Column?
  3. 12 công thức KPI thường dùng
  4. CALCULATE – trái tim của DAX
  5. Ngữ cảnh dòng và ngữ cảnh lọc
  6. Lỗi hay gặp
  7. Cần người làm giúp?

Tóm tắt nhanh

  • DAX (Data Analysis Expressions) là ngôn ngữ công thức của Power BI, Power Pivot và Analysis Services.
  • Ưu tiên Measure (tính theo bộ lọc khi xem) hơn Calculated Column (tính sẵn từng dòng).
  • Hàm quan trọng nhất: CALCULATE — thay đổi bộ lọc khi tính.
  • Luôn dùng DIVIDE thay phép chia để tránh lỗi chia 0.

Luồng tính measure DAX theo ngữ cảnh lọc

DAX là gì?

DAX là ngôn ngữ công thức giống Excel nhưng làm việc trên bảng và cột thay vì ô. Một measure DAX viết một lần có thể hiển thị đúng ở mọi góc nhìn: theo tháng, theo dây chuyền, theo khách hàng — vì nó tự tính lại theo ngữ cảnh lọc (filter context).

Measure hay Calculated Column?

MeasureCalculated Column
Tính khi nàoKhi hiển thị, theo bộ lọcKhi làm mới dữ liệu, từng dòng
Dùng choTổng, tỉ lệ, KPIPhân loại, nhóm, khoá phụ
Bộ nhớKhông tốnTốn thêm cột
Ví dụTỉ lệ lỗi %Nhóm ca (Ngày/Đêm)

12 công thức KPI thường dùng

Giả sử có bảng Fact_KiemTra[SoKiem], [SoLoi] và bảng sản xuất Fact_SX.

#MeasureCông thức DAXÝ nghĩa
1Tổng kiểmSUM( Fact_KiemTra[SoKiem] )Tổng số sản phẩm đã kiểm
2Tổng lỗiSUM( Fact_KiemTra[SoLoi] )Tổng số sản phẩm lỗi
3Tỉ lệ lỗi %DIVIDE( [Tổng lỗi], [Tổng kiểm] )Định dạng %, an toàn khi mẫu số = 0
4PPMDIVIDE( [Tổng lỗi], [Tổng kiểm] ) * 1000000Số lỗi trên một triệu sản phẩm
5Lỗi ngoại quanCALCULATE( [Tổng lỗi], Dim_Loi[NhomLoi] = "Ngoại quan" )Chỉ lấy nhóm lỗi ngoại quan
6Lũy kế nămTOTALYTD( [Tổng lỗi], Dim_Ngay[Ngay] )Cộng dồn từ đầu năm
7Cùng kỳ năm trướcCALCULATE( [Tỉ lệ lỗi %], SAMEPERIODLASTYEAR( Dim_Ngay[Ngay] ) )Cùng kỳ năm trước
8Chênh lệch cùng kỳ[Tỉ lệ lỗi %] - [Cùng kỳ năm trước]Âm = cải thiện
9Tháng trướcCALCULATE( [Tỉ lệ lỗi %], DATEADD( Dim_Ngay[Ngay], -1, MONTH ) )So với tháng liền trước
10Tỉ trọng lỗiDIVIDE( [Tổng lỗi], CALCULATE( [Tổng lỗi], ALL( Dim_Loi ) ) )Dùng cho biểu đồ Pareto
11Đạt mục tiêuIF( [Tỉ lệ lỗi %] <= 0.02, "Đạt", "Không đạt" )Tô màu thẻ KPI
12OEE[Availability] * [Performance] * [Quality]Hiệu suất thiết bị tổng thể

Công thức OEE và các thành phần xem thêm tại bài OEE.

CALCULATE – trái tim của DAX

CALCULATE(biểu thức, bộ lọc1, bộ lọc2…) tính biểu thức trong một ngữ cảnh lọc mới. Ví dụ “Lỗi ngoại quan” ở trên: dù người xem chọn tháng nào, công thức vẫn chỉ lấy nhóm lỗi Ngoại quan. Kết hợp với ALL (bỏ lọc), FILTER, hàm thời gian (time intelligence) là đủ cho 90% nhu cầu báo cáo nhà máy.

Ngữ cảnh dòng và ngữ cảnh lọc

  • Ngữ cảnh lọc: những gì đang được chọn trên báo cáo (slicer, trục biểu đồ).
  • Ngữ cảnh dòng: dòng hiện tại khi lặp qua bảng (trong calculated column hoặc hàm SUMX, FILTER).

Hiểu hai khái niệm này là chìa khoá để không bị “số ra kỳ lạ”.

Lỗi hay gặp

  • Dùng phép / → lỗi khi mẫu số bằng 0; dùng DIVIDE.
  • Lấy trung bình của tỉ lệ (average of %) thay vì tỉ lệ của tổng → sai khi các nhóm có cỡ mẫu khác nhau.
  • Hàm thời gian không chạy vì thiếu bảng lịch đánh dấu Date Table (xem Star Schema).

Cần người làm giúp?

Industrial Knowledge xây bộ measure KPI chuẩn cho chất lượng, OEE, bảo trì, giao hàng. Đặt dịch vụ.

Bản tin Industrial Knowledge

Mỗi tuần một công cụ, đọc trong 5 phút

Đăng ký nhận bản tin và checklist 8D miễn phí (PDF). Không spam, hủy bất cứ lúc nào.