Forum Discussion
Daily Balance Calculation
- Anonymous3 years ago
Hi Anonymous ,
Please update the formula of measure as below and check if it can return the expected result...
DailyClosingBalance = VAR CurrentDate = SELECTEDVALUE ( 'GL_Account'[glt_trdate] ) VAR CurrentPeriod = SELECTEDVALUE ( 'GL_Period'[id_glperiod] ) VAR PreviousPeriod = MAXX ( FILTER ( ALLSELECTED ( 'GL_Period'[id_glperiod] ), 'GL_Period'[id_glperiod] < CurrentPeriod ), 'GL_Period'[id_glperiod] ) VAR PreviousClosingBalance = CALCULATE ( MAX ( 'GL_Account'[ClosingBalance] ), FILTER ( ALLSELECTED ( 'GL_Period' ), 'GL_Period'[id_glperiod] = PreviousPeriod ), ALL ( 'Date' ) ) VAR PreviousDailyNetBalance = SUMX ( FILTER ( ALLSELECTED ( 'GL_Account' ), 'GL_Account'[glt_trdate] <= CurrentDate ), 'GL_Account'[Daily Net Balance] ) RETURN PreviousClosingBalance + PreviousDailyNetBalanceIf the above one can't help you, please provide some raw data in your table 'GL_Account' and 'GL_Period' (exclude sensitive data) with Text format and your expected result with backend logic and special examples? By the way, is there any relationship between these two tables? If yes, please provide the related info. It would be helpful to find out the solution. You can refer the following links to share the required info:
How to provide sample data in the Power BI Forum
How to Get Your Question Answered Quickly
And It is better if you can share a simplified pbix file. You can refer the following link to upload the file to the community. Thank you.
How to upload PBI in Community
Best Regards
Anonymous
This should work as either calculated column or measure.
Closing Balance Final =
VAR CurrentDate =
MAX ( 'Table'[Date] )
VAR CurrentPeriodTable =
CALCULATETABLE ( 'Table', ALLEXCEPT ( 'Table', 'Table'[FinancialPeriod] ) )
VAR CurrentClosingBalance =
MINX ( CurrentPeriodTable, 'Table'[ClosingBalance] )
VAR TableOnAndBefore =
FILTER ( CurrentPeriodTable, 'Table'[Date] <= CurrentDate )
VAR PreviousDailyNetBalance =
SUMX ( TableOnAndBefore, 'Table'[DailyNetBalance] )
RETURN
CurrentClosingBalance + PreviousDailyNetBalance
Hi tamerj1,
Thanks for this.
I adjusted the DAX to the following (as it was not picking up the 'GL_Account'[ClosingBalance] and 'Date'[Date] in TableOnAndBefore):
DailyClosingBalance =
VAR CurrentDate =
MAX ( 'Date'[Date] )
VAR CurrentPeriodTable =
CALCULATETABLE ( 'GL_Period', ALLEXCEPT ( 'GL_Period', 'GL_Period'[FinancialPeriod]))
VAR CurrentClosingBalance =
MINX ( CurrentPeriodTable, SELECTEDVALUE('GL_Account'[ClosingBalance]) )
VAR TableOnAndBefore =
FILTER ( CurrentPeriodTable, SELECTEDVALUE('Date'[Date]) <= CurrentDate )
VAR PreviousDailyNetBalance =
SUMX ( TableOnAndBefore, [Daily Net Balance] )
RETURN
CurrentClosingBalance + PreviousDailyNetBalance
However this is now returning the following:
It is doing the row's ClosingBalance + Daily Net Balance, but it needs to be the previous financial periods closing balance + the sum of the daily net balances up to the rows date, e.g. 01/03/2023: 12,248,807.97 - 5,990.75 - 222,586.15 = 12,020,231.07
- tamerj13 years agoCommunity Champion
Anonymous
What are you creating? A calculated column or a measure?
- tamerj13 years agoCommunity Champion
Anonymous
One more thing do you really think that it's not worth mentioning that the data os coming from two different tables? Do you really think that relationship are irrelevant and they do not matter? Please provide me with the complete picture to avoid wasting more time and effort.
- Anonymous3 years agoNot applicable
I am trying to be as helpful as possible with my limited knowledge of DAX. I am new to this, which is why I am asking the forum. Also, I have the tables referenced in the original post.
'Date'[Date] -> 'GL_Account'[glt_trdate], which is the transaction date.
'Company'[kco] -> 'GL_Account'[kco], which is 2 companies codes, 22 and 30, referencing the 2 companies in the dataset.
'GL_BusinessUnit'[id_glelement] -> 'GL_Account'[id_glelement], which have bank codes for the different divisions of the 2 companies.
'GL_Period'[id_glperiod] -> 'GL_Account'[id_glperiod], the FinancialPeriod in yyyy-mm-dd format.
This would be a calculated column.
But please, I am trying to be helpful. If I am not being clear, just ask away as I do not know what is required. Thank you.