如何在Power BI中创建单个切片器,基于双日期列筛选项目?
Power BI 项目年份切片器实现方案
步骤1:创建独立的年份维度表
首先生成一个和项目表无关联的年份列表,用于切片器选择。在Power BI中新建计算表,输入以下DAX表达式(可根据实际项目年份范围调整起止日期):
Project Year = DISTINCT(SELECTCOLUMNS(CALENDAR(DATE(2020,1,1),DATE(2030,1,1)),"年份",YEAR([Date])))
创建完成后,确保该表与你的项目表无任何关联关系。
步骤2:编写筛选度量值
在项目表中新建度量值,用于判断每个项目是否符合切片器筛选条件:
项目筛选 = VAR SelectedYear = SELECTEDVALUE('Project Year'[年份]) VAR CurrentStart = MAX('项目表'[开始日期]) VAR CurrentEnd = MAX('项目表'[结束日期]) RETURN IF( ISBLANK(SelectedYear), // 未选择年份时,仅展示无日期的项目 IF(ISBLANK(CurrentStart) && ISBLANK(CurrentEnd), 1, 0), // 选择年份时,匹配所有关联项目 IF( (NOT(ISBLANK(CurrentStart)) && NOT(ISBLANK(CurrentEnd)) && CurrentStart <= DATE(SelectedYear,12,31) && CurrentEnd >= DATE(SelectedYear,1,1)) || (NOT(ISBLANK(CurrentStart)) && ISBLANK(CurrentEnd) && YEAR(CurrentStart) = SelectedYear) || (ISBLANK(CurrentStart) && NOT(ISBLANK(CurrentEnd)) && YEAR(CurrentEnd) = SelectedYear), 1, 0 ) )
步骤3:配置切片器与可视化筛选
- 插入切片器控件,选择
Project Year表中的「年份」字段,将切片器命名为“Project Year”; - 针对需要展示项目的可视化组件(如表格、矩阵等),在右侧「筛选器」面板中添加「项目筛选」度量值,设置筛选条件为等于1。
效果验证
- 未选择切片器年份时,仅显示无开始/结束日期的项目;
- 选择2022时,会展示:
- 起止日期均在2022的项目;
- 跨年度且包含2022的项目;
- 仅开始日期为2022的项目;
- 仅结束日期为2022的项目。
内容的提问来源于stack exchange,提问作者mic_user
相关产品推荐
相关产品推荐

