问题描述
SUM(B.refundedamount) + SUM(CASE WHEN B.AccountTypeID = 2 AND B.TotalStake = B.TotalPayout THEN B.TotalPayout ELSE 0 END)
以下是我需要转换为新的 powerBI 列/度量的 sql 代码的逻辑。
refundedamount、AccountTypeID、TotalStake 和 TotalPayout 都是数据集中的列。我正在努力将我的头放在加法方面以及 IF/CASE WHEN 语句。
是否仅意味着如果(AccountTypeID = 2 AND TotalStake = TotalPayout)那么我们返回 refundedamount + TotalPayout,否则返回 0?
解决方法
度量总是至少返回 RefundedAmount
,但如果 AccountTypeID = 2
和 TotalStake = TotalPayout
那么它返回 RefundedAmount
和 TotalPayout
的总和。
该度量可以在 DAX 中编写为:
Measure :=
VAR _refund = SUM ( 'Table'[RefundedAmount] )
VAR _payout =
SUMX (
FILTER (
'Table','Table'[TotalPayout] = 'Table'[TotalStake]
&& 'Table'[AccountTypeID] = 2
),'Table'[TotalPayout]
)
RETURN
_refund + _payout