我有一个数据集(DATASET1),列出所有员工的部门ID,他们开始的日期和他们被终止的日期。SQL - 建立一个包含日历日粒度的事实表
我希望我的查询返回一个数据集,其中每一行代表每个员工留任的日期,以及工作天数(从开始到最新)。
我该如何查询?感谢您的帮助,提前。
dataSet1的
DeptID EmployeeID StartDate EndDate
--------------------------------------------
001 123 20100101 20120101
001 124 20100505 20130101
DATASET2
DeptID EmployeeID Date #ofDaysWorked
--------------------------------------------
001 123 20100101 1
001 123 20100102 2
001 123 20100103 3
001 123 20100104 4
.... .... ........ ...
EIDT:我的目标是建立这将被用来在SSAS推导措施的事实表。我正在制定的措施是“平均就业时间”。度量将部署在仪表板中,用户将能够选择日历时间段并深入到月,周和日。这就是为什么我需要从这么大的数据集开始。也许我可以通过使用MDX查询来完成这个目标,但是如何实现?
这是可能的,但不太可能有用 - 您的最终目标是什么?我希望有一个更简单的方法到达那里。 – Hogan
为什么你想要返回所有的数据?如果雇员已经工作了10年,您将返回3652行。你应该在代码中迭代。 –
“StartDate”和“EndDate”列的数据类型是什么? 'CHAR/VARCHAR(6)'或'DATE'? DATE'或DATETIME'会更容易与... – Bryan