如何在单行中取Final Offer与Rescind Date的最早日期计算招聘流程时长?
非SQL方式计算招聘流程完成工作日时长方案
操作步骤(以Access查询设计器为例)
- 打开Access的查询设计器,选中
Hiring Process表作为数据源 - 添加基础字段:ReqNumber、候选人ID、
Release Accepted、Final Offer、Rescind Date - 添加流程完成日期计算字段:
在查询设计器的空白字段行输入:
逻辑说明:用流程完成日期: IIf(Nz([Final Offer], #12/31/9999#) < Nz([Rescind Date], #12/31/9999#), [Final Offer], [Rescind Date])Nz函数将空日期替换为一个极晚的日期(#12/31/9999#),确保能正确比较出Final Offer和Rescind Date中更早的那个值;如果其中一个字段为空,则直接取非空的日期。 - 添加背景调查工作日时长计算字段:
若仅计算自然日差,输入:
若需排除周末(仅计算周一至周五),可使用手动扣除周末的表达式:背景调查耗时天数: DateDiff("d", [Release Accepted], [流程完成日期])
注:如果需要排除节假日,需先创建节假日表,再结合背景调查工作日时长: DateDiff("d", [Release Accepted], [流程完成日期]) - (2 * DateDiff("ww", [Release Accepted], [流程完成日期], vbMonday))DCount函数调整计算逻辑。 - 保存并运行查询,即可得到每个候选人的背景调查耗时数据
示例验证
针对你提到的ReqNumber 1111、候选人ID#109的情况:
Final Offer为2023年1月2日,Rescind Date为2023年1月5日- 流程完成日期会取更早的2023年1月2日
- 用
Release Accepted日期与该日期做DateDiff计算,即可得到背景调查的耗时天数
内容的提问来源于stack exchange,提问作者DEIO
相关产品推荐
相关产品推荐

