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

Power BI 比对两张表查找缺失培训课程及实现完成进度条方案

Power BI 员工必修课完成情况实现方案

前置数据准备

先确认两张基础表的核心字段,无对应字段可先补全:

  • 《TRAINING 2021》(已完成培训表):员工ID/员工姓名、已完成课程名称、完成时间(可选)
  • 《MANDATORY TRAINING 2021》(必修课表):必修课程名称,若需按岗位/部门区分必修要求可新增对应维度字段
    两张表无需提前建关系,后续计算生成中间表后按需关联即可。

需求1:输出每位员工未完成的缺失必修课

按以下步骤操作即可得到每个员工的缺课清单:

  1. 生成独立员工维度表,避免遍历员工时出现遗漏,新建DAX计算表:
    员工表 = DISTINCT('TRAINING 2021'[员工ID/员工姓名])
  2. 生成员工与所有必修课的全量映射表,即每个员工对应所有应完成的必修课,新建DAX计算表:
    员工必修全量表 = CROSSJOIN('员工表', 'MANDATORY TRAINING 2021')
    如果是按岗位区分必修课,将CROSSJOIN替换为按岗位关联的NATURALINNERJOIN即可
  3. 给全量映射表新增标记列,判断对应课程员工是否完成,新建计算列:
是否完成 = 
VAR CurrentEmp = '员工必修全量表'[员工ID/员工姓名]
VAR CurrentCourse = '员工必修全量表'[必修课程名称]
RETURN
IF(
    COUNTROWS(FILTER('TRAINING 2021', 'TRAINING 2021'[员工ID/员工姓名] = CurrentEmp && 'TRAINING 2021'[已完成课程名称] = CurrentCourse)) > 0,
    "已完成",
    "未完成"
)
  1. 最终展示时,将员工必修全量表字段拖入表格可视化,筛选「是否完成=未完成」,行维度选择员工、必修课程名称,就能得到每个员工对应的缺失必修课清单,示例中Bruno会直接对应显示Course C。

需求2:员工培训完成进度条&完成率展示

  1. 先新建完成率计算度量值,格式设置为百分比,保留0-1位小数即可:
必修课完成率 = 
VAR TotalMandatory = COUNT('MANDATORY TRAINING 2021'[必修课程名称])
VAR FinishedCount = CALCULATE(COUNT('员工必修全量表'[必修课程名称]), '员工必修全量表'[是否完成] = "已完成")
RETURN
DIVIDE(FinishedCount, TotalMandatory, 0)
  1. 进度条实现两种可选方案:
  • 条形图改造:轴维度选员工姓名,值选刚才的「必修课完成率」度量值,在可视化设置中开启数据标签,自定义标签格式为[员工姓名]:[Value]课程已完成,调整条形图高度即可得到横向进度条效果,支持批量展示所有员工进度。
  • 卡片图实现:选中卡片可视化,值选「必修课完成率」,在「条件格式-单元格元素」中开启「数据条」,设置对应填充色和最值,再自定义卡片显示文本即可得到带进度条的单员工完成情况卡片,适合搭配员工切片器使用。

小提示:如果需要按部门/岗位筛选统计,只要把员工维度表和其他表通过员工ID建立1对多的关联,就能正常联动筛选。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 03:27:04