Ny funktion NETWORKDAYS()

Under sommaren kom en ny funktion till Power BI - NETWORKDAYS(). Funktionen räknar ut antalet arbetsdagar mellan två datum.



Ibland vill vi räkna ut skillnaden i arbetsdagar mellan två datum. Det kan till exempel handla om hur många arbetsdagar det tog från en beställning till utleverans eller hur många arbetsdagar som behövdes för att hantera en avvikelse.


Funktionen NETWORKDAYS utgår från att måndag-fredag är arbetsdagar, men man kan med hjälp av olika parametrar byta både vad som ska definieras som helg samt ange en lista på avvikande helgdagar som t.ex. påsk.


NETWORKDAYS(<start_date>, <end_date>[, <weekend>, <holidays>])


start_date = Ett datum som vi vill börja räkna från. Detta kan t.ex. vara en kolumn i data (orderdatum, avvikelsedatum etc), dagens datum eller något fast värde.


end_date = Ett datum vi vill räkna till. Detta kan t.ex. vara en kolumn i data (orderdatum, avvikelsedatum etc), dagens datum eller något fast värde.


weekend = En valfri parameter för att styra vilka veckodagar som utgör helgen. Följande alternativ finns (om inget val anges räknas lördag & söndag som helg):


1: Lördag & söndag

2: Söndag & måndag

3: Måndag & tisdag

4: Tisdag & onsdag

5: Onsdag & torsdag

6: Torsdag & fredag

7: Fredag & lördag

11: Söndag

12: Måndag

13: Tisdag

14: Onsdag

15: Torsdag

16: Fredag

17: Lördag


holidays = En lista på helgdagar att räkna bort. Listan kan skapas i uttrycket som t.ex. { DATE(2020,12,24), DATE(2020,12,25) }


Exempel

Vi har data för inköpsorder och vill räkna ut hur många arbetsdagar i snitt en leverantör levererar på. För att göra detta vill vi räkna antalet arbetsdagar mellan orderdatum och inleveransdatum. Under julen har verksamheten inte öppet och tar emot inleveranser - därför räknar vi av julens helgdagar.


Vi kan skapa en ny beräknad kolumn i DAX:

NetworkDays = NETWORKDAYS ( 'Orders'[Order Date], 'Orders'[Receipt Date], 1, { DATE ( 2020, 12, 24 ), DATE ( 2020, 12, 25 ), DATE ( 2020, 12, 26 ), DATE ( 2021, 12, 24 ), DATE ( 2021, 12, 25 ), DATE ( 2021, 12, 26 ), DATE ( 2022, 12, 24 ), DATE ( 2022, 12, 25 ), DATE ( 2022, 12, 26 ) } )

Nu har vi ett fält som räknar antalet dagar mellan [Order Date] och [Receipt Date] utan att räkna lördag, söndag samt julledigheten. Nästa steg blir att räkna ut snittvärdet av dessa dagar:


Avg leadtime (network days) = AVERAGE(Orders[NetworkDays])


Det nya måttet kan användas i grafer och tabeller.

 

Skriven av: Morgan Kejerhag

Morgan Kejerhag har arbetat med beslutsstöd sedan 2005 och är en av Sveriges mest erfarna Qlik-konsulter. Under åren har Morgan arbetat med flertalet multinationella bolag där han lett arbetet i att bygga upp stora miljöer såväl som små kunder. LinkedIn Kontaktuppgifter