在 Power BI 中计算比率时加 1 过滤器不起作用

Filter does not work when adding 1 in calculating ratio in Power BI

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

此计算工作正常,并在 Office 1

下为我提供了正确的过滤除法
   Retention Ratio =  DIVIDE(([RenewalRewritePremium] - [PY Premium]) , [PY Premium])

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

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

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

我无法重现您的错误。这应该是这样工作的:

所以错误不在切片器或计算中。 您的计算是 Column 而不是度量,对吗? 错误似乎在其他地方。我的猜测是您的 Office 1 值与您的值(地震、恐怖主义、风)没有关联。

我想 [PY Premium] 应该 return "Earthquake"、"Terrorism" 和 "Wind" 没有价值。在那种情况下,DIVIDE returns BLANK 因为分母是 BLANK.

然后,度量值 1 + BLANKBLANK 与数字相加时会转换为 0。因此它实际上计算 1 + 0 和 returns 1.

为了解决这个问题,您可以使用一个变量来保存[PY Premium]的结果,并且只在[PY Premium]不为空时才计算比率。

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

话虽如此,上面的计算实际上看起来 return 与此相同的结果。而且这不会导致 returning 100% for irrelevant Division.

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