繁体   English   中英

ssis ETL导入Excel

[英]ssis ETL dates into Excel

我正在使用SSIS ETL(我是新手),并尝试从SQL Server表中以“ 08/03/2013 00:00:00”格式将日期提取到Excel 2013文件中。 我需要Excel中的日期格式为“ dd / mm / yyyy”,它们必须保留为日期,以便保留层次结构。 即,当您在列上执行自动过滤时,您可以看到日期组。 数据列中也有一些空条目。

我在ETL脚本中尝试过的事情:-1)从SQL表直接转换为Excel文件-结果“ 2013-03-08 00:00:00”,yyyy / mm / dd ss:ss:ss没有层次结构。 我尝试更改Excel列格式,但是无论我选择什么日期都保持不变。 2)然后,我向ETL添加了日期转换,以将SQL日期更改为DT_DATE-结果“ 3/8/2013”​​,m / d / yyyy,无层次结构。 3)然后我尝试了日期转换,将SQL日期更改为DTW_STR-结果“ 2013/03/08 00:00:00”,yyyy / mm / dd ss:ss:ss无层次结构。 4)然后,我尝试了将各种ETL转换为字符串,但是Excel没有将其识别为日期,因此没有层次结构。

我无法将用户“重新教育”为新的日期格式“ yyyy / mm / dd”。我不是一个强力的编码器,因此,如果可能的话,我宁愿在ETL中执行此操作。

因此,总结一下我需要的内容是Excel中的日期是可以按dd / mm / yyyy格式分组的实际日期。

我相信应该做的是尝试使用派生的列转换。

派生的列名称: newDate

派生列:替换'originalDate'

表达式: RIGHT("0" + (DT_WSTR, 2)DATEPART("dd", [originalDate]), 2) + "/" + RIGHT("0" + (DT_WSTR, 2) DATEPART("mm", [originalDate]), 2) + "/" + (DT_WSTR, 4)DATEPART("yyyy", [originalDate])

这将占用每个部分并将其转换为字符串格式,以便我们可以将它们重新连接回所需的格式。 如果excel无法识别,则可能需要将所有内容括在括号中,然后将其转换回日期格式。 (DT_DATE)(...)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM