1. 概述
1.1 應用場景
某國有企業旗下有 100 多家分公司,子公司財務每月需要向總部提交各種財務預算和決算表,如資產負債表、利潤表、現金流量表等資料表。總部財務需要手動對相同類型的財務報表進行資料匯總,並將其整理後向領導做出統一匯報。
現存問題:
總部財務手動匯總資料耗時較長,效率低下。
匯總的資料出問題,異常資料無法快速追蹤。
本文提供方案,可自動化讀取相同類型的檔案,為企業降本增效。
1.2 實現思路
4.0.24 及之後版本,「檔案輸入」算子支援讀取同格式的 Excel 和 CSV 檔案。
1.3 任務展示
FineDataLink 中的資料處理程式,詳情參見:https://demo.finedatalink.com/ 「資料轉換-檔案輸入」。

2. 前提條件
1)本文範例步驟適用於 4.0.24 及之後版本。
2)本文方案是使用「檔案輸入」算子實現的,「檔案輸入」算子批量讀取檔案相當於一次性將所有檔案資料上下合併。若使用者需要循環多次讀取檔案資料,每次讀取檔案後對檔案資料進行處理,可參考:循环多次读取Linux环境文件同步数据、循環多次讀取Windows環境檔案同步資料
3)需要滿足條件:資料夾中的 Excel 檔案需要欄位名相同;資料夾中的 CSV 檔案需要分隔符相同。
注:Excel 需要支援滿足的版本為 97~ 最新版本
本文範例主要是透過「檔案輸入」算子實現的,檔案輸入算子的功能說明請參見:檔案輸入功能說明
3. 操作步驟
本文範例是從 FineDataLink 伺服器上,批量讀取 CSV 檔案資料並匯總到資料庫表中。
注:本文方案支援從 FineDataLink 伺服器本地和 FTP/SFTP 伺服器上讀取 Excel 和 CSV 檔案資料。
3.1 場景模擬
某公司每月會定時上傳檔案到 csv 資料夾中,這些檔案資料最終定時手工匯總到資料庫中的某張表中,存在效率低下和容易出錯的問題。
本文範例中,csv 資料夾包含兩個 csv 檔案。檔案資料如下圖所示:

3.2 準備工作
1)在 /data/demo_FR/webroot/WEB-INF/assets/local_files 目錄下建立 test 資料夾,每月將需要掃描的檔案上傳到 test 資料夾中。如下圖所示:

注:由於要 建立伺服器本地目錄資料連結,從 FineDataLink 本地伺服器上讀取 CSV/Excel 檔案資料,所以存放待掃描檔案的資料夾需要在%FDL_HOME%/webroot/WEB-INF/assets/local_files 下。
2)建立一個伺服器本地目錄資料連結,伺服器本地目錄選擇存放 test 資料夾的路徑。

3.3 讀取資料夾中資料
1)建立定時任務,新增「資料轉換」節點,進入「資料轉換」節點內。
2)新增「檔案輸入」算子,讀取 FDL 工程中的 test 資料夾,其他設定項預設即可。如下圖所示:
注:檔案輸入算子的各個設定項說明請參見:檔案輸入功能說明

3)點選「資料預覽」,可看到 test 資料夾中的檔案已被讀取。如下圖所示:

3.4 匯出資料
1)新增「DB表匯出」算子,將讀取到的資料匯總到資料庫表中。如下圖所示:

2)寫入方式選擇「清空目標表,再寫入資料」,將全部資料寫入到目標表中。
3)運作任務。
4)可點選「發佈」按鈕,將任務發佈到「生產模式」下。

3.5 設定排程管理
每月末匯總一次資料。如下圖所示:

3.6 結果展示
summary 表資料如下圖所示:

