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

Power BI日期识别问题:按部门统计指定月份员工总数

解决方法:统计指定月份各部门在职员工总数

原DAX公式的问题在于依赖dim_date与dim_employee基于start_date_id的筛选关系,导致日期切片器仅会筛选当月新入职的员工,而非所有在当月在职的员工。要实现目标,需要调整筛选逻辑,关闭原有日期关系的自动筛选,同时判断员工入职日期早于或等于统计月份的最后一天(假设无离职数据则默认员工在职)。

通用度量值(适配所有部门)

这个度量值可以配合部门表的字段使用,无需硬编码部门ID:

在职员工总数 = 
VAR 统计月份最后一天 = EOMONTH(MAX(dim_date[date]), 0)
RETURN
CALCULATE(
    DISTINCTCOUNT(dim_employee[employee_id]),
    -- 筛选入职日期≤统计月份最后一天的员工
    RELATED(dim_date[date]) <= 统计月份最后一天,
    -- 关闭日期表与员工表的默认筛选关系,避免仅筛选当月入职
    CROSSFILTER(dim_date[date_id], dim_employee[start_date_id], NONE)
)

单独部门的度量值(以采购部为例)

如果仍需要单独计算某一部门的在职人数,可修改为:

采购部在职员工数 = 
VAR 统计月份最后一天 = EOMONTH(MAX(dim_date[date]), 0)
RETURN
CALCULATE(
    DISTINCTCOUNT(dim_employee[employee_id]),
    dim_employee[current_department_id] = 1,
    RELATED(dim_date[date]) <= 统计月份最后一天,
    CROSSFILTER(dim_date[date_id], dim_employee[start_date_id], NONE)
)

使用方式

将以上度量值添加到可视化组件(如矩阵、卡片),配合日期切片器选择2022年2月,同时将部门表的department字段拖入行/列区域,即可得到期望结果:采购部2人,销售部3人。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 00:45:49