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
I have a table which looks like the below.
This details actions taken for finance applications, where there can be multiple action types per application. The application ID identifies the application. Each action is timestamped, has a type and a person who carried it out. In the example above you can see two applications and the actions in sequence from Application Start to Paidout.
What I would like to figure out is how I can measure the difference in time between certain action types to use for reporting. As an example, I would like to know how to know the average time taken from 'Application Start' to 'Paidout'. I would filter this on a page by user or datetime perhaps.
What DAX would help me to achieve this?
@m_richardson , Try like
Measure =
var _min = calculate(min(Table[Date Time], allexcept(Table, table[Application ID]), filter(Table, Table[Application Type] = "Application Start"))
Var _max = calculate(max(Table[Date Time], allexcept(Table, table[Application ID]), filter(Table, Table[Application Type] = "Paidout"))
return
averagex(Values(Table[Application ID]), datediff(_min, _max, minute))
Apologies for the delay, but this doesn't work. The parentheses don't match up, and I'm getting an error that MIN only needs two arguments passing to it.
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
| User | Count |
|---|---|
| 39 | |
| 37 | |
| 33 | |
| 32 | |
| 29 |
| User | Count |
|---|---|
| 132 | |
| 88 | |
| 82 | |
| 68 | |
| 64 |