Обратное промежуточное итоговое значение DAX

У меня две таблицы:

Transactions:
CalendarID
LoanID
Amount

Calendar:
CalendarID
Date
Month
Quarter
Year

И мне нужно вычислить «невыплаченный», то есть обратный промежуточный итог таблицы транзакций, в качестве меры для отчета Power BI.

В зависимости от того, какой фильтр, мне нужно просуммировать все будущие платежи для каждого LoanID без учета текущего периода. То есть, если мой фильтр основан на квартале, и я выбираю Q3 2020, мне нужен следующий результат:

Q4 2020 + Q1 2021 + Q2 2021 + Q3 2021 + ... 

Надеюсь, это имеет смысл и вы можете мне помочь :-)

Работая с моей моделью данных в Visual Studio 2017, она является табличной.

*** ОБНОВИТЬ ***

Я сделал так:

Outstanding:= 

VAR varEndOfQ= MAX(_TransactionDateCalendar[CalendarID])    

RETURN
CALCULATE([Repayments] ,FILTER(ALLSELECTED(_TransactionDateCalendar) ,
_TransactionDateCalendar[CalendarID] > varEndOfQ) )

Но проблема, с которой я столкнулся сейчас, заключается в том, что каждая строка привязана к ссуде, у которой есть дата вступления в силу. И я не хочу отображать ссуды на графике до того, как они вступят в силу. То есть до того, как мы фактически начнем погашать ссуды, у них просто есть та же сумма непогашенной с самой ранней даты в календарном измерении.

Я пробовал решить это так:

Outstanding:= 

VAR varEndOfQ= MAX(_TransactionDateCalendar[CalendarID])
VAR varStartOfQ= MIN(_TransactionDateCalendar[CalendarID])

RETURN
CALCULATE([Repayments] ,FILTER(ALLSELECTED(_TransactionDateCalendar) , 
_TransactionDateCalendar[CalendarID] > varEndOfQ) , 
FILTER(ALLSELECTED(Fact_LoanFacility) , 
Fact_LoanFacility[EffectiveDateID] >= varStartOfQ))

Но тогда он не может разделить суммы транзакций на ссуды, они все имеют одинаковую сумму ...


person user8863469    schedule 19.05.2021    source источник


Ответы (1)


Удалось найти решение:

Outstanding:=

VAR varEndOfQ= MAX(_TransactionDateCalendar[CalendarID])
VAR varStartOfQ= MIN(_TransactionDateCalendar[CalendarID])

RETURN

CALCULATE([Repayments] 
, FILTER(ALL(_TransactionDateCalendar) , _TransactionDateCalendar[CalendarID] > varEndOfQ)
, FILTER(Fact_LoanFacility, Fact_LoanFacility[EffectiveDateID] < varStartOfQ))
person user8863469    schedule 20.05.2021