如何在Tableau中计算不同职位间晋升的员工数量
Tableau 职位晋升员工数统计实现方案
核心思路
针对每个晋升路径(如1→2、1→3等),通过固定维度LOD表达式判断员工是否同时拥有起始职位和目标职位,再统计符合条件的唯一员工ID数量。
逐个创建计算字段
以下是5个晋升路径对应的计算字段代码及说明:
- #Emp(1 to 2)(统计从职位1晋升到2的员工数)
{FIXED : COUNTD(IF {FIXED [Employee ID] : MAX(IF [Work position] = 1 THEN 1 END)} = 1 AND {FIXED [Employee ID] : MAX(IF [Work position] = 2 THEN 1 END)} = 1 THEN [Employee ID] END)}
- #Emp(1 to 3)(统计从职位1晋升到3的员工数)
{FIXED : COUNTD(IF {FIXED [Employee ID] : MAX(IF [Work position] = 1 THEN 1 END)} = 1 AND {FIXED [Employee ID] : MAX(IF [Work position] = 3 THEN 1 END)} = 1 THEN [Employee ID] END)}
- #Emp(2 to 3)(统计从职位2晋升到3的员工数)
{FIXED : COUNTD(IF {FIXED [Employee ID] : MAX(IF [Work position] = 2 THEN 1 END)} = 1 AND {FIXED [Employee ID] : MAX(IF [Work position] = 3 THEN 1 END)} = 1 THEN [Employee ID] END)}
- #Emp(2 to 4)(统计从职位2晋升到4的员工数)
{FIXED : COUNTD(IF {FIXED [Employee ID] : MAX(IF [Work position] = 2 THEN 1 END)} = 1 AND {FIXED [Employee ID] : MAX(IF [Work position] = 4 THEN 1 END)} = 1 THEN [Employee ID] END)}
- #Emp(3 to 4)(统计从职位3晋升到4的员工数)
{FIXED : COUNTD(IF {FIXED [Employee ID] : MAX(IF [Work position] = 3 THEN 1 END)} = 1 AND {FIXED [Employee ID] : MAX(IF [Work position] = 4 THEN 1 END)} = 1 THEN [Employee ID] END)}
逻辑说明
- 内层
{FIXED [Employee ID] : MAX(IF [Work position] = X THEN 1 END)} = 1:判断当前员工是否拥有目标职位X(MAX函数确保只要员工有该职位就返回1) - 两个条件同时成立:说明员工同时拥有起始职位和目标职位,即完成了对应路径的晋升
- 外层
{FIXED : COUNTD(...)}:在整个数据集范围内,统计符合条件的唯一员工ID数量,直接得到该晋升路径的员工总数
使用方式
创建好上述计算字段后,将任意字段拖到视图中即可看到对应数值,无需额外聚合操作(因为计算字段已通过LOD完成了计数)。
内容的提问来源于stack exchange,提问作者Anamta sayyed
相关产品推荐
相关产品推荐

