我正在为一个HRIS项目导入一个.CSV文件,该文件将报告新招聘和终止。我有一份报告显示了以下日期。
|PersNo|Name|EntryDate|TermDate|
我想把日期分开,这样有任期日期的人就可以进入一个数据库,而有新员工日期的人则可以进入另一个数据库。
我认为条件分割是答案,但它似乎不起作用。我设定了这样的条件:
|1|EntryDate == EntryDate|
|2|TermDate == TermDate|
我也想过一个慢慢变化的维度。创建一个包含所有员工信息的员工表,该表将引用雇佣/解雇报告中的信息,并将期限日期添加到任何有期限日期的员工(使用员工编号作为关系)。
欢迎任何关于我应该如何发展的想法。
您可以检查条件中是否存在null。例如,ISNULL([TermDate]) == FALSE
可能指示要发送到终止目的地的行。
另一件需要考虑的事情是,一名员工可能有多个雇佣和终止日期,而根据您的要求,一份记录可能无法提供完整准确的报告。
有两种方法可以解决这个问题。明确假设雇佣日期是最新的雇佣日期,终止日期是最晚的终止日期,并假设如果最新的雇用日期在最新的终止日期之后,则员工仍在工作。
更好的选择是为每个员工保存一堆有效的日期记录,显示一段时间内的每笔交易。使用这种方法,您可以更好地进行历史比较。为了更精细,您可以考虑添加一个递增的有效序列来在同一天记录多个事务(就像PeopleSoft所做的那样)。