我正在使用三个数据库,但对于这个问题,只考虑两个。
我指的是图中的表格。
预付款和收入表通过合同 (BW) 表中的合同 ID 连接。
我还有一个“日期表”,它是一个查找表,其中包含预付款(调整日期)和收入(到期日)组合的所有唯一日期。
当到期日是调整日期之前的一个日期时,我想获取收入表中的值(净额(总计))。在我的示例表中,对于此特定合约 ID X,我的调整日期为 01/12/2023。
对于调整表,我想添加:
两个新列“旧预付款”和“新预付款”。在此示例中,旧预付款将是调整前的一个日期 → 156,新预付款 → 183。 另外两栏计算调整前金额(1716)和调整后金额(2082)
我尝试使用
计算(最大值(预付款[预付款调整]),过滤等)
但它不起作用,我认为这是因为数据模型或过滤和连接的方向。
如果我的数据模型错误,如何更改?
我认为您正在寻找类似的措施:
Income Before =
var adjustmentDate = MAX(Prepayments[📅 Adjustment Date])
var prevIncome =
FILTER(
Income,
Income[📅 Due Date] < adjustmentDate
)
var result =
CALCULATE(
MAX( Income[Net Amount(Total)] ),
TOPN(1, prevIncome , [📅 Due Date], DESC)
)
return result
希望这能让你继续前进。
如果有多个调整,则附加版本。
Income Before =
SUMX(
DISTINCT(Prepayments[📅 Adjustment Date]),
(
var prevIncome =
FILTER(
Income,
Income[📅 Due Date] < [📅 Adjustment Date]
)
var result =
CALCULATE(
MAX( Income[Net Amount(Total)] ),
TOPN(1, prevIncome , [📅 Due Date], DESC)
)
return result
)