Advance your Data & AI career with 50 days of live learning, dataviz contests, hands-on challenges, study groups & certifications and more!
Get registeredJoin us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM. Register now.
Hello to all,
I need help with a calculated column.
I have 2 tables, one is SalesFactTbl and looks like the pic below
And the second is CustBalanceTbl and looks like the pic below
I want to create a calculated column in my SalesFactTbl to show the open amount for each transaction, just like i show in the pic below.
where balance is split across transactions from the newest to oldest
Need help with this calculation.
Solved! Go to Solution.
Hi @sokg,
Based on your description, you want to get the dynamic order distribution amount, right?
If this is a case, you can take a look at below formula if it suitable for your requirement.
Logic: calculate the running total amount and remaining amount, if remain amount greater than current amount, show the current amount, if it less than current amount, show the remaining amount.
Open Amount = var balance = LOOKUPVALUE(CustBalance[Balance],CustBalance[Cust ID],SalesFact[Cust ID]) var runningTotal = SUMX(FILTER(ALL(SalesFact),[TRN Date]>EARLIER(SalesFact[TRN Date])&&[Cust ID]=EARLIER(SalesFact[Cust ID])),[Sales Amount]) var remaining = balance-runningTotal return if(remaining>0,if(remaining>[Sales Amount],[Sales Amount],remaining),0)
Regards,
Xiaoxin Sheng
Hi @sokg,
Based on your description, you want to get the dynamic order distribution amount, right?
If this is a case, you can take a look at below formula if it suitable for your requirement.
Logic: calculate the running total amount and remaining amount, if remain amount greater than current amount, show the current amount, if it less than current amount, show the remaining amount.
Open Amount = var balance = LOOKUPVALUE(CustBalance[Balance],CustBalance[Cust ID],SalesFact[Cust ID]) var runningTotal = SUMX(FILTER(ALL(SalesFact),[TRN Date]>EARLIER(SalesFact[TRN Date])&&[Cust ID]=EARLIER(SalesFact[Cust ID])),[Sales Amount]) var remaining = balance-runningTotal return if(remaining>0,if(remaining>[Sales Amount],[Sales Amount],remaining),0)
Regards,
Xiaoxin Sheng
Hi @Anonymous
Thanks for your effort,It works.
Thank you very much,
Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!
Check out the October 2025 Power BI update to learn about new features.
| User | Count |
|---|---|
| 75 | |
| 36 | |
| 31 | |
| 29 | |
| 26 |