我有一個用於填充另一個輸入控件的幾個輸入控件的報告。忽略多選輸入控件的空值?
我的輸入控件:
- GPI - 具有產品代碼的多選擇輸入控制。該參數是一個集合。
- NAME_LOOKUP - 用戶可以輸入產品名稱的單值文本框。該參數是一個字符串。
- NDC - 什麼是GPI和NAME_LOOKUP輸入,用於獲取基於價值觀的藥品代碼列表。
用於填充NDC查詢有這個WHERE子句:
WHERE (
REGEXP_LIKE(DESCRIPTION, $P{name_lookup}, 'i')
OR REGEXP_LIKE(NDC, $P{name_lookup}, 'i')
)
OR ($X{IN, GPI, gpi})
它的工作原理爲$X
語法設計 - 如果用戶不選擇GPI值從列表中,我的NDC輸入控件顯示所有藥物代碼。但是,我只想在從GPI輸入控件中實際選擇一個值時顯示藥物代碼。
當我嘗試
WHERE (
REGEXP_LIKE(DESCRIPTION, $P{name_lookup}, 'i')
OR REGEXP_LIKE(NDC, $P{name_lookup}, 'i')
)
OR ($X{IN, GPI, gpi} AND $P{gpi} IS NOT NULL)
我得到JasperReports的服務器爲NDC輸入控制無效列類型。
當我嘗試
WHERE (
REGEXP_LIKE(DESCRIPTION, $P{name_lookup}, 'i')
OR REGEXP_LIKE(NDC, $P{name_lookup}, 'i')
)
OR ($X{IN, GPI, gpi} AND $P!{gpi} IS NOT NULL)
我得到一個丟失的表達錯誤。
什麼我可以做的NDC輸入控制的結果限制爲僅選擇GPI,而不是所有的結果嗎?