问题描述
我有HR数据集问题。对于职位,我有职位详细信息,例如类别,类型等。 这些详细信息随时间变化并且彼此独立,从而产生以下数据集:
Position StartDate EndDate
1 '2020-01-01' '3000-01-01'
Position Type StartDate EndDate
1 'Part-time' '2020-01-01' '2020-07-31'
1 'Full-time' '2020-08-01' '2020-08-30'
1 'Part-time' '2020-09-01' '3000-01-01
Position Category StartDate EndDate
1 'Agency' '2020-01-01' '2020-06-30'
1 'Employee' '2020-07-01' '2020-08-30'
1 'Contractor' '2020-09-01' '3000-01-01
因此,我想获得一个数据集,例如:
Position Type Category StartDate EndDate
1 'Part-time' 'Agency' '2020-01-01' '2020-06-30'
1 'Part-time' 'Employee' '2020-07-01' '2020-07-31'
1 'Full-time' 'Employee' '2020-08-01' '2020-08-30'
1 'Part-time' 'Contractor' '2020-09-01' '3000-01-01'
这样,当按日期过滤时,它将带回该日期该位置的情况。对于“ 2020-07-05”上的示例,该职位将显示为兼职员工。
到目前为止,我研究的方法包括用于创建StartDate和EndDate字段的CASE语句
并创建数据集的并集,然后运行ROW_NUMBER()OVER(位置按OVER BY StartDate,EndDate)以尝试在连接这些表时滤除错误的行。
编辑:抱歉,我应该添加,这是问题的最小示例。我正在看的示例将有6-12列。因此,该解决方案将需要可扩展。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)