SQL Server - 定义早期

时间:2017-03-20 01:54:23

标签: sql-server

我有来自多个地点的数千个每日报告电子表格,其中包括当天工作的每个工作人员的列表。不幸的是,报告不容易从文件名或创建日期按时间顺序排序。我将使用.Net用数据填充SQL Server表。

我的目标是能够制作一份看起来像这样的报告,显示每个人工作的2周(可能更多或更少):

'Worker 1' 'Location A'  2016-04-05 to 2016-04-19
'Worker 2' 'Location A'  2016-04-19 to 2016-05-03
'Worker 2' 'Location B'  2017-01-01 to 2017-01-14
'Worker 2' 'Location A'  2017-02-01 to 2017-02-14

不幸的是,在处理每个报告时,我所知道的就是当天所在的人员的位置和人员名单。所以,我不知道一个人是否已经完成了他们的2周。

我的问题是 - 存储数据以便进行分析的最佳结构是什么?

我想到了每个位置和工作人员的1条记录,包括开始日期和时间。结束数据,但是如果工人1在位置A工作2周,休息2周并回到同一地点,这将无法工作,因为我希望在我的报告中将其作为2个工作段提交。

我还考虑每个位置每天1条记录,每个工人有1个字段,但随着工作人员的到来,这会变得混乱。出租。

我还考虑每个位置每位工作人员1条记录,每天1个字段,但我已经有3年的报告,因此字段数量会变得笨拙。

有没有一种很好的方法来记录初始数据,以便能够提取,因为我想要进行分析?或者我应该只是预先处理每日报告,以确保按照时间顺序处理它们,然后再将它们写入表格中?

0 个答案:

没有答案