Skip to Content
0
Former Member
Aug 15, 2016 at 05:23 AM

CrossTab Navigation/DrillDown with Dimension object not working

261 Views

Hi All,

Initial Problem: I am having a Cross tab with few rows and columns ( 1 Dimension and 5 Measures), and Dropdown box, Filtering crosstab based on dropbox value. used the below code for DrillDown navigation. My issue is, when user clicking on Dimension object in the Cross tab, its working fine, but when user clicking on any key figure/measure value its giving all values irrespective of dropdown selection (SetFilter value of dropdown)

Requirement: Giving the ability to drill down few levels (Drill down functionality like drill/navigation in Webi report)

Example Drill down Hierarchy: Country-->State-->City-->Store

Used the following methods to achieve drill down functionality: SetFilter, RemoveDimension, MoveDimensionToRows

Procedure followed:

  1. Added Country Dimension and few measures to the initial view, and added to crosstab.
  2. Created a dropdown box and assigned Country Dimension to it.
  3. created a global variable “level” assigned a default value “Country”
  4. Changed Selection type to “Single” in the User Interactivity panel of Cross tab.
  5. Use the below code in the On Select of CrossTab

if (level == "Country " ) {

level = "State";

DS_1.setFilter("0COUNTRY", CROSSTAB_1.getSelectedMember("0COUNTRY"));

DS_1.removeDimension("0COUNTRY");

DS_1.moveDimensionToRows("0STATE");

}

else if (level == "State" ) {

level = "City";

DS_1.setFilter("0STATE", CROSSTAB_1.getSelectedMember("0STATE"));

DS_1.removeDimension("0STATE");

DS_1.moveDimensionToRows("0CITY");

}

Else{ if (level == "City" ) {

level = "Store";

DS_1.setFilter("0CITY ", CROSSTAB_1.getSelectedMember("0CITY "));

DS_1.removeDimension("0CITY ");

DS_1.moveDimensionToRows("0STORE");

}

}

Code Works like this: Initially created a global variable “Level” and its default value is “Country”. By using IF condition I am reassigning/changing the values based on drill down to the variable. And using Setfilter to filter the data source, and RemoveDimension and MoveDimensionRows methods to add the respective dimension to the cross tab.


My main issue here is, When user clicking on the dimension its drilling down to the next level, but when user clicks on the any keyvalues/Measures, its pulling all values from the data source(Set filter not working)

I tried changing all the Use Interactivity options of the cross tab.

Can some suggest the work around to disable mouse click on measures (or any alternative?)

I searched SCN for similar issues/post but dint find any help

https://scn.sap.com/thread/3309990

https://scn.sap.com/thread/3827568

Thanks,

Kumar.