Excel 與資料庫的無縫連接:數據管理的高效解決方案

善用 Trinity 元件設計,輕鬆實現 Excel 資料管理與數據轉置。

問題情景

日常統計的 Excel 報表整合至 DB,傳統方式往往耗費大量人力,需逐一開啟、調整格式,再手動貼入統一文件,才能進行資料庫寫入。Trinity 透過便利的格式設定,能自動化處理這些繁瑣步驟,大幅提升效率。只需一次設定,就能快速整合多份報表,確保資料的準確性與一致性。

解決方式

將 Excel 統計資料轉置寫入資料庫,同時將橫列資訊作為欄位,以實現歸檔的資料標準化。

參考流程

  1. 讀取: 利用 reader 元件,讀取原始 Excel 檔案。
  2. 賦值: 透過 transformer 元件,為每筆資料賦予唯一的序號與鍵值,以便後續追蹤與合併之用。
  3. 拆分: 根據序號條件,利用 router 元件將資料拆分為不同的欄位。
  4. 合併: 使用 local join 元件,根據鍵值將拆分後的資料合併,形成完整的資料結構。
  5. 寫入: 最後,透過 writer 元件將處理後的資料寫入資料庫或檔案。

參考步驟

Step 1
範例如圖1,欲將圖1第二行中的「日期」、「班次」、「組別」等三個跨欄置中的欄位,先進行行列轉換後,再輸出正規化後的資料如圖2。
Step 2
可設計作業內容如下圖。
Step 3
reader 設定全部讀取。
Step 4
transformer 設定,新增 key 欄位與 seq 欄位。
key 欄位寫入固定值 ‘key’。
seq 欄位使用 transformer 內建函數 SEQUENCE(1)。
Step 5
router 條件設定,開啟上方輸出的設定視窗,設定 seq > 3,用以取得 EXCEL 中標頭以下的資料內容。
Step 6
router 條件設定,開啟下方輸出的設定視窗,設定 seq == ‘2’,用以取得 EXCEL 中標頭列內容。(可取得 1 筆,內容含有 3 個欄位,3 個欄位依序為「日期」、「班次」、「組別」)
Step 7
local join 設定,勾選 key 欄位,根據 key 進行兩個資料源的資料關聯:
將每筆資料列,關聯上「日期」、「班次」、「組別」三個欄位值
Step 8
透過此設計,可將 EXCEL 格式中的合併儲存格(如圖 1 第二行中的「日期」、「班次」、「組別」),轉換為正規化的資料如圖2,寫入至資料庫中,為日後的數據分析奠定基礎。
透過此設計流程,可將 EXCEL 格式中的合併儲存格,轉換為正規化的資料,寫入至資料庫中,為日後的數據分析奠定基礎。