2014-09-03 149 views
1

中的組件,以便我們正在與Pentaho CDE合作創建儀表板。 起初它工作正常,但現在我們掛在添加多個Select Component的點上。 我們將選擇組件的參數插入到Where語句中的SQL查詢中,但現在我們遇到了問題,即無法選擇一個選擇組件中的所有元素,而只能選擇其中一個。隨着我們添加的參數越多,示例空間越來越小,因爲我們無法找到如何在一個選擇組件中選擇所有選項並將其全部發送到查詢。 是否可以在CDE中向選擇組件添加「選擇所有元素選項」?或甚至停用選擇組件並將此停用發送到SQL查詢?如何添加一個選擇全部選項來選擇CDE

我們注意到有一個多選組件,但我們無法處理它所需的自定義參數。 如果它與選定的組件一起工作就會好。

在此先感謝您的支持。

回答

0

兩種方法:

  1. 在您選擇單查詢添加(可能是硬編碼)一個「全部」選項,並有一些JS邏輯學會如何處理它;使用多選組件。但是,請記住,多選組件上的參數值以javascript形式存儲爲數組,而參數值將作爲逗號分隔列表傳遞給查詢。所以,如果你想在SQL查詢中使用多選參數,你很可能會在IN條件下使用它。

最後,檢查您的pentaho.log文件。錯誤和異常將記錄在那裏。

1

使用SQL表達式CASE:

SELECT * FROM表WHERE 城市,如(情況下,當$ {城市} = 'ALL',那麼 '%' ELSE $ {城市}結束)

0

如果你不想使用喜歡。

SELECT * from table_name where column_name = case when ${param} = 'ALL' then column_name else ${param} end 
相關問題