gpt4 book ai didi

sql-server - SQL Server BIDS、SSIS 聚合和分组依据

转载 作者:行者123 更新时间:2023-12-02 04:40:54 27 4
gpt4 key购买 nike

我有一个 employee 表,其中包含 employee_idnameworking_division,其中 employee_id 是主键。我有一个 Excel 源,其中包含这些列以及更多内容,其中员工输入了他们的工作时间、他们所做的工作类型、该工作属于公司的哪个部门等等。

因此,对于任何一天的员工,我都可以有多行显示他们的工作类型、他们工作的部门以及他们在该部门的收费时间。

如何将其放入以 employee_id 为主键的 OLE DB 中?

我尝试使用聚合转换按 employee_id 进行分组,但是 employee_idworking_divisions 不是一对一的。因此,对这两列进行分组操作将尝试将相同的 employee_id 插入到 employee 表中(employee_id 是主键) !)如果我不包含聚合转换的 working_division,那么我就会丢失数据。

如何按 employee_id 对数据进行分组,同时仍保留该行的所有其他列?

感谢您的帮助!

最佳答案

I need the employee_id to be the PK. Basically I have a very large unorganized data source, and I am breaking it apart into 4 to 5 separate tables to fit my model so I can make sense of the data with some data mining algorithms

好的,那么为什么不将 employee_idworking_division 拆分为两个单独的表呢?第二个表应该保留与员工表的 FK(因此一对多)。

在 SSIS 包中,您可以添加 Multicast组件,位于 employee_id 上的聚合之后,以便将数据源拆分到 2 个目标表中。

我认为,如果不修改目标模型,您将无法实现您想要的目标。它基本上违反了RDBMS的规则。即使在普通 SQL 中也无法完成您所讨论的分组并产生正确的结果。

注意:如果您担心修改目标数据模型,那么也许您可以像我之前提到的那样对其进行规范化,然后通过 View 将其反规范化。您甚至可以创建一个索引 View ,以加快读取速度(据我所知,索引 View 应该是可能的,因为您拥有的只是两个表之间的内部联接)。

关于sql-server - SQL Server BIDS、SSIS 聚合和分组依据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11088100/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com