2016-09-14 99 views
0

我有一个SAS7BDAT文件的目录 - 其中约300个需要将它们导入到SQL Server表中。不幸的是,日期字段不是数据集的一部分,而是在文件名中。所以我需要解析文件名,获取日期并在导入时附加到每个数据集。将SAS7BDAT文件的目录导入到SQL Server中

SSIS是一个很好的候选人吗?如果是这样,我使用For-each循环来做到这一点吗?我如何解析文件名并追加日期?

对于单个文件,我可以轻松使用SQL Server Management Studio并导入它。我也可以为此练习做同样的事情,然后处理加载到决赛桌的日期,但我希望有一个更清洁的解决方案。

是否有任何其他的后端处理方式没有安装SAS? Python或其他?

TIA

+0

您根本无法使用SAS? SSIS没有导入SAS数据集AFAIK的机制,并且有Python包,但它们可能有问题。如果你有SAS,你可以直接连接到SQL服务器并上传表格。 – Reeza

+0

http://stackoverflow.com/questions/1429187/can-you-use-a-sas-dataset-as-a-ssis-data-source不是一个重复,但相关 – Joe

+0

你在你的网站使用CozyRoc?他们有一个.sas7bdat扩展名,我相信... – Joe

回答

0

[解决]

碰到其中提到的r SAS7BDAT库的制品。 因此,使用它,我可以使用“ldply”成功地将所有文件与文件名一起加载到R列表中。

经过一些数据框操作后,我可以使用SQLSave将所有文件加载到SQL Server中。

这些文件的大小非常小。所以,表现并不是什么大问题,尽管我怀疑它可能适合大量使用。

+0

您能够以某种方式验证数据的准确性吗? – Reeza

+0

是@Reeza -once加载到表中,我确认了每个月的计数。数据是这样的,他们应该是相同的或随着年的进展,这是我发现的增加。也是公平的,数据本身非常简单。只有4列 - 3个数字和1个字符。没有涉及的日期。我猜测日期和柱子基数较大的更复杂的数据,在最终加载后我会看到一些异常情况。 – Bee