Power BI中DAX计算切片器所选日期前已填补职位空缺数的问题
解决Power BI中时间段内已填补职位空缺数统计问题
问题根源
你的度量值存在两个核心问题:
SELECTEDVALUE('Date'[Date])仅在筛选单个日期时有效,当选择月份/多个日期时会返回空白,导致整个度量值无结果。- 现有FILTER没有忽略Date表的上下文筛选,导致只能统计当天的数据,无法累计之前的所有已填补空缺。
修正后的度量值
使用以下DAX公式可以实现需求:
Vacancies Filled = VAR MaxSelectedDate = MAX('Date'[Date]) RETURN CALCULATE( COUNT(EmployeeVacancies[ObjectID]), EmployeeVacancies[Start date] <= MaxSelectedDate, ALL('Date') )
公式说明
MAX('Date'[Date]):无论筛选单个日期、月份还是日期范围,都能获取所选时间段的最大日期,避免SELECTEDVALUE的局限性。ALL('Date'):清除Date表的上下文筛选,确保统计的是所有Start date小于等于所选最大日期的空缺职位,而非仅筛选日期范围内的当天数据。- 直接在CALCULATE的筛选参数中写条件,比嵌套FILTER更简洁高效。
可选优化(支持累计趋势)
如果需要在图表中展示累计填补数(比如按日期/月份递增的趋势),可以去掉ALL('Date'),保留上下文动态累计:
Vacancies Filled (Cumulative) = VAR MaxSelectedDate = MAX('Date'[Date]) RETURN CALCULATE( COUNT(EmployeeVacancies[ObjectID]), EmployeeVacancies[Start date] <= MaxSelectedDate )
这个版本会随Date表的上下文变化,比如选择1-3月时,每个月份会显示到该月为止的总填补数。
内容的提问来源于stack exchange,提问作者Daniëlle Truter
相关产品推荐
相关产品推荐

