簡體   English   中英

如何通過Pentaho勺子中的xls文件輸入獲取數據來使用其他條件?

[英]How can I use an additional condition by getting data from xls-file input in Pentaho spoon?

我剛剛開始學習pentaho勺子步驟,並解決一個問題有一個問題。 我需要從xls-file轉換數據並將其轉換為數據庫。 問題是我的輸入文件如下所示: table-description

我找不到如何解決兩個問題:

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

  2. 在Microsoft Excel輸入中 - 步驟I必須始終選擇一個起始行以生成表並在后續步驟中使用它。 我必須手動完成,我的意思是說我的桌子從A8-cell開始。 在我的情況下,我不能總是確定該表從A8-cell開始。 我知道,起始單元格就是那個單元格,它位於A-Column中,其值為“Date”。 Microsoft Excel輸入 - 步驟將是我的水壺的第一步,因為我必須獲取數據並更改它們。 這就是為什么我認為我不能在Java Script之前使用它。

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

我不確定將excel文件轉換為數據庫是什么意思但是如果你可以將xls轉換為csv並讀取該文件,那么你就知道需要從哪一行過濾數據。 基本上,您可以使用簡單的過濾步驟在匹配列名稱時過濾數據。 我希望這將有所幫助。

  1. 使用兩個Microsoft Excel輸入步驟。 一步讀取表格(A8:D11)。 另一步讀取日期(A5)。 然后合並兩個流,例如使用Join Rows(笛卡爾積)步驟

  2. 讀一切。 然后使用帶有兩個腳本選項卡的Javascript步驟。 對於其中一個選項卡:右鍵單擊並選擇“設置啟動腳本”。 代碼: var start = 0; 另一個選項卡應保留為轉換腳本。 偽代碼: if(FieldA equals "Date") {start = 1;} 現在,您將在流中有一個名為start的附加字段。 如果start等於0,那么您知道表格數據尚未開始,您可以過濾掉該行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM