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

Spotfire:基于报告周期的员工姓名变更标记实现咨询

在Spotfire中创建员工变更标记列的方案

前提条件

确保你的数据集包含以下核心字段:

  • 班组:员工所属的分组
  • 报告日期:报告的时间节点(需为可排序的日期类型)
  • 员工姓名:需追踪变更的员工标识

方案一:标记现有行的变更(仅针对数据中存在的员工)

适用于只需要标记当前存在员工与上一报告期的对比变化,若需标记消失的员工,请使用方案二。

  1. 排序数据集
    点击菜单栏 数据 -> 数据属性,选中目标数据集后进入排序选项卡,添加排序规则:

    • 第一优先级:按班组升序
    • 第二优先级:按报告日期升序
  2. 创建「当前存在」计算列
    点击 插入 -> 计算列,命名为CurrentExists,输入公式:

    1
    

    (表示当前报告日期下该员工存在)

  3. 创建「上一报告期存在状态」计算列
    新建计算列PreviousExists,输入公式:

    If(RowId() Over (Partition By [班组] Order By [报告日期]) = 1, 0, Lag([CurrentExists]) Over (Partition By [班组] Order By [报告日期]))
    

    逻辑说明:

    • Partition By [班组]:限定仅在同一班组内对比
    • Order By [报告日期]:按时间顺序遍历报告期
    • Lag():获取上一个报告期的存在状态;首个报告期无历史数据,设为0
  4. 创建最终变更标记列
    新建计算列变更标记,输入公式:

    Case
        When [PreviousExists] = 0 And [CurrentExists] = 1 Then "新增"
        When [PreviousExists] = 1 And [CurrentExists] = 0 Then "离职/移除"
        Else "无变更"
    End
    

方案二:完整标记所有变更(含消失的员工)

如果需要标记那些在某报告期从名单中消失的员工(原数据无对应行),需先生成全量组合数据:

  1. 生成班组-报告日期全量数据集

    • 点击 数据 -> 新建数据集,选择交叉表
    • 行字段选班组,列字段选报告日期,值字段任选(如员工姓名的计数)
    • 导出该数据集,命名为班组日期全集
  2. 生成班组-员工全量数据集

    • 重复新建交叉表步骤,行字段选班组,列字段选员工姓名
    • 导出数据集,命名为班组员工全集
  3. 合并全量组合

    • 点击 数据 -> 合并数据,选择班组日期全集与班组员工全集,按班组字段做全外连接,得到所有可能的班组-报告日期-员工姓名组合,命名为全量员工日期组合
  4. 关联原数据集

    • 将原数据集与全量员工日期组合按班组、报告日期、员工姓名做左外连接
    • 新建计算列CurrentExists:
      If(IsNull([原数据集的员工姓名]), 0, 1)
      
  5. 后续步骤同方案一
    按方案一的步骤3、4创建PreviousExists和变更标记列,即可完整标记新增、移除的所有员工变更。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 10:20:14