2016-09-19 72 views
1

我剛開始學習pentaho勺子步驟,並解決一個問題有一個問題。我需要從xls文件轉換數據並將其轉換爲數據庫。問題是,我的輸入文件看起來像這樣:table-description如何通過從Pentaho勺子的xls文件輸入中獲取數據來使用附加條件?

而且我無法找到如何解決兩個問題:

  1. 對於我下一步我需要保存不僅表本身(範圍A8 :D11),也是日期(單元格A5)。當我嘗試使用Microsoft Excel輸入在pentaho中執行此操作時 - 只有當我選擇A8單元格作爲起始行時,它才起作用,但日期未保存。

  2. 在Microsoft Excel中輸入 - 步驟我必須始終以生成一個表,並在接下來的步驟用它選擇開始行。我必須手動完成,我的意思是說我的桌子從A8單元開始。在我的情況下,我不能總是確定表格是從A8單元開始的。我知道,起始單元格是該單元格,它位於A列中,並具有值=「日期」。 Microsoft Excel輸入 - 步驟將是我的水壺中的第一步,因爲我必須獲取數據並更改它們。這就是爲什麼我認爲我不能在Java Script之前使用。

我還沒有找到這兩個問題的解決方案,我不知道是否有可能做到這一點。我會很感激任何幫助。

回答

0

我不知道你是什麼意思轉換Excel文件到數據庫的意思,但如果你可以將XLS轉換成CSV和讀取該文件,那麼你知道從哪一行,你需要對數據進行篩選。基本上,您可以使用簡單的過濾器步驟在與列名匹配時過濾數據。我希望這將有所幫助。

0
  1. 使用兩個Microsoft Excel輸入步驟。一步讀取表格(A8:D11)。另一步是讀取日期(A5)。然後用加入行(笛卡爾乘積)步

  2. 閱讀一切合並這兩個流,例如。然後使用帶有兩個腳本選項卡的Javascript步驟。對於其中一個選項卡:右鍵單擊並選擇Set start script。代碼:var start = 0;其他選項卡應保存爲轉換腳本。僞代碼:if(FieldA equals "Date") {start = 1;}。現在您將在流中添加一個名爲start的附加字段。如果start等於0,那麼你知道你的表格數據還沒有開始,你可以過濾掉這一行。

相關問題