我创建了计算表,该表将按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
的{{1}}的数量。
为此,我写了一个措施:
Cap Slicer
在Capped Loss Amount1 =
VAR MaxLoss = MAX('Cap Slicer'[Value])
RETURN
SUMX(
ByClaim,
IF(ByClaim[LossAmount] > MaxLoss,
MaxLoss,
ByClaim[LossAmount]
))
中选择$ 1,000,000的值时,我希望看到ClaimNumber Cap Slicer
的{{1}}值为1,000,000。
但是由于某种原因,它给了我1,002,737。
2,737来自哪里?
我正在使用SUMX函数来一次迭代一行。 还有我不知道的其他功能吗?
谢谢
答案 0 :(得分:3)
表ByClaim
显然具有多于一行的索偿号USGL00000000103
。您的衡量标准是每行而不是每项声明应用上限。
如果您希望对每个索赔应用上限,则将度量值更改为:
Capped Loss Amount1 =
VAR MaxLoss =
MAX('Cap Slicer'[Value])
VAR ActualLoss =
SUM( ByClaim[LossAmount] )
RETURN
MIN ( MaxLoss, ActualLoss)