You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过OLE DB Source将Excel Sheet A的日期字段添加到Sheet B中?

解决方案

问题根源

UNION ALL是用来纵向合并结构一致的数据集,你的需求是给Sheet B每行添加Sheet A的单个日期,属于横向关联,用UNION ALL逻辑完全不对,所以没效果。

方法1:OLE DB Source直接写SQL(最简单)

针对Sheet B的数据源,直接用SQL交叉连接Sheet A的I6单元格:

如果Sheet A的I6所在区域有列名Date:

SELECT 
    B.Name,
    B.[phone number],
    A.Date
FROM 
    [Sheet B$] B,
    [Sheet A$I6:I6] A

如果没有列名,用默认列名F1:

SELECT 
    B.Name,
    B.[phone number],
    A.F1 AS Date
FROM 
    [Sheet B$] B,
    [Sheet A$I6:I6] A

交叉连接会自动把Sheet A的单个日期匹配到Sheet B的每一行,正好符合需求。

方法2:SSIS变量+派生列(适合动态日期场景)

  1. 新建SSIS变量@RegistrationDate,类型设为DateTime。
  2. 添加一个执行SQL任务,连接到Sheet A数据源,执行查询获取I6日期:
    SELECT F1 FROM [Sheet A$I6:I6]
    
    结果集选“单行”,把返回值映射到@RegistrationDate。
  3. 在Sheet B的数据流后添加派生列转换,新增Date列,表达式填入@[User::RegistrationDate],每行都会填充这个日期。

最终结果

执行后得到的数据集如下:

Namephone numberDate
Adam1233456782012-09-01
David1233456782012-09-01
Mary1233456782012-09-01

内容的提问来源于stack exchange,提问作者DataRookie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 14:05:13