Power BI中如何使用单个切片器筛选多个日期列?
Power BI 单个日期筛选多组有效期列解决方案
前置准备:创建独立无关联的日期表
首先创建一个仅用于提供日期选择的独立表,不要和你的现有业务表建立任何关联关系,DAX 公式如下:日期筛选表 = CALENDARAUTO()
你也可以根据你的业务数据最早、最晚日期范围替换为CALENDAR(起始日期, 结束日期)手动指定范围。
步骤1:创建筛选判断度量值
在你的业务表下新建如下度量值,用于判断当前行是否匹配选中的日期条件:
日期匹配标志 = VAR 选中日期 = SELECTEDVALUE('日期筛选表'[Date]) RETURN IF( // 同时满足产品有效期、订单有效期包含选中日期的条件 AND( AND(选中日期 >= MAX('业务表'[productvalidfrom]), 选中日期 < MAX('业务表'[productvalidto])), AND(选中日期 >= MAX('业务表'[ordervalidfrom]), 选中日期 < MAX('业务表'[ordervalidto])) ), 1, 0 )
注:公式里的
MAX仅用于提取当前行的日期列值,不会对数据做聚合汇总,无需担心原始数据被修改。
步骤2:配置视觉对象
- 把
日期筛选表的日期字段拖到画布生成单值选择日期切片器 - 新建表格视觉对象,把你需要展示的所有业务表字段全部添加进去,逐个确认字段的聚合方式设置为不汇总
- 把刚才创建的
日期匹配标志度量值拖到表格视觉对象的「筛选器」面板,设置筛选条件为等于1,应用筛选即可生效
注意事项
如果你的日期列包含时分秒时间戳,建议先在Power Query里把productvalidfrom、productvalidto等四个日期列转换为纯日期格式,避免区间判断出错。
内容的提问来源于stack exchange,提问作者Nitika
相关产品推荐
相关产品推荐

