Cod*_*lus 3 sql-server ssis group-by aggregate bids
我有一个employee表,带有employee_id,name和working_division,其中employee_id是主键.我有一个包含这些列的Excel源代码,以及员工输入工作时间的更多信息,以及他们所做的工作类型,公司的划分等等.
因此,对于任何一天,一个员工我可以有多行显示他们的工作类型,他们工作的部门,以及他们对该部门的收费时间.
如何将其插入到employee_id主键中的OLE DB中?
我试图使用聚合转换来分组employee_id,但是employee_id并且working_divisions不是一对一的.因此,对这两列的操作组将尝试将相同的内容employee_id插入employee表中(这employee_id是主键!)如果我不包括working_division聚合转换,那么我将丢失数据.
如何通过分组我的数据employee_id,并保留该行的所有其他列?
感谢您的帮助!
我需要employee_id成为PK.基本上我有一个非常大的无组织数据源,我将它分成4到5个单独的表来适应我的模型,这样我就可以通过一些数据挖掘算法来理解数据
好的,那你为什么不拆分employee_id并分成working_division两个单独的表?第二个表应该将FK保留到employee表(所以一对多).
然后,在SSIS包中,您可以在Aggregate on 之后添加Multicast组件,employee_id以便在2个目标表中拆分数据源.
我认为如果不对目标模型进行修改,您将无法实现您想要的目标.它基本上违反了RDBMS的规则.您正在谈论的分组即使在纯SQL中也无法完成并产生正确的结果.
注意:如果您担心修改目标数据模型,那么也许您可以像我之前提到的那样对其进行规范化,然后通过视图对其进行反规范化.你甚至可以创建一个索引视图,以便在读取时加快速度(据我所知,索引视图应该是可能的,因为你所拥有的只是两个表之间的内部连接).