Chào các bạn trong chuyên mục Power BI!
Dạo gần đây mình có làm việc với dữ liệu có chứa cột ngày tháng và nhận thấy tính năng Date Grouping mặc định của Power BI đôi khi chưa thực sự đáp ứng hết nhu cầu. Ví dụ, nó thường nhóm theo Năm, Quý, Tháng, Ngày, nhưng đôi khi mình cần nhóm theo các khoảng thời gian khác như 'Tuần trong năm' hoặc 'Tháng/Năm tài chính' tùy chỉnh.
Mình tìm hiểu và phát hiện ra một cách để tạo các nhóm ngày tháng tùy chỉnh này bằng cách sử dụng Calculated Columns kết hợp với các hàm DAX. Cách này tuy hơi mất công một chút lúc đầu nhưng mang lại sự linh hoạt rất cao.
Cách làm cơ bản là:
- Tạo các cột mới cho từng loại nhóm bạn muốn (ví dụ: Năm Tài Chính, Tuần Trong Năm).
- Sử dụng các hàm như
YEAR(),MONTH(),WEEKNUM(),FORMAT()để trích xuất và định dạng thông tin ngày tháng theo ý muốn. - Ví dụ, để tạo cột 'Năm Tài Chính' (bắt đầu từ tháng 4):
Nam Tai Chinh = IF(MONTH([DateColumn]) >= 4, YEAR([DateColumn]) + 1, YEAR([DateColumn]))
- Hoặc để tạo cột 'Tuần Trong Năm' (chuẩn ISO 8601):
Tuan Trong Nam = WEEKNUM([DateColumn], 21)
Sau khi tạo các cột này, bạn có thể sử dụng chúng để phân tích dữ liệu theo các nhóm thời gian tùy chỉnh của mình, thay vì chỉ dựa vào các nhóm mặc định.
Có bạn nào đã áp dụng cách này hoặc có phương pháp nào khác hiệu quả hơn không? Cùng chia sẻ để mọi người cùng học hỏi nhé!