PowerBI筛选器上下文问题

PowerBI筛选器上下文问题,powerbi,dax,Powerbi,Dax,我在Power BI中有一个度量设置,它的行为不像我预期的那样,我正在尝试找出这里缺少的内容。我定义的度量非常简单,如下所示 Test Filter Removal = CALCULATE( SELECTEDVALUE('Report Options'[Operation Costs], "Costs "), REMOVEFILTERS('Report Options'), FILTER('Report Options', 'Report Optio

我在Power BI中有一个度量设置,它的行为不像我预期的那样,我正在尝试找出这里缺少的内容。我定义的度量非常简单,如下所示

Test Filter Removal = 
CALCULATE(
    SELECTEDVALUE('Report Options'[Operation Costs], "Costs "),
    REMOVEFILTERS('Report Options'),
    FILTER('Report Options', 'Report Options'[Operation Costs] = "Costs at Current Year Rates")
)
“报告选项”【运营成本】表中有两个选项:“按实际年费率计算的成本”和“按当前年费率计算的成本”。本报告页面上的上下文是选择了按实际年费率计算的成本,但对于此度量,我希望它按当前年费率计算成本

完整度量比此更复杂,但更复杂度量的整个问题归结为以下事实:在本例中,度量的这一部分返回“成本”,这是SelectedValue函数中使用的默认值


我不明白的是,指定的过滤器应该专门将其设置为按当年费率计算的成本。我确信这个问题与上下文有关,但我不知道它是什么。

因为CALCULATE中的所有筛选器参数都是使用AND逻辑计算的,REMOVEFILTERS在这里没有真正起作用,因为您的筛选器参数是该较大表的子集

我怀疑你想要的是更像这样的东西:

Test Filter Removal = 
CALCULATE (
    SELECTEDVALUE ( 'Report Options'[Operation Costs], "Costs " ),
    'Report Options'[Operation Costs] = "Costs at Current Year Rates"
)
这相当于

Test Filter Removal = 
CALCULATE (
    SELECTEDVALUE ( 'Report Options'[Operation Costs], "Costs " ),
    FILTER (
        ALL ( 'Report Options'[Operation Costs] ),
        'Report Options'[Operation Costs] = "Costs at Current Year Rates"
    )
)

请注意,如果没有ALL(如在DAX中),该表将在筛选器上下文中进行计算,因此会受到切片器的影响,因此当切片器不包含该列的“按当前年费率计算的成本”时,将返回空表。

因为CALCULATE中的所有筛选器参数都使用and逻辑进行计算,REMOVEFILTERS在这里实际上没有做任何工作,因为您的FILTER参数是该较大表的子集

我怀疑你想要的是更像这样的东西:

Test Filter Removal = 
CALCULATE (
    SELECTEDVALUE ( 'Report Options'[Operation Costs], "Costs " ),
    'Report Options'[Operation Costs] = "Costs at Current Year Rates"
)
这相当于

Test Filter Removal = 
CALCULATE (
    SELECTEDVALUE ( 'Report Options'[Operation Costs], "Costs " ),
    FILTER (
        ALL ( 'Report Options'[Operation Costs] ),
        'Report Options'[Operation Costs] = "Costs at Current Year Rates"
    )
)
请注意,如果没有ALL(如在DAX中),该表将在筛选器上下文中进行计算,因此受切片器的影响,因此当切片器未包含该列的“按当前年费率计算的成本”时,将返回空表