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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
PaulVanS267
Frequent Visitor

Using SUMMARIZE as a variable in NETWORKDAYS expression

Good afternoon,

 

Please could someone help me with an issue I am struggling with.  I have a Calendar dimension table that contains flags ("Y") for all UK Bank Holidays.  

 

I am trying to create an expression where:

  1. I define a variable that returns the filtered column of dates that are public holidays (to achieve this I am using the SUMMARIZE function)
  2. Use this variable in the NETWORKDAYS expression as the <holiday> parameter

 

The formula (which is not working) is:

NetWorkDays Summarize variable= 
VAR colHolidays = 
SUMMARIZE(FILTER(dimCalendar,dimCalendar[flgHoliday]="Y"),dimCalendar[Date])
RETURN
NETWORKDAYS(MAX(Projects[start_date]),MAX(Projects[end_date]),1,colHolidays)

 

The reason I thought this would work is I was able get the correct results by doing this in two stages:

First by creating a table using that SUMMARIZE formula

Table = 
SUMMARIZE(FILTER(dimCalendar,dimCalendar[flgHoliday]="Y"),
dimCalendar[Date])

PaulVanS267_1-1685030426397.png

 

And then I referenced that table in a NETWORKDAYS expression and it worked:

NetworkDays SUMAMRIZE Table = NETWORKDAYS(MAX(Projects[start_date]),MAX(Projects[end_date]),1,'Table')

 

Here is a screenshot of the table of results:

PaulVanS267_0-1685030234144.png

 

Please can you help me fix my variable definition?

 

Kind regards,

Paul

 

 

 

1 ACCEPTED SOLUTION

@PaulVanS267 Yep, that did it, here is the fix:

NetWorkDays Summarize Variable = //Not returning the correct result
VAR colHolidays = 
SUMMARIZE(FILTER(ALL(dimCalendar),dimCalendar[flgHoliday]="Y"),dimCalendar[Date])
RETURN
NETWORKDAYS(MAX(Projects[start_date]),MAX(Projects[end_date]),1,colHolidays) 

@ 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!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

View solution in original post

4 REPLIES 4
Greg_Deckler
Super User
Super User

@PaulVanS267 Very odd. I can't replicate that. NETWORKDAYS accepts a virtual table as the 4th argument. PBIX is attached below signature.

 

 


@ 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!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

Hi @Greg_Deckler 


Thank you for reaching out.

I have attached the pbix for you to look at. Perhaps it will be easier to identify the issue?

NetworkDays Example 

 

Kind regards,

Paul

@PaulVanS267 Yep, that did it, here is the fix:

NetWorkDays Summarize Variable = //Not returning the correct result
VAR colHolidays = 
SUMMARIZE(FILTER(ALL(dimCalendar),dimCalendar[flgHoliday]="Y"),dimCalendar[Date])
RETURN
NETWORKDAYS(MAX(Projects[start_date]),MAX(Projects[end_date]),1,colHolidays) 

@ 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!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

Thank you so much @Greg_Deckler!

 

Works perfectly now.

 

Have a great day

 

Kind regards,

Paul

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.