Chào các anh em trong diễn đàn!
Dạo này mình đang làm báo cáo trên Power BI và gặp một vấn đề khá hay ho. Mình muốn tạo một cái bộ lọc (slicer) mà người dùng có thể chọn cả năm và tháng để lọc dữ liệu. Tức là, khi chọn năm thì nó lọc theo năm đó, còn nếu chọn thêm tháng nữa thì nó lọc chính xác theo tháng của năm đã chọn.
Ban đầu mình thử làm slicer theo kiểu ngày tháng thông thường thì nó ra dạng range, hoặc chọn từng ngày rất bất tiện. Sau khi mày mò một chút, mình phát hiện ra một cách làm khá đơn giản mà không cần dùng đến DAX phức tạp.
Cách làm như sau:
- Đầu tiên, bạn cần có một bảng Calendar (Bảng Ngày tháng) trong Power BI. Nếu chưa có, bạn có thể tạo bằng DAX hoặc Power Query. Đảm bảo bảng này có cột Year và cột Month (hoặc Month Name).
- Tạo 2 slicer riêng biệt:
- Một slicer cho cột Year.
- Một slicer cho cột Month.
- Quan trọng nhất là thiết lập mối quan hệ giữa bảng dữ liệu chính của bạn và bảng Calendar này theo cột ngày tháng.
- Sau đó, bạn có thể chọn một năm trên slicer Year, và chọn một tháng trên slicer Month. Power BI sẽ tự động lọc dữ liệu theo đúng sự kết hợp bạn chọn.
Cách này giúp người dùng dễ dàng xem báo cáo theo từng tháng của một năm cụ thể mà không cần phải tạo các measure phức tạp hay dùng đến các kỹ thuật nâng cao. Rất hữu ích cho các báo cáo về doanh thu, bán hàng, hay bất kỳ dữ liệu nào có yếu tố thời gian.
Anh em nào có cách làm nào hay hơn hoặc gặp vấn đề gì với cách này thì cùng thảo luận nhé!