Chào mọi người,
Dạo này mình đang làm một số báo cáo theo dõi tiến độ dự án trên Power BI và gặp một vấn đề nhỏ: làm sao để tính số ngày còn lại cho mỗi đầu việc dựa trên ngày kết thúc dự kiến? Mình đã thử một vài cách nhưng chưa thấy thật sự ưng ý.
Sau một hồi mày mò, mình đã tìm ra một cách khá đơn giản để tạo một Measure tính số ngày còn lại. Chia sẻ với mọi người để tiện tham khảo, biết đâu có ai cũng đang cần.
Giả sử bạn có một bảng dữ liệu với các cột:
TenCongViec(Tên công việc)NgayKetThucDuKien(Ngày kết thúc dự kiến)NgayHoanThanh(Ngày hoàn thành thực tế, có thể để trống nếu chưa hoàn thành)
Để tính số ngày còn lại, bạn có thể sử dụng Measure sau:
SoNgayConLai =
VAR NgayHienTai = TODAY()
VAR NgayKetThuc = MAX('TenBangDuLieu'[NgayKetThucDuKien])
VAR NgayHoanThanh = MAX('TenBangDuLieu'[NgayHoanThanh])
RETURN
IF(
ISBLANK(NgayHoanThanh), // Nếu chưa hoàn thành
IF(
NgayKetThuc >= NgayHienTai, // Và ngày kết thúc còn trong tương lai
DATEDIFF(NgayHienTai, NgayKetThuc, DAY), // Tính số ngày còn lại
"Quá hạn"
),
0 // Nếu đã hoàn thành thì số ngày còn lại là 0
)
Giải thích:
TODAY()lấy ngày hiện tại.MAX()được dùng để lấy giá trị ngày cho ngữ cảnh hiện tại (ví dụ: cho từng công việc hoặc nhóm công việc).DATEDIFF()tính số ngày chênh lệch giữa ngày hiện tại và ngày kết thúc dự kiến.- Phần
IFkiểm tra xem công việc đã hoàn thành chưa. Nếu chưa, nó sẽ tính số ngày còn lại hoặc ghi nhận là "Quá hạn" nếu đã quá ngày kết thúc. Nếu đã hoàn thành, nó trả về 0.
Hy vọng cách này hữu ích cho các bạn. Có ai có cách nào hay hơn hoặc gặp vấn đề gì khi áp dụng thì chia sẻ thêm nhé!