Forum Discussion
Datediff function with decimals
- 6 years ago
Hi Anonymous
Change date type and format as below:
Best Regards
Maggie
Community Support Team _ Maggie Li
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
How about this DAX formula
var nbrMonths = YEARFRAC(startDate, endDate) * 12
var result = DIVIDE(something, nbrMonths, 0)I was having an issue where I was using the DateDiff function in DAX and it was producing a rounded down number of months
Ie, if a transacted occurred on the 1st of Jan, 2023 and today is the 7th of July, 2023 the result returned for a DATEDIFF between the values was 6 months even though, technically, its 6 and a bit months.
For my logic, 6 and a bit months needed to be rounded up to 7 months
I tried rounding functions on the DATEDIFF function but the realized it wouldn't work as a DATEDIFF doesn't produce a decimal
Using your function produced the decimal and allowed the round function to work
This is my end expression for reference:
Months Since Last Transacted =
VAR LastTransacted =
IF(
ISBLANK(PTStock_Data[LAST_DEM_DATE]) &&
ISBLANK(PTStock_Data[Last_Invoiced_Datetime]),
PTStock_Data[CREATION_DATE],
IF(
ISBLANK(PTStock_Data[LAST_DEM_DATE]) &&
NOT(ISBLANK(PTStock_Data[Last_Invoiced_Datetime])),
PTStock_Data[Last_Invoiced_Datetime],
PTStock_Data[LAST_DEM_DATE]
)
)
VAR MonthsSinceTransacted =
ROUNDUP( YEARFRAC( LastTransacted, TODAY() ) *12, 0 )
RETURN
MonthsSinceTransacted