cancel
Showing results for
Did you mean:

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Anonymous
Not applicable

## Days Remaining Calculation

I am looking for some help calculating days remaining.

That is to say that I have a specific field which identifies an "end date", and I am looking to calculate how many days between today and the "end date".  I found similarly asked questions but not of the solutions for those specific concerns were applicable.

Would appreciate any help.

2 ACCEPTED SOLUTIONS
Anonymous
Not applicable

Awesome.  Actually needed a MIN not MAX, as I was trying to get a day count between today and end date.  If end date is after today then 0.

= MIN ( 1 * ( Today ( ) - YourTable[EndDate] ) , 0)

Thanks - this was extremely helpful!

MVP

@Anonymous

If [End Date] > Today ( ) Then 0 Else 1 * ( Today ( ) - YourTable[EndDate] ) is equivalent to

MAX ( 1 * ( Today ( ) - YourTable[EndDate] ) , 0)

or

- MIN ( 1 * (  YourTable[EndDate] - Today ( )  ) , 0 )

But not to:

MIN ( 1 * ( Today ( ) - YourTable[EndDate] ) , 0)

11 REPLIES 11
MVP

Hi @Anonymous

Do you wish to perform this calculation in a measure or a calculated column ?

You can use DateDiff Function to calculate the number of days between Today and your EndDate.

In a calc. Column:

DateDiff ( YourTable[EndDate] , Today() , DAY)

In a measure, you'll need to wrap your 1st argument into an aggregator such as Min or Max in this case.

Anonymous
Not applicable

I believe I need it as a column.  Following your instructions I receive an error:

Too few arguments were passed to the RELATED funtion.  The minimum argument count for the functions is 1.

Not sure what this means.

MVP

@Anonymous

Why are you using Related function here ? Haven't mentioned it in my reply.

Anonymous
Not applicable

Sorry.  Corrected by creating New Column.

Now I get a meesage that the start date cannot be greater than the end date.  In the case of this data I have both a start date and an end date, and the dataset itself is aggregated by day.

Simply meaning that the dataset will have information from the past, present and future.  End dats could be before Today, so I would have expected 0 Days Remaining.  If the if I am between today and the end date, I would expect a day count remaining and lastly if the start date is greater than today, then a count of days between start date and end date.

Thanks again for the help.

MVP

@Anonymous

Ok try this one which is more universal and covers the cases when your EndDate is superior to Today

= 1 * ( Today() - YourTable[EndDate] )

You can make the result absolute with Abs( ) if necessary.

If it solves your problem, please accept as a solution so everyone can benefit from our discussion !

Anonymous
Not applicable

OK Excel side.  We're getting warmer, and this is awesome.  However, using this solution when the end date is before today, it essentially begins couting days since the end date which ideally for my report would be 0.

i.e. if end date > today, then 0

Not sure how to incorporate that into your recommendation.

MVP

@Anonymous

Ok so you can use:

= MAX ( 1 * ( Today ( ) - YourTable[EndDate] ) , 0)

Anonymous
Not applicable

Awesome.  Actually needed a MIN not MAX, as I was trying to get a day count between today and end date.  If end date is after today then 0.

= MIN ( 1 * ( Today ( ) - YourTable[EndDate] ) , 0)

Thanks - this was extremely helpful!

MVP

@Anonymous

If [End Date] > Today ( ) Then 0 Else 1 * ( Today ( ) - YourTable[EndDate] ) is equivalent to

MAX ( 1 * ( Today ( ) - YourTable[EndDate] ) , 0)

or

- MIN ( 1 * (  YourTable[EndDate] - Today ( )  ) , 0 )

But not to:

MIN ( 1 * ( Today ( ) - YourTable[EndDate] ) , 0)

Anonymous
Not applicable

@Datatouille

Using the infomation you provided below, I am getting a strange output in my table.  Not sure why the calculation is 6,748?

The DAX Statement is Days Remaining = max(1*('XXX Daily Power BI Dataset'[Order end date]-TODAY()),0)

Anonymous
Not applicable

This is the message when I try your latest recommendation.  Appreciate all the help.

The syntax for '[End Date]' is incorrect. (DAX(If [End Date] > Today ( ) Then 0 Else 1 * ( Today ( ) - YourTable[EndDate] ) is equivalent to MAX ( 1 * ( Today ( ) - YourTable[EndDate] ) , 0))).

Announcements