Menu

Chia sẻ cách tạo Measure đơn giản để đếm số ngày làm việc trong Power BI

Dương Lập Mỹ 15/06/2026 19:52 441 lượt xem 2 trả lời

Chào mọi người,

Dạo này mình đang làm báo cáo trên Power BI và gặp một vấn đề nhỏ là làm sao để đếm chính xác số ngày làm việc (không tính cuối tuần) giữa hai ngày cho trước. Mình đã thử tìm trên mạng và áp dụng một vài cách, hôm nay xin chia sẻ một Measure khá đơn giản và hiệu quả mà mình thấy hữu ích.

Giả sử bạn có hai cột ngày là StartDateEndDate trong bảng của mình.

Measure này sẽ tính số ngày làm việc:

WorkingDays = 
VAR StartDate = MIN(YourTable[StartDate])
VAR EndDate = MAX(YourTable[EndDate])
VAR TotalDays = DATEDIFF(StartDate, EndDate, DAY) + 1
VAR Weekends = INT(TotalDays / 7) * 2
VAR RemainingDays = MOD(TotalDays, 7)
VAR WeekendDaysInRemaining = 
    IF(WEEKDAY(StartDate, 2) + RemainingDays > 5, 
        IF(WEEKDAY(StartDate, 2) = 6, 2, 1), 
        0
    )
RETURN
    TotalDays - Weekends - WeekendDaysInRemaining

Giải thích sơ bộ:

  • Chúng ta tính tổng số ngày chênh lệch.
  • Trừ đi số ngày cuối tuần dựa trên số tuần đầy đủ.
  • Xử lý các ngày còn lại để trừ đi các ngày cuối tuần có thể rơi vào.

Cách này khá trực quan và dễ hiểu. Hy vọng nó hữu ích cho các bạn nào đang cần chức năng tương tự. Nếu có cách nào tối ưu hơn hoặc gặp lỗi gì khi áp dụng, mọi người cùng thảo luận nhé!

0

Chào bạn, cảm ơn bạn đã chia sẻ cách đếm ngày làm việc rất hay này!

Mình cũng từng gặp vấn đề tương tự và cách của bạn rất trực quan. Mình có một câu hỏi nhỏ, nếu trong khoảng thời gian đó có thêm các ngày nghỉ lễ cố định thì mình có thể điều chỉnh Measure này để loại trừ chúng không nhỉ? Bạn có kinh nghiệm về vấn đề này không?

0

Hay quá bạn ơi! Cách bạn chia sẻ để đếm ngày làm việc trong Power BI này rất hữu ích. Mình cũng hay phải làm việc với dữ liệu cần tính toán khoảng thời gian như vậy.

Về câu hỏi của bạn liên quan đến ngày nghỉ lễ, mình nghĩ có thể kết hợp thêm một bảng Calendar (hoặc bảng chứa các ngày nghỉ lễ) và dùng hàm FILTER hoặc EXCEPT để loại bỏ những ngày đó ra khỏi kết quả đếm cuối cùng. Bạn đã thử cách này chưa?

0

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký