cancel
Showing results for
Did you mean:

The ultimate Microsoft Fabric, Power BI, Azure AI & SQL learning event! Join us in Las Vegas from March 26-28, 2024. Use code MSCUST for a \$100 discount. Register Now

Frequent Visitor

## DateDiff until end of month

Hi guys,

I'm working on a table with several columns: date, product and status. Each product can have several statuses (working, not working). I'm looking to calculate how long each product stayed in a certain status. For this I have a measure that calculates for each product How long has it been until the next time it changes status and so on.

BUT I have a problem the result obtained does not reflect reality.

if for example a product A was "working" from 01/01/2021 until 01/05/2021 (4 days difference) in this date it will "Not working".
but the 02/05/2021 it will be "working" so my measure says me that passed from here 30 days. But actually that is not true. Because if I want to display for the January month how many days was the product "not working" so I'll get the result 30 ! But the reality is that in January the product was 25 days in this status and not 30, the five days have to be in the next month !

Actually dax have to understand that he have to stop the sum of days at the end of month if not I'lol get fake data with slicers.
do you have a solution ?

12 REPLIES 12
Super User

what is the dax of this measure?

Frequent Visitor

In other words ? I didn't understand

Super User

"For this I have a measure that calculates for each product How long has it been until the next time it changes status and so on."

What DAX formula have you used for this measure?

Frequent Visitor

This is my measure :

lastchange=

var currentproduct = table[product]
var currdate = table[date]
var maxdate =

MINX(FILTER(Table,Table[Date]>currdate && Table[product]=currentproduct), table[date])

RETURN

(DATEDIFF(currdate,maxdate,SECOND)/3600)

Super User

@Charldou
Seems to me this is a calculated column rather than a measure?

Frequent Visitor

Yes you right

but even if it was a measure it not get in count the end of the month and continue to display cumulated values

Super User

@Charldou

Frequent Visitor

I can't because this is confidential data...

but

this is like this (I filtered just to see one product) the result in hours.

For example in line 9, the product was in status and line 10 an other status. But meantime this is a new month and if want to display data for December month, it said that there are 264hours between the 27/12/2017 and 07/01/2018. But this is not true because part of the hours in January and not December.

Super User

Hi @Charldou
Never asked to share your data. Of course it is confidential. But you can allways create a sample PBIX that contains a data model that simulates your data. Inside import sample data of all invloved tables create the relationships and and create the visual that you are looking for without the required measure(s). This will save for both of us alot of time. Thank you.

Frequent Visitor

Infortunnaly I can't but i don't think we need this to write a Dax measure

Impactful Individual

I think your table, you can add a calculated column, eomonth(date) and it should gove you the end of month of every respective row date,

Frequent Visitor

Ok but what can I do with it after ?

Announcements

#### Microsoft Fabric Community Conference

Join us at our first-ever Microsoft Fabric Community Conference, March 26-28, 2024 in Las Vegas with 100+ sessions by community experts and Microsoft engineering.

#### Power BI Monthly Update - February 2024

Check out the February 2024 Power BI update to learn about new features.

#### Microsoft Fabric Career Hub

Explore career paths and learn resources in Fabric.

#### Microsoft Fabric Partner Community

Engage with the Fabric engineering team, hear of product updates, business opportunities, and resources in the Fabric Partner Community.

Top Solution Authors
Top Kudoed Authors