Pbix с полным воспроизведением здесь
Фон
Я пытаюсь создать диаграмму с накоплением долга, сгруппированную по возрастудолга за два финансовых года (в этом, прошлом году), например:
Вот моя модель:
Многие «Финансовые годы» позволяют мне использовать слайсер, который позволяет пользователю выбрать один финансовый год, но в фоновом режиме он фильтруется до 2 лет (выбранный финансовый год и предыдущий финансовый год).
Сам расчет долга должен расширить контекст оценки до ВСЕХ лет (вплоть до месяца, выбранного в срезе месяца), так как сам долг может вернуться к числулет.
AgedDebtBands - это таблица, которая определяет возрастные диапазоны для использования в долгах.Мой подход к распределению долга по возрасту основывается на подходе здесь
Мера, которую я использую для определения старения долга:
AgedDebt =
VAR selectedDate = [End of selected month]
VAR bandStart = MAX(AgedDebtBands[BandStart])
var bandEnd = MAX(AgedDebtBands[BandEnd])
RETURN
SUMX(
CALCULATETABLE(
GROUPBY(
Debt,
[InvoiceId],
[InvoiceAmount],
[InvoiceDate],
"Payment Amount", SUMX(CURRENTGROUP(), IF(Debt[PaymentDate] <= selectedDate, Debt[PaymentAmount], 0))),
ALL('Financial Years'),
ALL(Dates[Fiscal Month]),
Debt[InvoiceDate] <= selectedDate,
DATEDIFF( Debt[InvoiceDate], selectedDate, DAY) >= bandStart,
DATEDIFF( Debt[InvoiceDate], selectedDate, DAY) <= bandEnd),
[InvoiceAmount] - [Payment Amount])
Проблема
Я могу перетащить меру (Значение) и столбец «Диапазон» из AgedDebtBands (Легенда) в таблицу или составную диаграмму, и я получу просроченный долг за текущий год - эта частьработает отлично.
Однако, когда я включаю «Финансовый год» из Даты в график (ось), я получаю следующую ошибку:
MdxScript(Model) (11, 13) Calculation error in measure 'Test Measures'[AgedDebt]: Function 'IF' scalar expressions have to be Aggregation functions over CurrentGroup(). The expression of each Aggregation has to be either a constant or directly reference the columns in CurrentGroup().
Я потратил пару днейпри этом пробуя различные методы, чтобы заставить это работать, и всегда быть рядом, но никогда не совсем там.Любая помощь в этом очень ценится!