TÍNH TOÁN ROLLING AVERAGE N MONTH SỬ DỤNG DAX TRONG POWER BI

Ngày đăng: 27/09/2022

Trong bài viết ngày hôm nay, chúng ta cùng nhau đi tính toán chỉ số Rolling Average – trung bình động, một trong những chỉ số quan trọng trong việc lập báo cáo, sử dụng Data Analysis Expressions (DAX) trong Power BI.

Rolling Average là gì?

Rolling Average – trung bình động, là một chỉ số dùng để tính toán xu hướng của dữ liệu chạy trong một khoảng thời gian ngắn (tuần, tháng,…). Chỉ số này đặc biệt hữu ích trong trường hợp dữ liệu thay đổi lên xuống quá nhanh khiến việc xác định xu hướng chung qua thời gian khó có thể thực hiện được.

Rolling Average sẽ sử dụng một phần nhỏ của dữ liệu trong một khoảng thời gian được định trước, ví dụ như: 1 tuần hay 30 ngày, và tính toán giá trị trung bình của dữ liệu trong khoảng thời gian đó. Các mốc thời gian sẽ tiếp tục di chuyển, tạo ra khoảng thời gian mới và Rolling Average sẽ được tính toán lại.

Ứng dụng của Rolling Average

Chỉ số Rolling Average giúp doanh nghiệp tìm ra được xu hướng dài hạn bỏ qua sự biến động liên tục của dữ liệu. Ví dụ, một doanh nghiệp bán đá lạnh sẽ nhận thấy nhu cầu tăng lên trong những ngày nắng nóng. Nhưng nếu thời tiết tại khu vực doanh nghiệp hoạt động thay đổi liên tục thì rất khó để xác định được xu hướng nhu cầu về lâu dài. Tính toán chỉ số Rolling Average sẽ cho phép doanh nghiệp tìm ra được xu hướng trong từng khoảng thời gian xác định, từ đó tìm ra được yếu tố ảnh hưởng đến xu hướng đó và ra quyết định chính xác về mục tiêu kinh doanh.

Cách tính toán Rolling Average

Công thức chung để tính toán chỉ số Trung bình động như sau:

rolling average formula

Trong đó:

  • Sum of data overtime : Tổng giá trị dữ liệu trong khoảng thời gian được thiết lập
  • Time period : Khoảng thời gian được thiết lập

Áp dụng tính toán chỉ số Rolling Average bằng DAX trong Power BI

Bộ dữ liệu được sử dụng trong bài viết này được lấy từ Adventure Works DW 2020 Power BI Desktop Sample

sales data

Chúng ta sẽ sử dụng bảng Sales để làm ví dụ tính toán chỉ số Rolling Average cho Doanh số

daily sales amount

Dữ liệu doanh số theo từng ngày

Các hàm chúng ta sẽ sử dụng:

1. Hàm CALCULATE

Hàm CALCULATE trả về kết quả được tính toán lại từ 1 biểu thức khi kết hợp thêm các bộ lọc.

  • Cấu trúc: CALCULATE( Expression, [Filter1], [Filter2]…)

Trong đó:

  • Expression là biểu thức tính toán
  • Filter1, Filter2,… là điều kiện lọc, điều kiện để tính toán biểu thức

Tìm hiểu thêm về hàm CALCULATE tại đây.

 

2. Hàm SUM

Hàm SUM trả về giá trị tổng các số trong 1 cột.

  • Cấu trúc: SUM( ColumnName )

Trong đó:

  • ColumnName là cột chứa dữ liệu cần tính tổng

Tìm hiểu thêm về hàm SUM tại đây.

 

3. Hàm DATESINPERIOD

Hàm DATESINPERIOD giúp trả về những giá trị thời gian nằm trong 1 khoảng tính từ Ngày bắt đầu tới Ngày cách ngày bắt đầu 1 khoảng nhất định.

  • Cấu trúc: DATESINPERIOD( Dates, StartDate, NumberOfIntervals, Interval )

Trong đó:

  • Dates là cột chứa dữ liệu ngày tháng
  • StartDate là ngày làm mốc, ngày bắt đầu khoảng thời gian
  • NumberOfIntervals là khoảng cách so với ngày làm mốc dựa trên đơn vị thời gian
  • Interval là đơn vị thời gian:
    • YEAR
    • QUARTER
    • MONTH
    • DAY

Tìm hiểu thêm về hàm DATESINPERIOD tại đây.

 

4. Hàm LASTDATE

Hàm LASTDATE giúp trả về giá trị ngày lớn nhất (ngày cuối cùng, ngày kết thúc) trong số các ngày được xét đến.

  • Cấu trúc: LASTDATE( Dates )

Trong đó:

  • Dates là cột chứa dữ liệu ngày tháng

Tìm hiểu thêm về hàm LASTDATE tại đây.

 

5. Hàm DISTINCTCOUNT

Hàm DISTINCTCOUNT trả về số giá trị riêng biệt trong một cột dữ liệu.

Cấu trúc: DISTINCTCOUNT( ColumnName )

Trong đó:

  • ColumnName là cột chứa dữ liệu cần trả về số giá trị riêng biệt

Tìm hiểu thêm về hàm DISTINCTCOUNT tại đây.

 

Để tính toán Rolling Average cho 3 tháng trong PowerBI, ta sử dụng công thức DAX:

3-month rolling average using DAX

Trong đó:

  • Biến totalSum tính tổng giá trị Sales Amount trong khoảng thời gian 3 tháng tính tới một thời điểm cụ thể.

Ví dụ: Giá trị của totalSum cho tháng 8 = tổng 3 tháng trước đó cộng lại (tháng 5, tháng 6, tháng 7)

  • Biến countMonth tính số tháng có trong khoảng thời gian tính tới một thời điểm cụ thể. Ở đây là 3 tháng.
  • Measure 3-month Rolling Average trả về giá trị của phép chia giữa biến totalSumcountMonth.

Tương tự cho cho việc tính toán Rolling Average cho 12 tháng

12-month rolling average using DAX

Như vậy, trong bài viết ngày hôm nay, chúng ta đã cùng nhau tìm hiểu về công thức và cách tính toán chỉ số Rolling Average bằng DAX trong Power BI, chúc các bạn áp dụng tốt chỉ số này trong công việc của mình!

Tham khảo thêm khóa học: Data Analytics Foundation (DAF) – Datapot.vn

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *