从 Unpivot Transform:SSIS 的结果中选择

Posted

技术标签:

【中文标题】从 Unpivot Transform:SSIS 的结果中选择【英文标题】:Select from the Results of Unpivot Transform:SSIS 【发布时间】:2017-11-20 18:13:04 【问题描述】:

我有一个包含一些列的 excel 文件,如下所示。

我将它用作 SSIS 包中的 Excel 源。 我使用 Unpivot Transform 对 2012、2013 和 2014 列进行了 Unpivot,其结果看起来像

如何将此 Unpivot 转换的输出从其数据流中发送出去并在其上执行 SQL 任务,或者将其发送到同一包中的另一个数据流以进行各种转换?我不想使用将 Unpivot Transform 的输出写入 OLEDB Destination 然后读回它们的选项。

提前致谢。

【问题讨论】:

【参考方案1】:

如果您需要对 Excel 数据执行 SQL 查询,可以在 DataFlow 任务中使用OLEDB Command transformation 执行此操作(OLE DB 命令转换为数据流中的每一行运行一条 SQL 语句。 )

或者您可以使用RecordSet Destination 将数据存储在内存表(表变量)中并在数据流任务之外使用

您可以点击以下链接了解更多信息:

SSIS OLE DB Command Transformation Microsoft Docs - OLE DB Command Transformation Use a Recordset Destination

【讨论】:

以上是关于从 Unpivot Transform:SSIS 的结果中选择的主要内容,如果未能解决你的问题,请参考以下文章

使用 UNPIVOT 将代码从 sql 重写为 redshift

从 sql 表中进行复杂的 unpivot

如何从 TSQL UNPIVOT 中过滤值?

UnPivot 多列 MSSQLServer

交叉应用与 UNPIVOT

oracle unpivot 多列到多列