首页 > 解决方案 > 在 Power BI 中计算比率时加 1 时筛选器不起作用

问题描述

我有一个具有两个值的切片器:Office 1Office 2

这个计算工作正常,并给了我正确的过滤除法Office 1

   Retention Ratio =  DIVIDE(([RenewalRewritePremium] - [PY Premium]) , [PY Premium])

在此处输入图像描述

但是,只要我在函数1之前或之后添加,DIVIDE它就会带来所有部门,无论 Office 在切片器中选择了什么:

Retention Ratio =  1 + (DIVIDE(([RenewalRewritePremium] - [PY Premium]) , [PY Premium]))

在此处输入图像描述

那些 100% 的分区不应该显示,因为它们不属于Office 1

标签: powerbidaxpowerbi-desktop

解决方案


我猜 [PY Premium] 不应该为“地震”、“恐怖主义”和“风”返回任何值。在这种情况下,DIVIDE返回BLANK是因为分母是BLANK

然后,度量评估1 + BLANKBLANK将转换0为添加数字时。因此它实际计算1 + 0并返回1

要解决此问题,您可以使用变量来保留 [PY Premium] 的结果,并仅在 [PY Premium] 不为 BLANK 时计算比率。

Retention Ratio =
VAR PYPremium = [PY Premium]
RETURN IF(
    NOT ISBLANK( PYPremium ),
    1 + DIVIDE( [RenewalRewritePremium] - PYPremium, PYPremium )
)

话虽如此,上面的计算实际上看起来返回与此相同的结果。并且这不会导致无关部门100%返还的问题。

Retention Ratio = DIVIDE( [RenewalRewritePremium], [PY Premium] )

推荐阅读