我有一个带有4个变量的度量,其最终乘积(FixedBooleanValue
)如果为0,则返回true,否则返回false。
return
之前的所有四个变量将按组织进行过滤
如果将其转换为自己的度量,则正确无误,并且只有最终的度量似乎在过滤后会被忽略。
这里的关系是:
Agreement[AgreementKey] 1 - * Agreement Conditions[AgreementKey]
Calendar[DateKey] 1 - * 'Agreement Conditions'[DateKey]
Organisation[OrganisationKey 1 -* 'Agreement Conditions'[OrganisationKey]
措施是:
Discount Fixed Boolean :=
VAR Margin =
CALCULATE (
AVERAGE ( 'Agreement Conditions'[Discount Margin Pct] ),
LASTNONBLANK (
'Calendar'[ActualDate],
AVERAGE ( 'Agreement Conditions'[Discount Margin Pct] )
)
)
VAR Minimum =
CALCULATE (
AVERAGE ( 'Agreement Conditions'[Discount Minimum Pct] ),
LASTNONBLANK (
'Calendar'[ActualDate],
AVERAGE ( 'Agreement Conditions'[Discount Minimum Pct] )
)
)
VAR BaseRate =
CALCULATE (
AVERAGE ( 'Agreement Conditions'[Discount Base Rate Pct] ),
LASTNONBLANK (
'Calendar'[ActualDate],
AVERAGE ( 'Agreement Conditions'[Discount Base Rate Pct] )
)
)
VAR FixedBooleanValue = Margin + Minimum + BaseRate
RETURN
IF ( FixedBooleanValue = 0, TRUE, FALSE )
由于某种原因,过滤器上下文未应用于最终的if()
,并且看起来像是交叉联接,因为所有协议密钥都出现在所有组织的旁边。
我很高兴能向我展示我要去哪里。
答案 0 :(得分:0)
当FixedBooleanValue为null / blank时,与零的比较也为true。请尝试以下操作,以免因协议密钥和组织的无意义组合而返回True。
RETURN
IF (
NOT(ISBLANK(FixedBooleanValue)),
FixedBooleanValue = 0
)
基本上,如果FixedBooleanValue = 0,则RETURN子句将返回True,否则返回False。但是,如果为空白,则返回空白(因为省略IF的第三个参数表示空白)。