If you have custom expression in TIBCO Spotfire visualizations while using Oracle Essbase in-database connection (external data), the custom expression may not respond to multiple values selected in filter selection.
For example, below is the cross table visualization showing Sales, Cost Price and Profit (Sales - Cost Price = Profit) with all values selected in Product filter. Note that data is external from Oracle Essbase and not imported in TIBCO Spotfire and Profit is built using a custom expression. The Oracle Essbase in-database connection supports only basic operations like +, -, /, * and all four result in same behavior.
Now, if you select Product = Fruit Soda in filter, you will see correct values as seen below:
Now, select more than one value in Product filter, you will see the Profit column does not correct data instead it shows the data seen when all values are selected in filter
The MDX query generated will be of this format:
WITH MEMBER [Measures].[__Sales__] AS 'AGGREGATE({[400], [Diet]}, [Sales])', SOLVE_ORDER=255 MEMBER [Measures].[__Profit__] AS 'AGGREGATE({[400], [Diet]}, [Profit])', SOLVE_ORDER=255 MEMBER [Measures].[Column_1_5] AS 'IIF(ISEMPTY([Measures].[__Sales__]) AND ISEMPTY([Measures].[__Profit__]), {}.ITEM(0), ([Sales]) - ([Profit]))', SOLVE_ORDER=255 SELECT {[Measures].[__Sales__], [Measures].[__Profit__], [Measures].[Column_1_5]} DIMENSION PROPERTIES GEN_NUMBER, ANCESTOR_NAMES ON 0, NON EMPTY HIERARCHIZE(DISTINCT([Quarter].MEMBERS)) DIMENSION PROPERTIES GEN_NUMBER, ANCESTOR_NAMES ON 1 FROM [DxpDemo].[BasicDB]