Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

July 7 - July 17 | Round 2 of the Power BI Dataviz World Championships. Don't miss your chance! Learn more

Reply
TheEdwardFancy
New Member

Dynamic networkdays function in measure

Hi all!

 

I'm trying to build a measure that allows me to work out the networkdays in a measure.

I have the summary data below:

 

ItemPackageStart DateEnd Date
OrangesOne02/02/202206/08/2022
OrangesTwo15/04/202216/06/2022
ApplesOne01/03/202216/06/2022
BananasOne05/04/202203/10/2022

 

I have a date table so that I can put the months of 2022 in the column headers in a matrix. I want Item in my rows. For my values, I want the total of working days of each month to get:

 

 JanFebMarAprMayJunJul
Apples00232122224
Oranges0192332443421
Pears00019222221

 

I'm circling around an answer using sumx, networkdays, and the min and max of dates, but my table only returns the correct answer when I add 'Package' to the hierarchy and expand it. Can anyone point me in the right direction please?

 Very much appreciated

1 ACCEPTED SOLUTION

I used a workaround by using countrows on my data table and filtering out weekends. SUMX then calculated it by item and totalled the answer

View solution in original post

3 REPLIES 3
Greg_Deckler
Community Champion
Community Champion

@TheEdwardFancy You'll have to get the MIN start date and MAX end date and then calculate the number of working days, something like:

Measure =
  VAR __Min = MIN('Table'[Start Date])
  VAR __Max = MAX('Table'[End Date])
  VAR __Result = NETWORKDAYS(__Min, __Max)
RETURN
  __Result

You may also need to combine this with something like Time Intervals:


Take a look at these two Quick Measures as I think you want something like them.

https://community.powerbi.com/t5/Quick-Measures-Gallery/Open-Tickets/m-p/409364
https://community.powerbi.com/t5/Quick-Measures-Gallery/Periodic-Billing/m-p/409365

 

Not sure what your current calculation looks like.



Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
DAX For Humans

DAX is easy, CALCULATE makes DAX hard...

I used a workaround by using countrows on my data table and filtering out weekends. SUMX then calculated it by item and totalled the answer

Thanks for this @Greg_Deckler. This is my current measure at the moment:

 

VAR StartMonth = EOMONTH(max('DateTable'[Month]),-1)+1

VAR EndMonth = max('DateTable'[Month])

 

RETURN calculate(

                sumx('Data',

                    if(

                        or  (max('Data'[Start Date])>= EndMonth,

                            max('Data'[End Date])<=StartMonth),0,

                        NETWORKDAYS(

                            max(StartMonth,max('Data'[Start Date])),

                            min(EndMonth,max('Data'[End Date]))

                            )

                        )

                    )

                )

 

Which gives me the results in my OP. My problem is that my dates span across months, so I can't just have a standard networkday calculation with the start and end dates from the columns. Apologies if I'm not explaining myself properly, but I appreciate your reply!

Helpful resources

Announcements
FabCon and SQLCon Barcelona 2026

FabCon & SQLCon – Barcelona 2026

Join us in Barcelona for FabCon and SQLCon, the Fabric, Power BI, SQL, and AI community event. Save €200 with code FABCMTY200.

60 days of Data Days Carousel

Data Days 2026

Join Fabric Data Days 2026: 60 days of free live/on-demand sessions, challenges, study groups, and certification opportunities.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.