如何计算 table 中的行数,其中特定列值位于指定值列表中?
How to count rows in a table, where a specific column value is in a list of specified values?
如何创建 DAX 度量来计算客户 table dCustomers
中的客户数量,其中 customerType
是 FR
、DE
或 GG
?
在 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"}
)
)
如何创建 DAX 度量来计算客户 table dCustomers
中的客户数量,其中 customerType
是 FR
、DE
或 GG
?
在 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"}
)
)