带有完整复制here的像素
背景
我正在尝试创建一个堆积图,显示两个财政年度(今年,去年)中的债务(按债务期限分组),如下所示:
这是我的模特:
“很多财务年度”使我可以使用切片器,让用户选择单个财务年度,但是在后台,它将过滤为2年(选定的FY和上一个FY)。
债务的计算本身需要将评估范围扩展到所有年份(直到在月份切片器中选择的月份为止),因为债务本身可能会追溯很多年。
AgedDebtBands是定义用于债务的年龄段的表。我对债务进行年龄划分的方法大致基于here
我用来使债务老化的措施是:
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])
问题
我可以将度量值(Value)和AgedDebtBands(Legend)的“ Band”列拖动到表格或堆叠图表中,并获得当年的账龄债务-这部分工作得很好。
但是,当我将日期中的“会计年度”包含到图表(轴)中时,出现以下错误:
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().
我花了几天的时间尝试各种不同的方法来使它正常工作,并且总是很亲密,但从来没有。任何帮助,我们将不胜感激!