如何计算 table 中的行数,其中特定列值位于指定值列表中?

How to count rows in a table, where a specific column value is in a list of specified values?

如何创建 DAX 度量来计算客户 table dCustomers 中的客户数量,其中 customerTypeFRDEGG?

在 SQL 中,这类似于:

SELECT COUNT(customerId) 
FROM dCustomers 
WHERE customerType IN ('FR', 'DE', 'GG')

您可以创建一个度量并使用 CALCULATE 和适当的过滤器,如下所示:

Count In List = CALCULATE(COUNT(dCustomers[customerId]),
    dCustomers[customerType] = "FR" ||
    dCustomers[customerType] = "DE" ||
    dCustomers[customerType] = "GG")

我建议使用 IN 运算符,以更简洁的方式编写它:

Count (Calculate) = 
CALCULATE (
    COUNTROWS ( dCustomers ) ,
    dCustomers[customerType] IN {"FR", "DE", "GG"}
)

您也可以直接在过滤后的 table 上使用 COUNTROWS,从随机数据集的一些测试来看,这看起来稍微快一些,但请根据具体情况进行基准测试:

Count (Filter) = 
COUNTROWS ( 
    FILTER (
        dCustomers ,
        dCustomers[customerType] IN {"FR", "DE", "GG"}
    )
)