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

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

Reply
henkka
Helper II
Helper II

How to calculate chained worklleaves duration only once

Hi,
I have a calculated column which calcutes the total duration for the chained workleaves. Now I have a problem for example there is three one day work leaves that are continuing the previous one but how can I calculate the total duration so that only the firs workleave gets a total duration and the followign are null or zero.
 
ChainedWorkLeavesDuration =
VAR CurrentWorkLeaveId = FactWorkleaves[Workleave.id]
VAR ChainedWorkLeaves =
FILTER 
FactWorkleaves PATHCONTAINS FactWorkleaves[path] CurrentWorkLeaveId )
           )
RETURN  
SUMX ChainedWorkLeaves FactWorkleaves[Duration] )
 
Now the table calculates like this
 
Workleave.idPreviouschainedworkleave.idpathDurationTotal duration
111 11111
222111111 | 22212
333222111|222|33313
444 44411
555 55511

 

but the correct end result would be

Workleave.idPreviouschainedworkleave.idpathDurationTotal duration
111 11113
222111111 | 22210
333222111|222|33310
444 44411
555 55511
1 ACCEPTED SOLUTION
barritown
Super User
Super User

Hi @henkka,

I'd propose to solve you problem with a calculation column like this:

barritown_0-1684148000446.png

And in the text format for convenience:

Total duration = 
VAR CurrentWorkLeaveID = [Workleave.id]
RETURN SUMX ( 
            FILTER ( 
                ADDCOLUMNS ( ALL ( FactWorkleaves ), 
                             "Flag", 
                             FIND ( CurrentWorkLeaveID, [path], 1, BLANK () ) = 1 ), 
                [Flag] = TRUE () ), 
            [Duration] ) + 0

Best Regards,

Alexander

My YouTube vlog in English

My YouTube vlog in Russian

 

View solution in original post

1 REPLY 1
barritown
Super User
Super User

Hi @henkka,

I'd propose to solve you problem with a calculation column like this:

barritown_0-1684148000446.png

And in the text format for convenience:

Total duration = 
VAR CurrentWorkLeaveID = [Workleave.id]
RETURN SUMX ( 
            FILTER ( 
                ADDCOLUMNS ( ALL ( FactWorkleaves ), 
                             "Flag", 
                             FIND ( CurrentWorkLeaveID, [path], 1, BLANK () ) = 1 ), 
                [Flag] = TRUE () ), 
            [Duration] ) + 0

Best Regards,

Alexander

My YouTube vlog in English

My YouTube vlog in Russian

 

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel

Power BI Monthly Update - May 2024

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