Я создал расчетную таблицу, которая будет суммировать данные по ClaimNumber:
ByClaim = SUMMARIZE(fact_Losses
,fact_Losses[AccidentDate]
,fact_Losses[ClaimNumber]
,fact_Losses[TransactionType]
,"LossAmount", SUM(fact_Losses[PaymentAmount])
)
Результат выглядит следующим образом:
Iсгенерировал еще одну вычисляемую таблицу Cap Slicer
, которая будет использоваться в качестве слайсера:
Cap Slicer = GENERATESERIES(10000,MAX(fact_Losses[LossPerClaim])+10000,10000)
Теперь мне нужно уменьшить сумму на LossAmount
для каждого ClaimNumber
значение выбирается в таблице Cap Slicer
.Для этого я написал меру:
Capped Loss Amount1 =
VAR MaxLoss = MAX('Cap Slicer'[Value])
RETURN
SUMX(
ByClaim,
IF(ByClaim[LossAmount] > MaxLoss,
MaxLoss,
ByClaim[LossAmount]
))
При выборе значения $ 1,000,000 в Cap Slicer
я ожидаю увидеть Capped Loss Amount1
значение 1,000,000 для ClaimNumber USGL00000000103
.
Но по какой-то причине это дает мне 1 002 737.
Откуда это 2737?
Я использую функцию SUMX для итерации по одной строке за раз.Есть ли какая-то другая функция, о которой я не знаю?
Спасибо