Creamlittlemoon 2021-09-29 10:57 采纳率: 100%
浏览 65
已结题

Python/SQL计算本月离职率

目前是在BI上做多个列的动态计算实现的, 但觉得实现方式有点复杂, 而且排序和动态计算某些设置会影响到最终结果显示, 所以想咨询一下各位有没有更好的实现途径~
(平时工作用SQL做数仓模型; Python学过一些, 但尚未在实际工作中使用)

问题明细
离职率公式 = (本月离职人数)/[(本月1号在职总人数+手动选取的本月另一天的在职总人数)/2]

数据集的关键字段

  1. 入职日期 HIRE_DATE: 如 2021-08-02
  2. 离职日期 LAST_DAY: 如 2021-09-14

假设"手动选取的本月另一天" 为 a

  1. a = 2021-09-28
  2. b = a_ym = 2021-09 (取年月)

两层判断

  1. 判断日期 = a 时, 是否在职
    LAST_DAY < = a
    OR
    LAST_DAY IS NULL

  2. 判断是否当月离职的逻辑
    LAST_DAY_yearmonth = b

当前思路
根据上述逻辑, 判断每行是否计入在职/离职, 计入记为1, 不计入记为0 --> 用BI的动态计算runningsum统计所有在职/离职总量 --> 用BI的动态计算movingmax得到在职/离职总量

img

欢迎各位进行逻辑优化或提供可行方式的建议 感恩

  • 写回答

1条回答 默认 最新

  • CSDN专家-HGJ 2021-09-29 12:58
    关注

    是想用 python实现吗?如果用python的话,思路是:用pandas,读取为dataframe,然后取出相关列进行判断,将0或1的结果写入相关列即可。
    如对你有启发和帮助,请点击我回答的右上方采纳。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月2日
  • 已采纳回答 10月25日
  • 创建了问题 9月29日

悬赏问题

  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥20 测距传感器数据手册i2c