Power BI日期切片器设置:筛选指定时段未消费客户
实现指定时段内无购买记录客户的筛选方案
当然可以实现,核心是脱离销售表的筛选上下文,用独立日期表配合DAX度量值来判断客户是否在指定时段无交易,具体步骤如下:
第一步:创建独立日期表
用DAX生成一张包含全量日期的表,不要依赖销售表的日期(否则会被自动过滤掉无交易的客户):DateTable = CALENDAR(MIN(Sales[SalesDate]), MAX(Sales[SalesDate]))生成后,在Power BI中右键点击这张表,选择「标记为日期表」完成配置。
第二步:编写DAX度量值判断无交易状态
创建一个度量值,用来检查当前客户在切片器所选日期的过去3个月内是否没有任何销售记录:无购买记录标识 = VAR 所选日期 = MAX(DateTable[Date]) VAR 时段起始日期 = EDATE(所选日期, -3) // 这里的-3代表过去3个月,可按需调整为-6、-12等 RETURN IF( CALCULATE( COUNTROWS(Sales), FILTER( Sales, Sales[SalesDate] >= 时段起始日期 && Sales[SalesDate] <= 所选日期 ) ) = 0, 1, 0 )第三步:配置筛选和可视化
- 把
DateTable[Date]拖到切片器组件中,作为日期选择控件; - 在展示客户列表的可视化(比如表格)中,添加筛选条件:选择「无购买记录标识」等于1;
- 确保你的客户表(含客户名称和最后一次销售日期的表)与销售表之间已通过客户ID等字段建立正确的一对多关联。
- 把
原理说明
默认切片器用销售表的日期时,会自动筛选掉该时段内无交易的客户;而独立日期表能保留所有客户的上下文,通过度量值逐个检查每个客户在指定时段内的交易记录数,当记录数为0时标记为符合条件,最终筛选出这些客户。
内容的提问来源于stack exchange,提问作者Calle
相关产品推荐
相关产品推荐

