fnBusinessDays in Power Query M

A reusable custom function that returns the number of weekdays between two dates.

Advanced M FunctionsAdvancedcustom functionreusablebusiness days

Power Query M code

(startDate as date, endDate as date) as number =>
    let
        AllDates = List.Dates(startDate, Duration.Days(endDate - startDate) + 1, #duration(1, 0, 0, 0)),
        Weekdays = List.Select(AllDates, each Date.DayOfWeek(_, Day.Monday) < 5)
    in
        List.Count(Weekdays)

Notes

Save this as its own query named fnBusinessDays, then call it with fnBusinessDays([StartDate], [EndDate]) inside Table.AddColumn.

Requirements

How to use this snippet

  1. In Power BI Desktop, choose Transform data to open Power Query, then open the Advanced Editor on a query (or start from a blank query).
  2. Paste the snippet and replace the placeholder names (tables, columns, file paths) with your own. Check the requirements above first.
  3. Run it through the Power Query M Formatter to tidy the layout.

Related Power Query M snippets

More Power Query M resources

Browse all 145 snippets in the Power Query M Code Snippets, or search the library for something similar to fnBusinessDays.