Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
I need a calculated column that gives me the duration in minutes from one state to another state for each order as the column that I have in green in the attached image.
Thanks a lot for your Help.
Marco
Solved! Go to Solution.
Hi @mrbajana ,
If the datetime is ordering ascending by ID,you can create a calculated column as below;
Timelastchange(Min)1 =
var _previous=CALCULATE(MAX('Table'[DateTime]),FILTER('Table','Table'[Order_ID]=EARLIER('Table'[Order_ID])&&'Table'[DateTime]<EARLIER('Table'[DateTime])))
Return
IF(_previous=BLANK(),0,DATEDIFF(_previous,'Table'[DateTime],MINUTE))
Otherwise first create an index column in query editor;
Then create a calculated column as below:
Timelastchange(Min)2 =
var _last=CALCULATE(MAX('Table'[DateTime]),FILTER('Table','Table'[Index]=EARLIER('Table'[Index])-1&&'Table'[Order_ID]=EARLIER('Table'[Order_ID])))
Return
IF(_last=BLANK(),0,DATEDIFF(_last,'Table'[DateTime],MINUTE))
And you will see:
Or you can create 2 measures as below:
_Timelastchange(Min)1 =
var _last=MAXX(FILTER(ALL('Table'),'Table'[Order_ID]=MAX('Table'[Order_ID])&&'Table'[DateTime]<MAX('Table'[DateTime])),'Table'[DateTime])
Return
IF(_last=BLANK(),0,DATEDIFF(_last,MAX('Table'[DateTime]),MINUTE))
_Timelastchange(Min)2 =
var _last=CALCULATE(MAX('Table'[DateTime]),FILTER(ALL('Table'),'Table'[Index]=MAX('Table'[Index])-1&&'Table'[Order_ID]=MAX('Table'[Order_ID])))
Return
IF(_last=BLANK(),0,DATEDIFF(_last,MAX('Table'[DateTime]),MINUTE))
For the related .pbix file,pls click here.
Hi @mrbajana ,
If the datetime is ordering ascending by ID,you can create a calculated column as below;
Timelastchange(Min)1 =
var _previous=CALCULATE(MAX('Table'[DateTime]),FILTER('Table','Table'[Order_ID]=EARLIER('Table'[Order_ID])&&'Table'[DateTime]<EARLIER('Table'[DateTime])))
Return
IF(_previous=BLANK(),0,DATEDIFF(_previous,'Table'[DateTime],MINUTE))
Otherwise first create an index column in query editor;
Then create a calculated column as below:
Timelastchange(Min)2 =
var _last=CALCULATE(MAX('Table'[DateTime]),FILTER('Table','Table'[Index]=EARLIER('Table'[Index])-1&&'Table'[Order_ID]=EARLIER('Table'[Order_ID])))
Return
IF(_last=BLANK(),0,DATEDIFF(_last,'Table'[DateTime],MINUTE))
And you will see:
Or you can create 2 measures as below:
_Timelastchange(Min)1 =
var _last=MAXX(FILTER(ALL('Table'),'Table'[Order_ID]=MAX('Table'[Order_ID])&&'Table'[DateTime]<MAX('Table'[DateTime])),'Table'[DateTime])
Return
IF(_last=BLANK(),0,DATEDIFF(_last,MAX('Table'[DateTime]),MINUTE))
_Timelastchange(Min)2 =
var _last=CALCULATE(MAX('Table'[DateTime]),FILTER(ALL('Table'),'Table'[Index]=MAX('Table'[Index])-1&&'Table'[Order_ID]=MAX('Table'[Order_ID])))
Return
IF(_last=BLANK(),0,DATEDIFF(_last,MAX('Table'[DateTime]),MINUTE))
For the related .pbix file,pls click here.
Thanks a lot Kelly
@mrbajana add following expression
Time Change (min) =
VAR __currentTime = Table[DateTime]
VAR __prevTime = CALCULATE ( MAX ( Table[DateTime] ), ALLEXCEPT ( Table, Table[Order_Id] ),
Table[DateTime] < __currentTime )
RETURN
DATEDIFF ( __currentTime, __prevTime, MINUTE )
I would ❤ Kudos if my solution helped. 👉 If you can spend time posting the question, you can also make efforts to give Kudos whoever helped to solve your problem. It is a token of appreciation!
⚡Visit us at https://perytus.com, your one-stop shop for Power BI related projects/training/consultancy.⚡
Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!
Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo
If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤
Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
111 | |
100 | |
80 | |
64 | |
58 |
User | Count |
---|---|
148 | |
111 | |
93 | |
84 | |
66 |