PowerBI创建度量:筛选月份时统计4月至筛选月的入职员工数
PowerBI 实现4月至筛选月份的入职员工统计度量
核心思路
通过DAX捕获当前筛选的年月范围,筛选表中同一年份内入职月份在4月到目标月份之间的员工,统计唯一员工数量。
度量公式(基于表中year、month列)
如果你的test表中year和month直接对应员工入职的年月,使用以下度量:
入职员工累计数(4月起) = VAR 选中年份 = SELECTEDVALUE(test[year]) VAR 选中月份 = SELECTEDVALUE(test[month]) RETURN IF( 选中月份 < 4, 0, // 选中月份早于4月时无符合条件的员工 CALCULATE( DISTINCTCOUNT(test[NIF]), test[year] = 选中年份, test[month] >= 4 && test[month] <= 选中月份 ) )
度量公式(基于date_antg入职日期列)
如果date_antg是员工的实际入职日期,建议搭配独立日期表使用(PowerBI推荐的时间建模方式),度量如下:
入职员工累计数(4月起) = VAR 选中日期 = SELECTEDVALUE('日期表'[Date]) VAR 选中年份 = YEAR(选中日期) VAR 选中月份 = MONTH(选中日期) RETURN IF( 选中月份 < 4, 0, CALCULATE( DISTINCTCOUNT(test[NIF]), YEAR(test[date_antg]) = 选中年份, MONTH(test[date_antg]) >= 4 && MONTH(test[date_antg]) <= 选中月份 ) )
关键说明
DISTINCTCOUNT(test[NIF])确保每个员工只被统计一次,避免重复记录干扰结果;若每条记录对应唯一员工,可替换为COUNT(test[NIF])。- 若筛选器同时选中多个年月,
SELECTEDVALUE会返回空白,此时度量也会返回空白;如果需要处理多值筛选,可改用MAX(test[month])或MIN(test[month])根据需求调整。 - 优先使用独立日期表关联到test表的日期列,这样时间筛选会更灵活,也能避免表内年月列筛选的歧义。
内容的提问来源于stack exchange,提问作者Álvaro Matos
相关产品推荐
相关产品推荐

