Warm tip: This article is reproduced from serverfault.com, please click

powerbi-CALCULATE如何应用所有过滤器?

(powerbi - How does CALCULATE apply all the filters?)

发布于 2020-11-29 19:29:59

CALCULATE中的每个过滤器都是一个表。给定一个以上的过滤器(例如3个单独的过滤器),将生成3个表。

在对所有过滤器表进行“与”运算后,结果数据(在评估完所有过滤器之后)是否具有数据集中的所有行/列?CALCULATE如何应用所有过滤器?

Questioner
variable
Viewed
11
sergiom 2020-11-30 04:03:31

过滤器将作为CALCULATE执行的最后一步当使用多个过滤器时,将对其执行“与”运算。生成的过滤器是现有过滤器的交集。

例如表达式

CALCULATE (
    COUNTROWS ( Sales ),
    Product[Color] = "Red",
    Product[Brand] = "Contoso",
    Customer[Continent] = "Asia"
)

将计算表中Sales与之相关的行数,这些行的Products颜色=红色AND品牌= Contoso并出售给居住在亚洲的客户。

为了更好地了解什么是过滤器表,我们必须记住,每个过滤器参数都由DAX扩展为其等效的FILTER表达式,如下所示:

CALCULATE (
    COUNTROWS ( Sales ),
    FILTER (
        ALL ( Product[Color] ),
        Product[Color] = "Red"
    ),
    FILTER (
        ALL ( Product[Brand] ),
        Product[Brand] = "Contoso"
    ),
    FILTER (
        ALL ( Customer[Continent] ),
        Customer[Continent] = "Asia"
    )
)