cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Rick_ferreira
Helper III
Helper III

Create a column with date end

Hi guys,
I have a table like:

Rick_ferreira_0-1619530494728.png

I need to create a column with date end for each status like this:

Rick_ferreira_1-1619530548593.png

Using Dax or M. The date end is the date of beginning of the next status.
Can someone help me? My problem is the format the date because I need to have the date and time. 

Thanks

1 ACCEPTED SOLUTION
v-robertq-msft
Community Support
Community Support

Hi, @Rick_ferreira 

According to your description and the sample picture, I can clearly understand your requirement, you can achieve this using two calculated columns, you can try these calculated columns:

Rank = RANKX(FILTER('Table',[id]=EARLIER([id])),[Date],,ASC,Dense)
Date end =

var _idmaxdate=CALCULATE(MAX([Date]),FILTER(ALL('Table'),[id]=EARLIER([id])))

var _statusmaxdate=CALCULATE(MAX([Date]),FILTER(ALL('Table'),[id]=EARLIER([id])&&[status]=EARLIER([status])))

var _nextdate=CALCULATE(MAX([Date]),FILTER(ALL('Table'),[id]=EARLIER([id])&&[Rank]=EARLIER([Rank])+1))

return

SWITCH(

    TRUE(),

    [Date]=_idmaxdate,"Today",

    [Date]=_statusmaxdate,FORMAT(_nextdate,"yyyy-mm-dd hh:mm:ss"),

    BLANK())

 

And make sure the data type of the column to be “Text”, you can get what you want, like this:

v-robertq-msft_0-1619677724893.png

 

You can download my test pbix file below

Thank you very much!

 

Best Regards,

Community Support Team _Robert Qin

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

3 REPLIES 3
v-robertq-msft
Community Support
Community Support

Hi, @Rick_ferreira 

According to your description and the sample picture, I can clearly understand your requirement, you can achieve this using two calculated columns, you can try these calculated columns:

Rank = RANKX(FILTER('Table',[id]=EARLIER([id])),[Date],,ASC,Dense)
Date end =

var _idmaxdate=CALCULATE(MAX([Date]),FILTER(ALL('Table'),[id]=EARLIER([id])))

var _statusmaxdate=CALCULATE(MAX([Date]),FILTER(ALL('Table'),[id]=EARLIER([id])&&[status]=EARLIER([status])))

var _nextdate=CALCULATE(MAX([Date]),FILTER(ALL('Table'),[id]=EARLIER([id])&&[Rank]=EARLIER([Rank])+1))

return

SWITCH(

    TRUE(),

    [Date]=_idmaxdate,"Today",

    [Date]=_statusmaxdate,FORMAT(_nextdate,"yyyy-mm-dd hh:mm:ss"),

    BLANK())

 

And make sure the data type of the column to be “Text”, you can get what you want, like this:

v-robertq-msft_0-1619677724893.png

 

You can download my test pbix file below

Thank you very much!

 

Best Regards,

Community Support Team _Robert Qin

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

selimovd
Community Champion
Community Champion

Hey @Rick_ferreira ,

 

I would happily help you, but where do you get the end date from?

 

Best regards

Denis

The date end is the date of beginning of the next status.
Thanks

Helpful resources

Announcements
PBI User Groups

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group!

MBAS on Demand

Microsoft Business Applications Summit sessions

On-demand access to all the great content presented by the product teams and community members! #MSBizAppsSummit #CommunityRocks

Get Ready for Power BI Dev Camp

Power BI Dev Camp - June 24th

Mark your calendars and join us for our next Power BI Dev Camp!