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.

Dela inlägget
LinkedIn