Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
Hi SmartBrain,
I am not sure how to calculate the time difference and apply certain calculation based on results in Power BI.
Data sample is shown below, column Label and Time are already in query table. I want to calculate the adjacent row time difference and store in Difference column with seconds results, and calculate these result by (x + y)/(x*y), then store the results in Calculation column. Desirable results are shown in Difference and Calculation columns, I don't know how to implement them in Power BI.
Can you help me to solve it please? Your generous help will be extremely appreciated. Many thanks in advance.
Regards
Newbee
Label Time Difference Calculation
A1 00:03:00 0 0
A2 00:05:00 120 (0 + 120) / (0 * 120)
B1 00:08:00 180 0
B2 00:09:30 90 (180 + 90) / (180 * 90)
C1 00:10:00 30 0
C2 00:15:00 300 (30 + 300) / (30 * 300)
B1 00:17:00 120 0
B2 00:21:00 240 (120 + 240) / (120 * 240)
...... ...... ...... .......
Solved! Go to Solution.
OK, for this you are going to have to make sure that in M (Power Query) that your Time column is set to Duration. Then in the model you need to make sure that these are tagged as decimal numbers. Then, you are going to need to use EARLIER to get the previous row. See my article on Mean Time Before Failure (MTBF) which uses EARLIER: http://community.powerbi.com/t5/Community-Blog/Mean-Time-Between-Failure-MTBF-and-Power-BI/ba-p/3395....
Once you can return the previous time, you can then use the formula:
([Time] - var_PreviousTime) * 60 * 24 * 60
Note that when you have a Date/Time kind of thing, the Date portion of this is the number of days since 12/30/1899. The time portion is the decimal portion. You can convert this to hours by 60*24. Then, to convert to minutes you multiply again by 60.
In the example above, var_PreviousTime is your previous time value that you find using EARLIER.
The first Challange (Time duration) is finished, many thanks.
How to solve the second one? calculate the (x + y) / (x * y) though the entire column in POWER BI?
Much appreciate for your efforts.
Regards
OK, for this you are going to have to make sure that in M (Power Query) that your Time column is set to Duration. Then in the model you need to make sure that these are tagged as decimal numbers. Then, you are going to need to use EARLIER to get the previous row. See my article on Mean Time Before Failure (MTBF) which uses EARLIER: http://community.powerbi.com/t5/Community-Blog/Mean-Time-Between-Failure-MTBF-and-Power-BI/ba-p/3395....
Once you can return the previous time, you can then use the formula:
([Time] - var_PreviousTime) * 60 * 24 * 60
Note that when you have a Date/Time kind of thing, the Date portion of this is the number of days since 12/30/1899. The time portion is the decimal portion. You can convert this to hours by 60*24. Then, to convert to minutes you multiply again by 60.
In the example above, var_PreviousTime is your previous time value that you find using EARLIER.
Massive thanks Greg_Deckler, it's my great pleasure to receive your help.
I am starting to learn your MTBF method, it looks like very useful.
One more concern, based one the duration results, how can I achieve the Calculation column in Power BI?
Many thanks again.
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
| User | Count |
|---|---|
| 38 | |
| 37 | |
| 33 | |
| 32 | |
| 29 |
| User | Count |
|---|---|
| 132 | |
| 88 | |
| 82 | |
| 68 | |
| 64 |