Forum Discussion
Cumaltive Diff with missing days
I have an auto-generated dataset with a cumalative number. I used the method from v-ljerr-msft in Solved: Day to day difference in cumulative values DAX or ... - Microsoft Fabric Community to generate the daily difference - see my Usage column code below.
My problem is that occasionally there is a gap in the data with missing days and this gives me an erroneous number.
Any suggestions as to how to remedy?
In my head, the best way would be to fill in missing data with half the difference.
Alternatively, if there is no data, just subtract the difference from the next day where there is data.
Hopefully this makes sense!
Hello DonalMc
try thid DAX code
Usage =
VAR currentDate = 'ESB Data'[Date]
VAR currentType = 'ESB Data'[Type]
VAR previousDate =
CALCULATE(
MAX('ESB Data'[Date]),
FILTER(
ALL('ESB Data'),
'ESB Data'[Date] < currentDate &&
'ESB Data'[Type] = currentType
)
)
VAR previousReading =
CALCULATE(
SUM('ESB Data'[Reading]),
FILTER(
ALL('ESB Data'),
'ESB Data'[Date] = previousDate &&
'ESB Data'[Type] = currentType
)
)
RETURN
IF(
NOT ISBLANK(previousReading),
'ESB Data'[Reading] - previousReading,
BLANK()
)
Thanks,
Pankaj Namekar | LinkedInIf this solution helps, please accept it and give a kudos (Like), it would be greatly appreciated.
2 Replies
- pankajnamekar25Super User
Hello DonalMc
try thid DAX code
Usage =
VAR currentDate = 'ESB Data'[Date]
VAR currentType = 'ESB Data'[Type]
VAR previousDate =
CALCULATE(
MAX('ESB Data'[Date]),
FILTER(
ALL('ESB Data'),
'ESB Data'[Date] < currentDate &&
'ESB Data'[Type] = currentType
)
)
VAR previousReading =
CALCULATE(
SUM('ESB Data'[Reading]),
FILTER(
ALL('ESB Data'),
'ESB Data'[Date] = previousDate &&
'ESB Data'[Type] = currentType
)
)
RETURN
IF(
NOT ISBLANK(previousReading),
'ESB Data'[Reading] - previousReading,
BLANK()
)
Thanks,
Pankaj Namekar | LinkedInIf this solution helps, please accept it and give a kudos (Like), it would be greatly appreciated.
- DonalMcAdvocate II
Thank you pankajnamekar25 - that works perfectly!