导入平面文件并创建报表 sql server

Posted

技术标签:

【中文标题】导入平面文件并创建报表 sql server【英文标题】:Importing flat file and Creating reports sql server 【发布时间】:2016-06-10 20:00:52 【问题描述】:

我有一个粗糙的右侧平面文件,它有 168 列。 我每天都会得到这种类型的平面文件,需要创建各种报告并将这些报告发送到我公司的各个部门。 我的任务是将这个平面文件加载到 sql server 数据库中以进行报告。 168 列应该去 22 个不同的表,当存储在不同的表中时,它应该是正确的数据类型 任何人都可以提出一个好的流程来做到这一点。

在加载到每个表之前,我需要隐藏列。

我将从该表中创建报告。

感谢您的宝贵时间帮助!

【问题讨论】:

您的平面文件有分隔吗?如果不是,列拆分的规则是什么。文件中是否有足够的信息将数据路由到 22 个不同的表?是否有任何行转到超过 1 个表? Anjana,你给我们的细节不足以给出任何答案。您在什么基础上拆分列,当您谈论报告时,您只是提取所有数据还是您正在寻找的审计报告? 我有每列的开始和结束位置,并使用 SSIS 导入/导出向导中的不规则右侧选项将平面文件加载到 SQL 服务器中。例如,我有两个字段 EmployeNumber 和 JoinDate, 100230003/12/2012 。 EmployeeNumber 的起始位置为 1,joinDate 的起始位置为 8。基于此起始位置,我必须将 100230003/12/2012 拆分为 1002300 和 03/12/2012,这些值应分别转到 EmployeNumber 和 JoinDate 列。 可能的答案太多,或者对于这种格式来说,好的答案太长了。请添加详细信息以缩小答案范围或隔离可以在几段中回答的问题。 【参考方案1】:

我为类似类型的项目工作,这里是场景,如果它对你有帮助,我做了什么。

场景 文件在午夜通过 FTP 转储,该文件应每天处理并生成报告 [凌晨]。

解决方案 我固定了一个文件夹来每天转储文件,并设计了一个 SSIS 以导入一个大表 [我们案例中的 168 列表],即 Table ImportStaging,我还有列 dateImported 和 filename 来跟踪导入的文件和日期。 我有一个程序来填充其他表。和 s-s-rS 现场报告。

现在我设计了一个 SQL 作业,

第 1 步:使用 SSIS 包导入

第 2 步:将导入的文件移动到 FileDumpYard 驱动器的 SSIS 包

第 3 步:Exec proc --[填充到适当的表中并生成摘要]

并将这项工作安排在清晨。 就是这样

我的报告在我下床之前就准备好了 :)

【讨论】:

以上是关于导入平面文件并创建报表 sql server的主要内容,如果未能解决你的问题,请参考以下文章

如何将 UTF-8 平面文件导入 SQL Server 2008 R2?

使用SSIS从SQL Server 2005中的平面文件导入时如何保留NULL值

如何使用 bcp 从平面文件创建格式文件

在 SQL Server 商业智能中,为啥要从 OLAP 多维数据集创建报表模型?

sql server怎么导入数据库

如何把csv文件导入到sql数据库