Power BI Cơ Bản – Bài 4: Viết Measure với DAX

Giới thiệu

Sau khi đã kết nối dữ liệu (bài 2) và xây dựng mô hình quan hệ (bài 3), bước tiếp theo là tính toán số liệu động. Power BI sử dụng DAX (Data Analysis Expressions) – một ngôn ngữ công thức mạnh mẽ, giúp bạn tạo các Measure để phân tích linh hoạt hơn thay vì chỉ dựa vào dữ liệu thô.

Column vs Measure – khác nhau thế nào?

  • Calculated Column: giá trị tính toán cho từng dòng dữ liệu (row).
    • Ví dụ: cột Profit = Revenue – Cost cho mỗi dòng đơn hàng.
  • Measure: giá trị tính toán dựa trên toàn bộ bảng hoặc ngữ cảnh lọc (filter context).
    • Ví dụ: Total Revenue = tổng doanh thu sau khi người dùng chọn năm, tháng, khu vực.
Best practice: dùng Measure cho báo cáo, vì tính linh hoạt và nhẹ hơn column.

Các hàm DAX cơ bản thường dùng

  1. SUM() – tính tổng
    Total Revenue = SUM(Orders[Revenue])
    
  2. AVERAGE() – tính trung bình
    Avg Revenue = AVERAGE(Orders[Revenue])
    
  3. COUNTROWS() – đếm số dòng (ví dụ: số đơn hàng)
    Total Orders = COUNTROWS(Orders)
    
  4. DISTINCTCOUNT() – đếm số lượng giá trị duy nhất (ví dụ: số khách hàng)
    Total Customers = DISTINCTCOUNT(Orders[CustomerID])
    
  5. CALCULATE() – thay đổi filter context
    • Ví dụ: Doanh thu năm 2025
    Revenue 2025 = 
    CALCULATE(
        SUM(Orders[Revenue]),
        YEAR(Orders[Date]) = 2025
    )
    

Thực hành nhỏ

Với dữ liệu ở bài 3 (Orders, Customers, Products), hãy thử:

  1. Tổng doanh thu toàn công ty
    Total Revenue = SUM(Orders[Revenue])
    
  2. Số khách hàng đã mua
    Total Customers = DISTINCTCOUNT(Orders[CustomerID])
    
  3. Doanh thu trung bình trên mỗi đơn hàng
    Avg Order Value = DIVIDE(SUM(Orders[Revenue]), COUNTROWS(Orders))
    
  4. Doanh thu chỉ tính riêng khu vực Hà Nội
    Revenue Hanoi = 
    CALCULATE(
        SUM(Orders[Revenue]),
        Customers[Region] = "Hanoi"
    )
    

Sau khi tạo các measure này, bạn có thể kéo thả vào visual (Table, Card, Chart) để xem kết quả thay đổi theo từng bộ lọc (slicer, region, category).

Kết luận

Trong bài 4, bạn đã học:
  • Sự khác biệt giữa Calculated Column và Measure.
  • Một số hàm DAX cơ bản: SUM, AVERAGE, COUNTROWS, DISTINCTCOUNT, CALCULATE.
  • Thực hành viết measure để phân tích doanh thu, khách hàng, đơn hàng.
Bài 5, chúng ta sẽ cùng thiết kế Dashboard đầu tiên trong Power BI, kết hợp tất cả những gì đã học để tạo báo cáo trực quan và chia sẻ với đồng nghiệp.

Đăng nhận xét

1 Nhận xét