如何为Issue_start_date与issue_end_date创建起止Date Slicer
实现双日期范围切片器(左起始/右结束)
要实现基于Issue_start_date和issue_end_date的单范围切片器(左侧选起始日期、右侧选结束日期),按以下步骤操作:
1. 创建独立日期表
直接用原表的两个日期列做范围切片器会出现筛选逻辑冲突,先构建一张覆盖所有日期范围的独立日期表:
DateTable = CALENDAR(MIN('你的数据表名称'[Issue_start_date]), MAX('你的数据表名称'[issue_end_date]))
创建完成后,在建模选项卡中将该表标记为「日期表」,确保日期逻辑正常生效。
2. 编写筛选度量值
由于无法同时为原表的两个日期列与日期表建立有效关联,用度量值控制筛选逻辑:
有效记录数 = VAR 选中的起始日期 = MIN('DateTable'[Date]) VAR 选中的结束日期 = MAX('DateTable'[Date]) RETURN CALCULATE( COUNTROWS('你的数据表名称'), '你的数据表名称'[Issue_start_date] >= 选中的起始日期, '你的数据表名称'[issue_end_date] <= 选中的结束日期 )
这个度量值仅统计「起始日期≥切片器左值」且「结束日期≤切片器右值」的记录。
3. 设置范围切片器
- 将
DateTable中的Date字段拖到画布,选择「切片器」视觉对象 - 在切片器的格式面板里,把「类型」修改为「范围」
- 此时切片器会显示左右两个日期滑块/输入框,左侧对应选中的起始日期,右侧对应选中的结束日期
4. 关联可视化对象
把需要展示的图表(如表格、柱状图)与上述有效记录数度量值关联,或在图表筛选器中套用相同逻辑,即可实现切片器范围对数据的正确筛选。
备选方案:双独立切片器
如果不需要单一切片器,也可直接添加两个切片器:一个绑定Issue_start_date(设置为「大于或等于」筛选),另一个绑定issue_end_date(设置为「小于或等于」筛选),同样能达到左起始、右结束的筛选效果。
内容的提问来源于stack exchange,提问作者Bahubali Sharma
相关产品推荐
相关产品推荐

