目前是在BI上做多个列的动态计算实现的, 但觉得实现方式有点复杂, 而且排序和动态计算某些设置会影响到最终结果显示, 所以想咨询一下各位有没有更好的实现途径~
(平时工作用SQL做数仓模型; Python学过一些, 但尚未在实际工作中使用)
问题明细
离职率公式 = (本月离职人数)/[(本月1号在职总人数+手动选取的本月另一天的在职总人数)/2]
数据集的关键字段
假设"手动选取的本月另一天" 为 a
两层判断
判断日期 = a 时, 是否在职
LAST_DAY < = a
OR
LAST_DAY IS NULL
判断是否当月离职的逻辑
LAST_DAY_yearmonth = b
当前思路
根据上述逻辑, 判断每行是否计入在职/离职, 计入记为1, 不计入记为0 --> 用BI的动态计算runningsum统计所有在职/离职总量 --> 用BI的动态计算movingmax得到在职/离职总量
欢迎各位进行逻辑优化或提供可行方式的建议 感恩
是想用 python实现吗?如果用python的话,思路是:用pandas,读取为dataframe,然后取出相关列进行判断,将0或1的结果写入相关列即可。
如对你有启发和帮助,请点击我回答的右上方采纳。