我想计算“数据转储”表上的记录数,其中 [Stage] 列包含值“Enquiry”。我还想了解这些公式执行的差异。
我使用以下 DAX 公式来评估 - 哪个公式更有效?
=SUMX('Data Dump',MIN(SEARCH("Enquiry",'Data Dump'[Stage],,0),1))
=CALCULATE(COUNTROWS('Data Dump'),SEARCH("Enquiry",'Data Dump'[Stage],,0)>0)
=CALCULATE(COUNT('Data Dump'[Stage]),SEARCH("Enquiry",'Data Dump'[Stage],,0)>0)
=CALCULATE(COUNTROWS(FILTER('Data Dump',SEARCH("Enquiry",'Data Dump'[Stage],,0)>0)))
另外,如果我简单地将公式列添加到我的数据源表中,针对不同的条件(例如,值为“查询”、“管道”、“已转换”等),然后将其求和,是否会更有效获得总数?
以下是在 DAX Studio 中运行获得的结果,据我所知,性能相似。
我会推荐以下其中一项:
CALCULATE (
COUNTROWS ( 'Data Dump' ),
CONTAINSSTRING ( 'Data Dump'[Stage], "Enquiry" )
)
或
COUNTROWS (
FILTER (
'Data Dump',
CONTAINSSTRING ( 'Data Dump'[Stage], "Enquiry" )
)
)
我希望它们的效率相似,但您需要实际测试才能确定。