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

如何创建Measure按NIF统计Trainee转Graduate的月度及累计晋升人数

实现步骤与DAX代码

核心需求拆解

需要统计两类数据:

  • 单月内从上月的Internship(对应需求中的Trainee)转为Graduate的人员数量
  • 筛选月份时,展示从4月到该筛选月的累计晋升总数

1. 单月晋升人数Measure

首先创建一个计算单月晋升人数的基础Measure,用于识别满足"上月是实习、本月转正"条件的人员:

当月晋升人数 = 
VAR 当前月份 = MAX('youth'[MONTH])
VAR 当前年份 = MAX('youth'[YEAR])
RETURN
CALCULATE(
    DISTINCTCOUNT('youth'[NIF]),
    FILTER(
        ALL('youth'),
        'youth'[YEAR] = 当前年份 &&
        'youth'[MONTH] = 当前月份 &&
        'youth'[CARREIRAYOUTH] = "Graduate" &&
        EXISTS(
            FILTER(
                ALL('youth'),
                'youth'[NIF] = EARLIER('youth'[NIF]) &&
                'youth'[YEAR] = 当前年份 &&
                'youth'[MONTH] = 当前月份 - 1 &&
                'youth'[CARREIRAYOUTH] = "Internship"
            )
        )
    )
)

2. 累计晋升人数Measure

基于上面的基础Measure,创建累计统计的Measure,确保筛选任意月份时,自动汇总4月到该月份的所有晋升:

累计晋升人数 = 
VAR 选中月份 = MAX('youth'[MONTH])
VAR 选中年份 = MAX('youth'[YEAR])
RETURN
SUMX(
    FILTER(
        ALL('youth'[MONTH]),
        'youth'[MONTH] >= 4 && 'youth'[MONTH] <= 选中月份
    ),
    [当月晋升人数]
)

注意事项

  • 数据中需求描述的Trainee对应表中的Internship,代码中已匹配该值,若实际字段值不同需对应修改
  • 上述代码默认处理单年份数据,若存在跨年场景,需调整逻辑关联年份与月份的连续性(例如处理1月对应上年12月的情况)
  • 使用时直接将累计晋升人数Measure拖入视觉对象,配合MONTH列筛选即可展示符合要求的结果

内容的提问来源于stack exchange,提问作者Álvaro Matos

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 19:20:55