Я немного боролся с этой проблемой, но, увы, все еще застрял!
Я создаю финансовый отчет с помощью powerBI, в котором есть следующие таблицы:
Транзакции ( TransID уникален):
TransID TransDate AccountID Transaction Amount
1 05/07/2018 1 Transaction 1 -50
2 07/07/2018 1 Transaction 2 -100
3 12/07/2018 2 Transaction 3 74.58
4 18/07/2018 3 Transaction 4 -27.48
Аккаунты (AccountID уникален):
AccountID Account Name Opening Balance
1 Account name 1 2000
2 Account name 2 5000
3 Account name 3 1000
AccountsInterest (IntID уникален):
IntID AccountID Valid From Valid To Interest Rate
1 1 01/01/2016 08/06/2017 5%
2 1 09/06/2017 27/12/2019 3.8%
3 1 28/12/2019 2.9%
4 2 18/03/2016 21/08/2019 6%
5 2 22/08/2019 4%
6 3 15/07/2017 3.5%
Столбец AccountID что связывает каждую из таблиц.
У меня также есть таблица дат, связанная со столбцом transdate.
Date MonthYear
29/05/2018 May 2018
30/05/2018 May 2018
31/05/2018 May 2018
01/06/2018 June 2018
02/06/2018 June 2018
У меня есть страница в моем отчете, которая содержит финансовую сводку по месяцам . Это основано на фильтре даты в виде раскрывающегося списка на основе столбца MonthYear. Так, например, если бы я выбрал «Май 2018» в раскрывающемся списке, я бы хотел увидеть информацию, относящуюся к этому месяцу. По большей части это отлично работает, за исключением нескольких визуальных элементов, где я хочу видеть информацию о совокупных итогах.
Мне нужно иметь возможность выбрать месяцы и просмотреть следующую информацию:
Account Name Account Balance Interest Rate
Account name 1 12432.15 3.8%
Account name 2 459.57 6%
Account name 3 8732.20 3.5%
, где перечислены учетные записи, у которых идентификатор учетной записи в таблице AccountInterest находится между действительным от и действительным до столбцов. Например, если месяц, который я выбрал, был декабрь 2015 года, то никакие учетные записи не будут указаны, так как действительная дата для всех учетных записей - после 31/12/2015. Если бы я выбрал февраль 2017 г., то учетные записи 1 и 2 будут перечислены, поскольку обе они действительны с дат, предшествующих 28 февраля 2017 г., но учетная запись 3 не будет указана, поскольку она недействительна до 15/07/2017.
Баланс счета - это сумма столбца «Транзакции [Сумма]» от первой записи до последнего дня выбранного месяца, плюс начальный баланс. Итак, если я выбрал февраль 2017, то баланс для счета 1 был бы суммой из таблицы Transactions [Amount], где AccountID = 1 плюс 2000 (начальный баланс).
Процентная ставка - это поиск по ставке на основе действительных и действительных дат. Итак, если я выбрал июль 2019 года в качестве даты, процентная ставка для счета 1 = 3,8%, счета 2 = 6%, счета 3 = 3,5% (если посмотреть, какими они были на 31.07.2019). Затем я могу сделать некоторые дополнительные вычисления для ожидаемой доходности, средневзвешенных значений и т. Д. c.
Как мне это сделать? У меня есть измеритель баланса, который работает нормально, однако, если в данном месяце не было транзакций для учетной записи, она отсутствует в списке учетных записей. Он должен перечислить ВСЕ учетные записи на основе действительных дат от / до, независимо от того, были ли для него какие-либо транзакции в данном месяце.
Баланс учетной записи = РАСЧЕТ (СУММ (Транзакции [СУММА]), ФИЛЬТР (ВСЕ ('Дата'), 'Дата' [Дата] <= MAX ('Дата' [Дата]))) </p>
- СУММА (Счета [ОТКРЫТИЕ БАЛАНСА])
Помогите!