DAX中基于关联表筛选GP>0客户的Qoutes记录按日/月计数
解决方案
正确DAX度量值
GP正客户报价数 = VAR ValidCustomers = CALCULATETABLE( VALUES(Sales[customerid]), Sales[GP] > 0 ) RETURN CALCULATE( COUNTROWS('Qoutes'), 'Qoutes'[customerid] IN ValidCustomers )
代码说明
- ValidCustomers变量:先筛选出Sales表中所有
GP>0的客户ID集合,确保只保留符合条件的客户。 - CALCULATE筛选统计:用上述客户集合过滤Qoutes表,统计其中的记录行数。当你在Power BI视觉对象中按
Qoutes[Month]和Qoutes[Day]分组时,度量值会自动继承视觉对象的日期上下文,无需在代码中额外指定月份和日期筛选。
原代码问题分析
RELATEDTABLE('Sales')属于冗余操作,我们只需要筛选客户ID,不需要关联整个Sales表的上下文。'Sales'[customerid] IN VALUES('Qoutes'[customerid])是重复条件,两表通过customerid关联后,上下文已自动匹配客户关系。VALUES('Qoutes'[Month])和VALUES('Qoutes'[Day])无需在度量值中定义,分组逻辑由视觉对象的行/列字段控制即可。
内容的提问来源于stack exchange,提问作者Atahan Çelik
相关产品推荐
相关产品推荐

