Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply
wildrose2023
Frequent Visitor

Repeat Last Available Value and SUM on Monthly Level

Hi guys,

 

I'm struggling with a tricky situation.

I have a large fact table that contain specific account numbers that contain a one time stamp of a credit limit amount. One credit limit started in October (50K) and 2 additional ones in December (1Mil. and 100K). These credit limits should be available as amounts in each month, so even though they are stamped once in a FactTable they should appear every month in the total sum of money at the clients disposal. However this proved to be tricky to achieve. The amounts are appearing but not correctly. The 50K isn't valid anymore from December, it's replaced with the 1.1 Milion, even though it should be 1.15mil. and on the total level it's also not correct.

 

These 3 values are stamped only on one specific date, but I need them appearing indefinitely. Is this possible to achieve?

My Last Balance current measure is:

    var _max_date = LASTDATE(DimCalendar[Date])
    var _amnt = CALCULATE( LASTNONBLANKVALUE(DimCalendar[Date], SUM(FactAmount[Amount])), REMOVEFILTERS(DimCalendar), KEEPFILTERS(DimCalendar[Date] <= _max_date))
    RETURN _amnt
wildrose2023_0-1689166973546.pngwildrose2023_1-1689167113993.png

Really hope you guys can help!



7 REPLIES 7
wildrose2023
Frequent Visitor

Here is the link to the shared file pbix sample file: https://drive.google.com/drive/folders/1TQkIGS_QWORk_PMysC1ko8puqniXM1n4?usp=sharing

Here is a proposed measure formula. It produces the correct cumulative sums but does require the dates relationship to be inactive.

 

 

 

Last Balance = 
    var md=max(DimCalendar[Date])
	var b = summarize(FactAmount,DimAccount[AccountCode],DimAccountingType[AccountingTypeCode],"sm",CALCULATE(sum(FactAmount[Amount]),FactAmount[Date]<=md))
	RETURN sumx(b,[sm])

 

 

 

lbendlin_1-1689727848064.png

lbendlin_2-1689727869196.png

If that is not acceptable you'll need to use a disconnected table for the matrix columns.

 

Hi @lbendlin ,

I think the disconnected table will not be the right approach, nor innactive relationship, because this way on a yearly level it will also show the same value of 1.150.000$, while for 2023 if we look at the monthly sum the it should be 12*1.150.000 = 13.800.000

 

while for 2023 if we look at the monthly sum the it should be 12*1.150.000 = 13.800.000

why?  There are no actual values being added in 2023. All you do is carry over the last balance from December 2022.

 

To report on things that are not there you need to use disconnected tables and/or crossjoins

Yes, but the problem is that here things that are not there are being reported at the same time with things that are, meaning the results when using a disconnected table will not be suitable, as the actual data will be calculated in a wrong way:

wildrose2023_0-1690282771253.png

This has been driving me crazy for quite some time now 😞

wildrose2023_1-1689858638960.png

 

lbendlin
Super User
Super User

Please provide sample data (with sensitive information removed) that covers your issue or question completely, in a usable format (not as a screenshot).
https://community.fabric.microsoft.com/t5/Community-Blog/How-to-provide-sample-data-in-the-Power-BI-...
Please show the expected outcome based on the sample data you provided.

https://community.fabric.microsoft.com/t5/Desktop/How-to-Get-Your-Question-Answered-Quickly/m-p/1447...

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

November Carousel

Fabric Community Update - November 2024

Find out what's new and trending in the Fabric Community.

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.