结果,应用数字切片器给出了不正确的值

Applying numeric slicer gives incorrect values as a result

我创建了计算 table,它将按 ClaimNumber 汇总数据:

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

结果如下所示:

我生成了另一个计算的 table Cap Slicer 将用作切片器:

Cap Slicer = GENERATESERIES(10000,MAX(fact_Losses[LossPerClaim])+10000,10000)

现在我需要根据 Cap Slicer table 中选择的值为每个 ClaimNumber 减少 LossAmount 的数量。 为此,我写了一个措施:

Capped Loss Amount1 = 
VAR MaxLoss = MAX('Cap Slicer'[Value])
RETURN
   SUMX(
        ByClaim,
        IF(ByClaim[LossAmount]  > MaxLoss,
        MaxLoss,
        ByClaim[LossAmount] 
        ))

Cap Slicer 中选择价值 $1,000,000 时,我希望看到 ClaimNumber USGL00000000103Capped Loss Amount1 价值 1,000,000。

但出于某种原因,它给了我 1,002,737。

那 2,737 是从哪里来的?

我正在使用 SUMX 函数一次迭代一行。 还有其他我不知道的功能吗?

谢谢

Table ByClaim 显然有不止一行索赔编号 USGL00000000103。您的措施适用于每行上限,而不是每项索赔。

如果您希望每个索赔都适用上限,请将您的措施更改为:

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