DAX 和数据建模问题 - 从一个表过滤到另一个表

问题描述 投票:0回答:1

Data Model

Example

我正在使用三个数据库,但对于这个问题,只考虑两个。

我指的是图中的表格。

预付款和收入表通过合同 (BW) 表中的合同 ID 连接。

我还有一个“日期表”,它是一个查找表,其中包含预付款(调整日期)和收入(到期日)组合的所有唯一日期。

当到期日是调整日期之前的一个日期时,我想获取收入表中的值(净额(总计))。在我的示例表中,对于此特定合约 ID X,我的调整日期为 01/12/2023。

对于调整表,我想添加:

两个新列“旧预付款”和“新预付款”。在此示例中,旧预付款将是调整前的一个日期 → 156,新预付款 → 183。 另外两栏计算调整前金额(1716)和调整后金额(2082)

我尝试使用

计算(最大值(预付款[预付款调整]),过滤等)

但它不起作用,我认为这是因为数据模型或过滤和连接的方向。

如果我的数据模型错误,如何更改?

powerbi dax
1个回答
0
投票

我认为您正在寻找类似的措施:

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
    )
© www.soinside.com 2019 - 2024. All rights reserved.