You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让DAX计算的活跃/离职员工数支持部门切片器筛选?

问题原因

你写的DAX里用了ALL(employee),这个函数会清除所有针对Employees表的筛选上下文——包括来自dim_Department的部门筛选,所以部门切片器根本起不了作用。

修改后的DAX表达式

活跃员工计数

CountOfActive = 
VAR _selectedDate = MAX('Calendar'[Date])
RETURN
CALCULATE(
    COUNTROWS('employee'),
    'employee'[Hire Date] <= _selectedDate,
    OR('employee'[Termination Date] >= _selectedDate, ISBLANK('employee'[Termination Date]))
)

离职员工计数

CountOfTerminated = 
VAR _selectedDate = MAX('Calendar'[Date])
RETURN
CALCULATE(
    COUNTROWS('employee'),
    'employee'[Hire Date] <= _selectedDate,
    'employee'[Termination Date] < _selectedDate
)
关键修改点
  • 去掉了ALL(employee),让外部筛选(比如部门切片器)能正常作用于Employees表
  • 删掉了多余的VALUE(_selectedDate),因为MAX('Calendar'[Date])返回的就是日期类型,直接和员工表的日期列比较即可
额外说明

如果之后需要排除某些筛选(比如只想保留部门筛选,移除其他无关筛选),可以用ALLEXCEPT(employee, dim_Department[DepartmentID])替代原来的ALL(employee),这样既能保留部门筛选,又能清除其他对Employees表的筛选。

内容的提问来源于stack exchange,提问作者emil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 07:35:25