BẢNG DIM_DATE TRONG POWER BI: CHÌA KHÓA ĐỂ PHÂN TÍCH DỮ LIỆU THEO THỜI GIAN

linhmaipham
linhmaipham

6/7/20252 mins read

2k
0
BẢNG DIM_DATE TRONG POWER BI: CHÌA KHÓA ĐỂ PHÂN TÍCH DỮ LIỆU THEO THỜI GIAN

BẢNG DIM_DATE TRONG POWER BI: CHÌA KHÓA ĐỂ PHÂN TÍCH DỮ LIỆU THEO THỜI GIAN

Bảng dim_date trong Power BI là một thành phần rất quan trọng khi phân tích dữ liệu theo thời gian. Nó là nền tảng để sử dụng các hàm thông minh về thời gian (time intelligence) và cực kỳ cần thiết khi muốn tính toán các chỉ số liên quan đến ngày tháng trong báo cáo. Bài viết này sẽ khám phá những cách sử dụng nâng cao của bảng dim_date, đặc biệt là cách bảng này hỗ trợ các phép tính phức tạp như xử lý ngày không hoạt động, tính khoảng thời gian tùy chỉnh, và so sánh giữa các giai đoạn thời gian khác nhau.

 

1. Bảng Dim_Date là gì?

Bảng dim_date là một bảng dữ liệu trong Power BI chứa danh sách chi tiết các ngày trong một khoảng thời gian nhất định, ví dụ như một năm hoặc một giai đoạn tài chính. Bảng này bao gồm nhiều cột như ngày, tháng, quý, năm, thứ trong tuần, và các thuộc tính ngày tùy chỉnh khác, giúp bạn dễ dàng làm việc với dữ liệu theo thời gian.

Power BI không tự tạo bảng ngày theo mặc định, nhưng việc tạo bảng này là rất cần thiết nếu bạn muốn thực hiện các phép tính nâng cao như tăng trưởng năm sau so với năm trước, so sánh giai đoạn, hay tính tổng tích lũy. Khi sử dụng bảng dim_date, dữ liệu liên quan đến thời gian của bạn sẽ được tổ chức chặt chẽ và dễ xử lý trong báo cáo Power BI.

Các cột chính trong bảng dim_date:

  • Date: Cột ngày chính.

  • Year, Quarter, Month: Các thuộc tính thời gian để lọc và nhóm dữ liệu.

  • Weekday: Hỗ trợ phân tích theo ngày trong tuần.

  • Fiscal Year, Fiscal Quarter: Quan trọng với doanh nghiệp sử dụng lịch tài chính.

 

2. Các trường hợp sử dụng bảng Dim_Date

Dù bạn có thể dùng bảng dim_date cho việc nhóm dữ liệu theo ngày đơn giản, nhưng sức mạnh thực sự của bảng này nằm ở các ứng dụng nâng cao, đặc biệt là khi kết hợp với ngôn ngữ DAX (Data Analysis Expressions).

Xử lý các ngày không hoạt động

Một vấn đề phổ biến là ngày không hoạt động – tức những ngày không có dữ liệu (ví dụ cuối tuần, ngày lễ...). Nếu không xử lý đúng, các phép tính theo thời gian sẽ sai lệch.

Giải pháp: Sử dụng các hàm DAX như IFISBLANK để kiểm tra dữ liệu trống trong những ngày này và gán giá trị mặc định (ví dụ: 0).

Ví dụ: Hiển thị 0 cho những ngày không có doanh số

Giả sử bạn muốn hiển thị doanh số mỗi ngày, kể cả ngày không có giao dịch, và hiển thị rõ số 0 để biểu đồ không bị gián đoạn:

Công thức này giúp giữ cho biểu đồ đường hoặc KPI không bị thiếu giá trị hoặc hiển thị "N/A".

 

So sánh giữa các giai đoạn (Period-over-Period)

So sánh giữa các khoảng thời gian giúp bạn đánh giá hiệu quả theo năm, theo tháng, v.v. Power BI hỗ trợ rất tốt qua các hàm DAX.

Giải pháp: Sử dụng các hàm như SAMEPERIODLASTYEAR, PREVIOUSMONTH, PARALLELPERIOD để dịch chuyển ngữ cảnh thời gian sang kỳ trước.

Ví dụ: Tăng trưởng doanh số năm này so với năm trước (YoY)

Hàm SAMEPERIODLASTYEAR sẽ tự động dịch thời gian sang cùng kỳ năm trước để bạn dễ dàng so sánh.

 

Tính thời gian ra quyết định

Một ứng dụng khác là tính thời gian chuyển trạng thái. Ví dụ: Trong quy trình tuyển dụng, bạn cần biết mất bao lâu để ứng viên chuyển từ nộp đơn sang cập nhật trạng thái.

Giải pháp: Dùng hàm DATEDIFF để tính khoảng cách giữa hai ngày.

Ví dụ: Tính thời gian cập nhật hồ sơ

  • 'applicant_data' là bảng chứa dữ liệu ứng viên.

  • DATEDIFF(..., ..., DAY) tính số ngày giữa hai mốc thời gian.

  • AVERAGEX(...) lặp qua từng ứng viên để tính trung bình số ngày cập nhật.

 

Sử dụng mối quan hệ không hoạt động (Inactive Relationship)

Power BI cho phép bạn tạm thời kích hoạt mối quan hệ không hoạt động giữa các bảng bằng hàm USERELATIONSHIP. Điều này cực kỳ hữu ích khi bạn có nhiều cột ngày (ví dụ: ngày tài chính và ngày theo lịch) và cần chọn dùng cột nào cho từng phép tính.

Giải pháp: Dùng USERELATIONSHIP để kích hoạt mối quan hệ thứ cấp trong công thức DAX.

Ví dụ: So sánh theo năm tài chính và năm dương lịch

Hàm USERELATIONSHIP cho phép kích hoạt mối quan hệ, giúp bạn so sánh theo các chuẩn thời gian khác nhau.

 

3. Kết luận

Bảng dim_date đóng vai trò cốt lõi trong các phép tính thời gian nâng cao trong Power BI. Khi kết hợp với các hàm DAX như SAMEPERIODLASTYEAR, DATEDIFF, và USERELATIONSHIP, bạn có thể khai thác tối đa dữ liệu theo thời gian – từ việc xử lý ngày không hoạt động, so sánh giữa các giai đoạn, đến tính toán thời gian đưa ra quyết định.

Dù bạn phân tích doanh số, quy trình tuyển dụng, hay bất kỳ dữ liệu nào liên quan đến thời gian, việc thành thạo bảng dim_date sẽ giúp bạn xây dựng những báo cáo chính xác và đầy giá trị.

 

4. Tài liệu tham khảo

  • Das, Aveek. “Using a Date Dimension Table in Power BI.” SQL Shack, 5 June 2020, www.sqlshack.com/using-a-date-dimension-table-in-power-bi/

  • Sanjaya, Iwa. “Building an Effective Date Table with Dimdate for KPI Measurement...” Medium, 17 Oct. 2024, medium.com/microsoft-power-bi/building-an-effective-date-table-with-dimdate-for-kpi-measurement...

  • Denglishbi. “Design Guidance for Date Tables in Power BI Desktop - Power BI.” Microsoft Learn, learn.microsoft.com/en-us/power-bi/guidance/model-date-tables