Forum Discussion
Referencing rows within same table based on events
- 6 years ago
Hi Smallegrue ,
We can create a calculated column to meet your requirement:
Original Failure line ID = IF ( [Status] = "Down", CALCULATE ( MIN ( 'Table'[Row ID] ), FILTER ( 'Table', 'Table'[Row ID] > CALCULATE ( MAX ( 'Table'[Row ID] ), FILTER ( 'Table', 'Table'[Row ID] <= EARLIER ( 'Table'[Row ID], 2 ) && 'Table'[Status] = "Up" ) ) && 'Table'[Status] = "Down" ) ) )
Best regards,
See my article on Mean Time Between Failure (MTBF) which uses EARLIER: http://community.powerbi.com/t5/Community-Blog/Mean-Time-Between-Failure-MTBF-and-Power-BI/ba-p/339586
- Smallegrue6 years agoFrequent Visitor
Thanks Greg,
I'll take a look at it! I'll let you know.
- Smallegrue6 years agoFrequent Visitor
Hello,
So I looked at Greg_Deckler post and although it is a start, I feel it's not exactly the same thing. I maybe mistaken, but I feel Greg's post deals with rows that are independant of each other vs my rows are dependant on each other...the lenght of a failure could be the sum of multiple durations of subsequent lines. In greg's case each line represents a distinct failure.
Using Greg's post I was able to "tag" failing lines, but I'm not able to distinct each failure.
Here is the closest result I was able to obtain...
Original Failure Line ID =minx(filter('Status Equipements','Status Equipements'[Equipment] = EARLIER('Status Equipements'[Equipment])&& 'Status Equipements'[Status] = EARLIER('Status Equipements'[status])&& 'Status Equipements'[Status] = "Down"&& 'Status Equipements'[Row ID] <= earlier('Status Equipements'[Row ID])),'Status Equipements'[Row ID])Row ID Date Equipment Shift Time Duration Status Original Failure line ID 1 2020-02-17 T101 Night 0:00 43200 Up 2 2020-02-18 T101 Day 0:00 21600 Up 3 2020-02-18 T101 Day 6:00 10800 Down 3 4 2020-02-18 T101 Day 9:00 10800 Up 5 2020-02-18 T101 Night 0:00 43200 Down 3 6 2020-02-19 T101 Day 0:00 43200 Down 3 7 2020-02-19 T101 Night 0:00 43200 Down 3 8 2020-02-20 T101 Day 0:00 43200 Down 3 9 2020-02-20 T101 Night 0:00 43200 Down 3 Any help is appreciated
- v-lid-msft6 years agoCommunity Support
Hi Smallegrue ,
We can create a calculated column to meet your requirement:
Original Failure line ID = IF ( [Status] = "Down", CALCULATE ( MIN ( 'Table'[Row ID] ), FILTER ( 'Table', 'Table'[Row ID] > CALCULATE ( MAX ( 'Table'[Row ID] ), FILTER ( 'Table', 'Table'[Row ID] <= EARLIER ( 'Table'[Row ID], 2 ) && 'Table'[Status] = "Up" ) ) && 'Table'[Status] = "Down" ) ) )
Best regards,