Data Item Navigation Use Cases.

Example 1:

Drill to Level "[CARS].[COLOR]"

MDX Generated:

> WITH SET [DATAITEM_DTE] AS '[DATE].[DTE].MEMBERS'

> SET [DATAITEM_CAR] AS '[CARS].[COLOR].MEMBERS'

> MEMBER [Measures].[SALES_SUM] AS '[Measures].[SALES_SUM]'

> SELECT CROSSJOIN({[DATAITEM_DTE]}, {[DATAITEM_CAR]}) ON ROWS, {[Measures].[SALES_SUM]} ON COLUMNS FROM MDDBCARS

Sample Code to use:

> DataItemNavigationFilter step = new DataItemNavigationFilter(DataItemNavigationFilter.LEVEL_NAVIGATION_FILTER_TYPE, "[CARS]", "[COLOR]");

> step.setActionType(StepFilterInterface.INITIAL_ACTION_TYPE);

> dataItem.addStep(step); << where dataItem is CARS dimension

Example 2:

Testing Drill Down to [CARS]

MDX Generated:

> WITH SET [DATAITEM_DTE] AS '[DATE].[DTE].MEMBERS'

> SET [DATAITEM_CAR] AS '[CARS].CHILDREN'

> MEMBER [Measures].[SALES_SUM] AS '[Measures].[SALES_SUM]'

> SELECT CROSSJOIN({[DATAITEM_DTE]}, {[DATAITEM_CAR]}) ON ROWS, {[Measures].[SALES_SUM]} ON COLUMNS FROM MDDBCARS

Sample Code to use:

> DataItemNavigationFilter step = new DataItemNavigationFilter(DataItemNavigationFilter.CHILDREN_NAVIGATION_FILTER_TYPE, "[CARS]");

> step.setActionType(StepFilterInterface.INITIAL_ACTION_TYPE);

> dataItem.addStep(step); <<== where dataItem is CARS dimension

Example 3:

Testing Drill Up from [CARS].[All Cars].[Chevy]

MDX Generated:

> WITH SET [DATAITEM_DTE] AS '[DATE].[DTE].MEMBERS'

> SET [DATAITEM_CAR] AS '[CARS].[All Cars].[Chevy].PARENT.LEVEL.MEMBERS'

> MEMBER [Measures].[SALES_SUM] AS '[Measures].[SALES_SUM]'

> SELECT CROSSJOIN({[DATAITEM_DTE]}, {[DATAITEM_CAR]}) ON ROWS, {[Measures].[SALES_SUM]} ON COLUMNS FROM MDDBCARS

Sample Code to use:

> DataItemNavigationFilter step = new DataItemNavigationFilter(DataItemNavigationFilter.PARENT_LEVEL_NAVIGATION_FILTER_TYPE, "[CARS].[All Cars].[Chevy]");

> step.setActionType(StepFilterInterface.INITIAL_ACTION_TYPE);

> dataItem.addStep(step); <<== where dataItem is CARS dimension