Forum Discussion
Average Time between Repair Work orders
Hello All,
I have a table where cloumn1 = Porduct Name , Cloumn 2 = Serial Numbers of products , Cloumn 3 = Repair Work Order Numbers , Cloumn 4 = Work order Created date , Column 5 = Repair Work Order Closed Date . Now i have to find a time difference between last closed repair Work order date w.r.t previous repair closed date . Please suggest
Hi SAU1111 ,
If the Repair Work Order Numbers is random like below:
You can create a column to rank the Closed Date for each Product Name and Serial Numbers of products, like this:
Rank = RANKX ( FILTER ( 'Table', 'Table'[Porduct Name] = EARLIER ( 'Table'[Porduct Name] ) && 'Table'[Serial Numbers of products] = EARLIER ( 'Table'[Serial Numbers of products] ) ), 'Table'[Repair Work Order Closed Date], , ASC, DENSE )Then create a measure.
Average Diff = VAR _T = ADDCOLUMNS ( 'Table', "Diff", DATEDIFF ( MAXX ( FILTER ( 'Table', 'Table'[Rank] = EARLIER ( 'Table'[Rank] ) - 1 && 'Table'[Porduct Name] = EARLIER ( 'Table'[Porduct Name] ) && 'Table'[Serial Numbers of products] = EARLIER ( 'Table'[Serial Numbers of products] ) ), 'Table'[Repair Work Order Closed Date] ), 'Table'[Repair Work Order Closed Date], DAY ) ) RETURN AVERAGEX ( _T, [Diff] )Get the result for each Product Name and Serial Numbers of products.
I attach my sample below for reference.
Best Regards,
Community Support Team _ kalyjIf this post helps, then please considerAccept it as the solution to help the other members find it more quickly.
3 Replies
- v-yanjiang-msftCommunity Support
Hi SAU1111 ,
According to your descrption, I create a sample.
Here's my solution, create a measure.
Average Diff = VAR _T = ADDCOLUMNS ( 'Table', "Diff", DATEDIFF ( MAXX ( FILTER ( 'Table', 'Table'[Repair Work Order Numbers] = EARLIER ( 'Table'[Repair Work Order Numbers] ) - 1 && 'Table'[Porduct Name] = EARLIER ( 'Table'[Porduct Name] ) && 'Table'[Serial Numbers of products] = EARLIER ( 'Table'[Serial Numbers of products] ) ), 'Table'[Repair Work Order Closed Date] ), 'Table'[Repair Work Order Closed Date], DAY ) ) RETURN AVERAGEX ( _T, [Diff] )Get the correct result.
I attach my sample below for reference.
Best Regards,
Community Support Team _ kalyjIf this post helps, then please considerAccept it as the solution to help the other members find it more quickly.
- SAU1111Frequent Visitor
Sorry I forgot to mention that for 1 Serial numbers there can be N numbers of Work orders and there closed On date . Now problem is that more than 1 serial numbers has same repair work order closed on date . SO WOrk order numbers also be random cannot be arranged as on same day two Work order of a sequence like 1 and 2 can be for different serial numbers . Now First how to arrange by Serial Numbers all the WO and its closed on Date so that i can arrange the dates in ascending order and calculate a difference .
- v-yanjiang-msftCommunity Support
Hi SAU1111 ,
If the Repair Work Order Numbers is random like below:
You can create a column to rank the Closed Date for each Product Name and Serial Numbers of products, like this:
Rank = RANKX ( FILTER ( 'Table', 'Table'[Porduct Name] = EARLIER ( 'Table'[Porduct Name] ) && 'Table'[Serial Numbers of products] = EARLIER ( 'Table'[Serial Numbers of products] ) ), 'Table'[Repair Work Order Closed Date], , ASC, DENSE )Then create a measure.
Average Diff = VAR _T = ADDCOLUMNS ( 'Table', "Diff", DATEDIFF ( MAXX ( FILTER ( 'Table', 'Table'[Rank] = EARLIER ( 'Table'[Rank] ) - 1 && 'Table'[Porduct Name] = EARLIER ( 'Table'[Porduct Name] ) && 'Table'[Serial Numbers of products] = EARLIER ( 'Table'[Serial Numbers of products] ) ), 'Table'[Repair Work Order Closed Date] ), 'Table'[Repair Work Order Closed Date], DAY ) ) RETURN AVERAGEX ( _T, [Diff] )Get the result for each Product Name and Serial Numbers of products.
I attach my sample below for reference.
Best Regards,
Community Support Team _ kalyjIf this post helps, then please considerAccept it as the solution to help the other members find it more quickly.