PowerBI Sum/IF/CASE WHEN

问题描述

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 = 2TotalStake = TotalPayout 那么它返回 RefundedAmountTotalPayout 的总和。

该度量可以在 DAX 中编写为:

Measure := 
VAR _refund = SUM ( 'Table'[RefundedAmount] )
VAR _payout = 
SUMX ( 
    FILTER ( 
        'Table','Table'[TotalPayout] = 'Table'[TotalStake] 
            && 'Table'[AccountTypeID] = 2
    ),'Table'[TotalPayout]
)
RETURN
_refund + _payout