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.
Hi!
I need to calculate values that are accumulated if it is in a certain condition.
Basically, if the value of Control is different from 0, the value of
Duration is repeated in the sum_duration column, in case the value of Control_01 = 0 must be accumulated until the value of Control is different from 0.
I'm sending an example table with what I need to do.
Solved! Go to Solution.
Hi,
Please check the below picture and the attached pbix file.
It is for creating measures.
Sum duration control 1: =
VAR _currentID =
MAX ( Data[ID] )
VAR _previousIDcontrolnumberzero =
MAXX (
FILTER ( ALL ( Data ), Data[ID] < _currentID && Data[Control_01] <> 0 ),
Data[ID]
) + 1
VAR _condition =
MAXX ( FILTER ( ALL ( Data ), Data[ID] = _currentID - 1 ), Data[Control_01] )
RETURN
IF (
HASONEVALUE ( Data[ID] ),
IF (
_previousIDcontrolnumberzero <> BLANK ()
&& _condition = 0,
CALCULATE (
SUM ( Data[Duration] ),
FILTER (
ALL ( Data ),
Data[ID] >= _previousIDcontrolnumberzero
&& Data[ID] <= _currentID
)
),
SUM ( Data[Duration] )
)
)
Sum duration control 2: =
VAR _currentID =
MAX ( Data[ID] )
VAR _previousIDcontrolnumberzero =
MAXX (
FILTER ( ALL ( Data ), Data[ID] < _currentID && Data[Control_02] <> 0 ),
Data[ID]
) + 1
VAR _condition =
MAXX ( FILTER ( ALL ( Data ), Data[ID] = _currentID - 1 ), Data[Control_02] )
RETURN
IF (
HASONEVALUE ( Data[ID] ),
IF (
_previousIDcontrolnumberzero <> BLANK ()
&& _condition = 0,
CALCULATE (
SUM ( Data[Duration] ),
FILTER (
ALL ( Data ),
Data[ID] >= _previousIDcontrolnumberzero
&& Data[ID] <= _currentID
)
),
SUM ( Data[Duration] )
)
)
If this post helps, then please consider accepting it as the solution to help other members find it faster, and give a big thumbs up.
Hi,
Please check the below picture and the attached pbix file.
It is for creating measures.
Sum duration control 1: =
VAR _currentID =
MAX ( Data[ID] )
VAR _previousIDcontrolnumberzero =
MAXX (
FILTER ( ALL ( Data ), Data[ID] < _currentID && Data[Control_01] <> 0 ),
Data[ID]
) + 1
VAR _condition =
MAXX ( FILTER ( ALL ( Data ), Data[ID] = _currentID - 1 ), Data[Control_01] )
RETURN
IF (
HASONEVALUE ( Data[ID] ),
IF (
_previousIDcontrolnumberzero <> BLANK ()
&& _condition = 0,
CALCULATE (
SUM ( Data[Duration] ),
FILTER (
ALL ( Data ),
Data[ID] >= _previousIDcontrolnumberzero
&& Data[ID] <= _currentID
)
),
SUM ( Data[Duration] )
)
)
Sum duration control 2: =
VAR _currentID =
MAX ( Data[ID] )
VAR _previousIDcontrolnumberzero =
MAXX (
FILTER ( ALL ( Data ), Data[ID] < _currentID && Data[Control_02] <> 0 ),
Data[ID]
) + 1
VAR _condition =
MAXX ( FILTER ( ALL ( Data ), Data[ID] = _currentID - 1 ), Data[Control_02] )
RETURN
IF (
HASONEVALUE ( Data[ID] ),
IF (
_previousIDcontrolnumberzero <> BLANK ()
&& _condition = 0,
CALCULATE (
SUM ( Data[Duration] ),
FILTER (
ALL ( Data ),
Data[ID] >= _previousIDcontrolnumberzero
&& Data[ID] <= _currentID
)
),
SUM ( Data[Duration] )
)
)
If this post helps, then please consider accepting it as the solution to help other members find it faster, and give a big thumbs up.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
49 | |
26 | |
20 | |
15 | |
12 |
User | Count |
---|---|
57 | |
49 | |
44 | |
19 | |
18 |