2016-09-14 64 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