Применение числового слайсера дает неверные значения в результате

Я создал расчетную таблицу, которая суммирует данные по ClaimNumber:

ByClaim = SUMMARIZE(fact_Losses
                        ,fact_Losses[AccidentDate]
                        ,fact_Losses[ClaimNumber]
                        ,fact_Losses[TransactionType]                       
                        ,"LossAmount", SUM(fact_Losses[PaymentAmount])
)

Результат выглядит так:

введите здесь описание изображения

Я создал еще одну вычисляемую таблицу 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 002737.

Откуда это 2737?

введите здесь описание изображения

Я использую функцию SUMX для перебора одной строки за раз. Есть ли для этого еще одна функция, о которой я не знаю?

Спасибо


person Serdia    schedule 18.02.2019    source источник


Ответы (1)


В таблице ByClaim явно содержится более одной строки для номера претензии USGL00000000103. Ваша мера применяет ограничение для каждой строки, а не для каждого утверждения.

Если вы хотите, чтобы ограничение применялось для каждой претензии, измените меру на:

Capped Loss Amount1 = 
VAR MaxLoss = 
    MAX('Cap Slicer'[Value])
VAR ActualLoss = 
   SUM( ByClaim[LossAmount] )
RETURN
    MIN ( MaxLoss, ActualLoss)
person Olly    schedule 19.02.2019