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
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...
| 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,