我有一个大型数据文件(4.2行和10列),我尝试使用度量进行一些过滤。但是,当我尝试使用嵌套测量时,一切都会爆炸,我不确定为什么。
到目前为止,我有两个明确的措施:
MaxValue:=MAX('Element Forces - Area Shells'[Value])
和
MaxIndex:=
CALCULATE(
FIRSTNONBLANK('Element Forces - Area Shells'[Index],1),
FILTER(
ALL('Element Forces - Area Shells' ),
'Element Forces - Area Shells'[Value]=MAX('Element Forces - Area Shells'[Value])
)
)
这有效,我得到了正确的值。但是,正如我所看到的,我应该能够将MaxValue度量放入MaxIndex度量中,但一切都会停止。
我想象的新措施应如下所示:
MaxIndex:=
CALCULATE(
FIRSTNONBLANK('Element Forces - Area Shells'[Index],1),
FILTER(
ALL('Element Forces - Area Shells' ),
'Element Forces - Area Shells'[Value]=[MaxValue])
)
)
但它只是不起作用。我做错了什么?
答案 0 :(得分:0)
虽然我现在无法对其进行测试,但我认为它是由隐式上下文转换*引起的。当您在另一个度量中引用度量时,内部会涉及CALCULATE(),从而进行上下文转换。在这种情况下,这不是你想要的。我建议你使用变量,以创建一个度量:
MaxIndex:=
VAR MaxValue = MAX('Element Forces - Area Shells'[Value])
RETURN
CALCULATE(
FIRSTNONBLANK('Element Forces - Area Shells'[Index],1),
FILTER(
ALL('Element Forces - Area Shells' ),
'Element Forces - Area Shells'[Value] = MaxValue )
)
)
注意:我不确定,如果我错了,请原谅我:)
此外,使用VAR,来自MSDN docs:
此功能仅包含在SQL Server 2016 Analysis Services(SSAS),Excel 2016中的Power Pivot和Power BI Desktop中。此处提供的信息可能会有所变化。