netWorkDays(start, end) counts the days from Monday to Friday between two dates. It includes both the start and the end date, which is right for “how many working days does this period cover” and one too many for “how many working days did shipping take”.

Copy and paste

Working days in the period, both ends included:

netWorkDays({Order Date}, {Ship Date})

Elapsed working days, as in “shipped in 1 business day”:

netWorkDays({Order Date}, {Ship Date}) - isWorkDay({Order Date})

Working days left in the current month, today included:

netWorkDays(now(), addDateTime(-1, 'DD', addDateTime(1, 'MM', truncDate('MM', now()))))

Is the date a working day? (1 or 0):

isWorkDay({Order Date})

Example

Order Date Ship Date netWorkDays Elapsed working days
Fri 2026-05-08 Mon 2026-05-11 2 1
Sat 2026-05-09 Mon 2026-05-11 1 1
Mon 2026-05-11 Fri 2026-05-15 5 4
Thu 2026-05-14 Wed 2026-05-20 5 4
Fri 2026-05-15 Fri 2026-05-15 1 0

netWorkDays counts Friday and Monday in the first row, so an order shipped on the next working day shows 2. isWorkDay returns 1 for a working day and 0 for a weekend, so subtracting it removes the start day only when it was counted. An order placed on Saturday and shipped on Monday also took one working day.

What the function assumes

Public holidays

netWorkDays, isWorkDay and addWorkDays know nothing about holidays: Christmas on a Friday counts as a working day. QuickSight has no holiday calendar setting, so the dependable fix is in the data. Keep a calendar table in the warehouse with one row per date and an IsWorkingDay flag maintained for your countries, and compute the working days there, or join the calendar to the dataset. In the analysis, keep netWorkDays for internal metrics where a holiday or two per month is an acceptable error, and say so in the visual’s description.

Checked against the Amazon Quick Sight function reference (October 2026). The example results were recomputed in DuckDB.

References