DAX POWERPIVOT - 用以前的值替换空白值
DAX POWERPIVOT - Replace blank value with previous
我想用之前的最大值替换空白值,其中 "DepositLclCcy" 不是空白,即在这种情况下为 SEK 的 5。
这个公式怎么写?
当前结果
PositionDate Currency DepositLclCcy
2017-04-11 SEK 1
2017-04-11 DKK 3
2017-04-11 EUR 7
2017-04-10 SEK (blank)
2017-04-10 DKK 3
2017-04-10 EUR 5
2017-04-07 SEK 5
2017-04-07 DKK 3
2017-04-07 EUR 5
期望的结果
PositionDate Currency DepositLclCcy
2017-04-11 SEK 1
2017-04-11 DKK 3
2017-04-11 EUR 7
2017-04-10 SEK 5
2017-04-10 DKK 3
2017-04-10 EUR 5
2017-04-07 SEK 5
2017-04-07 DKK 3
2017-04-07 EUR 5
您可以使用以下 DAX 创建计算列:
ReplacedDepositLclCcy =
IF(
ISBLANK('Table'[DepositLclCcy]),
CALCULATE(
FIRSTNONBLANK('Table'[DepositLclCcy], 0),
FILTER(
'Table',
'Table'[PositionDate] < EARLIER('Table'[PositionDate]) &&
'Table'[Currency] = EARLIER('Table'[Currency]) &&
'Table'[PositionDate] = LASTDATE('Table'[PositionDate]) &&
NOT(ISBLANK('Table'[DepositLclCcy]))
)
),
'Table'[DepositLclCcy]
)
所以它基本上过滤了具有相同 Currency
和非空白 DepositLclCcy
的最大值 PositionDate
的行,以及 return 和 DepositLclCcy
.它也适用于有连续空白值的情况。
根据 DepositLclCcy
的数据类型,您可能需要将 ISBLANK('Table'[DepositLclCcy])
更改为 'Table'[DepositLclCcy] = ""
。
结果:
我想用之前的最大值替换空白值,其中 "DepositLclCcy" 不是空白,即在这种情况下为 SEK 的 5。 这个公式怎么写?
当前结果
PositionDate Currency DepositLclCcy
2017-04-11 SEK 1
2017-04-11 DKK 3
2017-04-11 EUR 7
2017-04-10 SEK (blank)
2017-04-10 DKK 3
2017-04-10 EUR 5
2017-04-07 SEK 5
2017-04-07 DKK 3
2017-04-07 EUR 5
期望的结果
PositionDate Currency DepositLclCcy
2017-04-11 SEK 1
2017-04-11 DKK 3
2017-04-11 EUR 7
2017-04-10 SEK 5
2017-04-10 DKK 3
2017-04-10 EUR 5
2017-04-07 SEK 5
2017-04-07 DKK 3
2017-04-07 EUR 5
您可以使用以下 DAX 创建计算列:
ReplacedDepositLclCcy =
IF(
ISBLANK('Table'[DepositLclCcy]),
CALCULATE(
FIRSTNONBLANK('Table'[DepositLclCcy], 0),
FILTER(
'Table',
'Table'[PositionDate] < EARLIER('Table'[PositionDate]) &&
'Table'[Currency] = EARLIER('Table'[Currency]) &&
'Table'[PositionDate] = LASTDATE('Table'[PositionDate]) &&
NOT(ISBLANK('Table'[DepositLclCcy]))
)
),
'Table'[DepositLclCcy]
)
所以它基本上过滤了具有相同 Currency
和非空白 DepositLclCcy
的最大值 PositionDate
的行,以及 return 和 DepositLclCcy
.它也适用于有连续空白值的情况。
根据 DepositLclCcy
的数据类型,您可能需要将 ISBLANK('Table'[DepositLclCcy])
更改为 'Table'[DepositLclCcy] = ""
。
结果: