Business Query DataBased Filter Use Cases
A data based filter is applied to create a set of the cross join of both DATE and CARS that is the fact that the value in [Measures].[Sales_Sum] is greater than 20000.
MDX Generated:
WITH SET [&1DTE] AS '.[DTE].MEMBERS'
SET [&1CARS] AS '[CARS].[CAR].MEMBERS'
MEMBER [Measures].[&1SALES_SUM] AS '[Measures].[SALES_SUM]'
SELECT FILTER(CROSSJOIN({[&1DTE]}, {[&1CARS]}), [Measures].[SALES_SUM] > 20000) on rows, {[Measures].[&1SALES_SUM]} ON COLUMNS FROM MDDBCARS
Sample Code to use:
int val = 20000;
Integer vall = new Integer(val);
Object value = (Object) vall;
List measuresNames = new ArrayList();
measuresNames.add(dataItem); <<=== DataItem being SALES_SUM
ComparisonOperator operator = ComparisonOperator.COMPARE_GT;
DataSelection dataSelection = DataSelectionFactory.newDataSelection(Map);
BusinessQueryDataBasedFilter step = new BusinessQueryDataBasedFilter(measuresNames, operator, value, );