Categories
- All Categories
- 5 Oracle Analytics Sharing Center
- 11 Oracle Analytics Lounge
- 190 Oracle Analytics News
- 41 Oracle Analytics Videos
- 15.4K Oracle Analytics Forums
- 5.9K Oracle Analytics Idea Labs
- Oracle Analytics User Groups
- 65 Oracle Analytics Trainings
- 14 Oracle Analytics Data Visualizations Challenge
- Find Partners
- For Partners
Issue with multi-select filter in report

I'm developing a report and encountered a problem when trying to select items in a filter. In its current configuration, I can extract either ONE specific item or ALL items, but I can't select multiple specific items.
Here's my WHERE clause:
WHERE
xah.application_id = 707
AND xal.application_id = 707
and ccd.cost_book_id = '300000082235861'
AND ccov.cost_org_name IN (:P_FILIAL)
AND gcc.segment4 IN (:P_CONTA)
AND xah.period_name IN (:P_PERIODO)
AND (
:P_ITEM IS NULL
OR esi.item_number IN (:P_ITEM)
Does anyone know how to modify this to work for all options? (All items, one item, or multiple selected items?)
Best Answer
-
Hi @Kauan_Bohn,
Additionally, can you please try the following one?
AND ( esi.item_number IN (:P_ITEM) OR 'All' IN (:P_ITEM || 'All')
)Hope this help.
Thank you.
1
Answers
-
Hi @Kauan_Bohn,
Can you please try the following code instead of your last 'AND Condition'
AND (
esi.item_number in (:P_ITEM) IS NULL
OR esi.item_number IN (:P_ITEM)
)Hope this help.
Thank you.
0 -
Unfortunately, the error indicates a missing right parenthesis
ORA-00907: missing right parenthesis
WHERE
xah.application_id = 707
AND xal.application_id = 707
and ccd.cost_book_id = '300000082235861'
AND ccov.cost_org_name IN (:P_FILIAL)
AND gcc.segment4 IN (:P_CONTA)
AND xah.period_name IN (:P_PERIODO)
AND (esi.item_number in (:P_ITEM) IS NULL
OR esi.item_number IN (:P_ITEM)
)
AND (
(CASE
WHEN xec.name = 'WIP Resource Transaction' THEN NVL(xal.accounted_dr, 0) - NVL(xal.accounted_cr, 0)
WHEN cceb.cost_element_code = 'GGF' THEN NVL(xal.accounted_dr, 0) - NVL(xal.accounted_cr, 0)
ELSE 0
END)
+
(CASE
WHEN xec.name = 'WIP Material Transaction' THEN NVL(xal.accounted_dr, 0) - NVL(xal.accounted_cr, 0)
WHEN cceb.cost_element_code = 'MATERIAL' THEN NVL(xal.accounted_dr, 0) - NVL(xal.accounted_cr, 0)
ELSE 0
END)
) != 00 -
Hi @Kauan_Bohn,
Can you please share your data model here so that we can try to replicate the issue in our instance.
Thank you.
0 -
That works for me. Thank you very much for your help.
Best regards,
Kauan Bohn0 -
In past we had success for multi select parameters (also exceeding 1000 values), using similar to below.
in parameter options, choose multiple selection, can select all, NULL value passed
AND ((esi.item_number = (COALESCE(null, :P_ITEM, esi.item_number))) or (esi.item_number in (:P_ITEM)))
^^give this a try, we use similar for project number in multi-select parameter
AND ((PRJ.segment1 = (COALESCE(null, :P_PROJECT_NUM, prj.segment1))) or (prj.segment1 in (:P_PROJECT_NUM)))
^^^this is the code in data model we use, and parameter/lov setup like below.
0