PowerBI - справка по коду DAX / M, необходимая для объединения нескольких табличных данных в сводную таблицу - PullRequest
0 голосов
/ 20 июня 2020

Я немного боролся с этой проблемой, но, увы, все еще застрял!

Я создаю финансовый отчет с помощью 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>

  • СУММА (Счета [ОТКРЫТИЕ БАЛАНСА])

Помогите!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...