SSIS 动态 Excel 列标题



我在使用 SSIS 时遇到问题,希望有人可以帮助我。我是这个Microsoft软件的新手,我被要求从具有 13 周功能的 Excel 计划文件中导入数据。因此,数据在Excel文件中显示如下:

Person id | Person age| School activity | Activity leader| 18-06-2012 | 25-06-2012 | ..(more weeks)
1452      | 14        | Painting        | John Smith     | 2          | 6          | ...

其中 2 和 6 表示每周在此活动上花费的小时数。

虽然,人员

ID,人员年龄,学校活动和活动负责人是此excel文件中的静态列标题,但周列标题在文件之间更改时。

因此,我不知道如何将这样的数据文件导入我的数据库,因为我遇到了从一个文件到另一个文件的映射问题。

我希望将数据作为每周列的单独行放入数据库中,因此我使用非透视转换来实现这一点。 我想要的是能够导入数据,而不管列标题如何。

如果数据可以作为 CSV 提供,则可以使用平面文件源,然后跳过标题行,只要始终存在具有相同、可预测格式的相同数量的列。

您在讨论中提到,您将使用非透视转换将数据转换为单独的行,因此您知道如何执行其余工作。

我最近不得不解决这个问题。我发现的最大问题是带有 Excel 的 SSIS 需要一组静态列。

因此,我获取了一组文件,并为每个文件构建了类似的数据流(仅在列不同的地方有所不同)。然后,我使用文件枚举器放置一个控制流来选取所有文件,并根据文件名决定要使用的数据流。

它并不优雅 - 但它工作得很好。

最新更新