Data Item Navigation Use Cases.

Example 1:

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

MDX Generated:

WITH SET [DATAITEM_DTE] AS '.[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 '.[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 '.[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