如何解决为什么测量不起作用:在电源bi中更改策略编号时重新开始计数?
我正在通过以下方式计算保单持有人的信用值的方法
我的桌子是
我需要的输出是Total SA
我的代码是
Total_SA =
VAR initial_amount = 500
VAR current_index =
MIN ( 'Table'[Index] )
VAR previous_policy =
LOOKUPVALUE ( 'Table'[Pol No.],'Table'[Index],current_index - 1 )
VAR cumulative_inc_sa =
CALCULATE (
SUM ( 'Table'[Incremental SA] ),FILTER ( ALL ( 'Table' ),'Table'[Index] <= current_index )
) + 0
VAR cumulative_ref_sa =
CALCULATE (
SUM ( 'Table'[Referral SA] ),'Table'[Index] <= current_index )
) + 0
RETURN
IF (
SELECTEDVALUE ( 'Table'[Pol No.] ) == previous_policy,initial_amount + cumulative_inc_sa + cumulative_ref_sa,IF ( initial_amount <= 500,initial_amount,initial_amount = 500 )
+ IF ( cumulative_inc_sa < 200,cumulative_inc_sa,cumulative_inc_sa = 100 )
+ IF ( cumulative_ref_sa < 300,cumulative_ref_sa,cumulative_ref_sa = 0 )
)
输出:得到错误的结果
解决方法
使用ALL ( 'Table' )
时,将删除Pol No.
过滤器上下文。为此,请改用此方法:
ALLEXCEPT ( 'Table','Table'[Pol No.] )
以使您的测量结果
Total_SA =
VAR initial_amount = 500
VAR current_index =
MIN ( 'Table'[Index] )
VAR cumulative_inc_sa =
CALCULATE (
SUM ( 'Table'[Incremental SA] ),FILTER (
ALLEXCEPT ( 'Table','Table'[Pol No.] ),'Table'[Index] <= current_index
)
) + 0
VAR cumulative_ref_sa =
CALCULATE (
SUM ( 'Table'[Referral SA] ),'Table'[Index] <= current_index
)
) + 0
RETURN
initial_amount + cumulative_inc_sa + cumulative_ref_sa
,
您可以在下面的方法中使用此方法-
total_sa =
var initial_amount = 500
var current_index = MIN('Table'[Index])
var current_policy_no = MIN('Table'[Pol No.])
var cumulative_inc_sa =
CALCULATE(
SUM('Table'[Incremental SA]),FILTER(
ALL('Table'),'Table'[Index] <= current_index
&& 'Table'[Pol No.] = current_policy_no
)
) + 0
var cumulative_ref_sa =
CALCULATE(
SUM('Table'[Referral SA]),'Table'[Index] <= current_index
&& 'Table'[Pol No.] = current_policy_no
)
) + 0
RETURN initial_amount + cumulative_inc_sa + cumulative_ref_sa
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。