Без переменных
Я бы немного изменил требование и попытался бы изменить IF следующим образом:
Newformula:=
MAX(0, [RunningBalance])
Использование переменных
Возможное улучшение заключается в следующем:
RunningBalance:=
VAR _V1 = SUM (DebitsAndCredits[balance] )
RETURN
CALCULATE (
SUM ( DebitsAndCredits[balance] );
LASTNONBLANK (
'Date'[Day];
_V1)
)
)
и,
Newformula:=
VAR _V1 = [RunningBalance]
RETURN
CALCULATE ( IF ( _V1 <= 0; BLANK (); _V1 ) )
Я бы также проверил, дает ли следующее выражение правильный результат:
RunningBalance:=
VAR _V1 = SUM (DebitsAndCredits[balance] )
RETURN
CALCULATE (
_V1;
LASTNONBLANK (
'Date'[Day];
_V1)
)
)
В противном случае я бы исследовал необходимость используя LASTNONBLANK () и, возможно, найдите другую реализацию.