Skip to Content
0

How to pass multiple dimensions filter values in cross tab Desing studio

May 27, 2017 at 02:35 AM

947

avatar image
Former Member

Hi All, I have two cross tabs in my dashboard and set the filter in cross tab1 by getmemer() for two dimensions but I am able to pass the filter combination both dimensions (Unique) not the individual value to get the whole data for that filter value. However If I remove set filter for one dimension then report is showing all the data for the filter value and I need the same way if I click on second dimension also. Please advise how can I achieve this ASAP. Let me know if the requirement is not clear enough.

Thanks,

Ravi.

feg8i.png (15.7 kB)
2mmbs.png (11.9 kB)
10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

5 Answers

Tammy Powlas
May 27, 2017 at 09:07 AM
0

Ravi - have you searched for this? It's not clear to me if you are using components, scripts, etc. When I search several results are returned:

https://archive.sap.com/discussions/thread/3701376

https://answers.sap.com/questions/93844/design-studio-setvariablevalueext-multiple-values.html

https://blogs.sap.com/2015/04/28/delegating-multiple-values-selected-in-design-studio-dashboard-filter-panel-to-webi-report-using-opendoc-functionality/

Please share code/screen shots/version you are using and perhaps related threads so the community may better assist.

Share
10 |10000 characters needed characters left characters exceeded
avatar image
Former Member May 29, 2017 at 05:13 AM
0

Hi Tammy, Thank you for sharing links, I had gone through these links but could not find any related to my issue. These posts were on how to pass multiple filters from one dimension, but my requirement to pass the filter from each dimension in cross tab and get the all the data in second cross tab for selected value. I am trying to use the following code to get this but it is working if I do not do sort by measure in cross tab, does not work if I do sorting on measure in cross tab and it is not able to pass the individual selected value from one cross tab to another cross tab. THis is my code( ERP_C0081 is customer and ERP_C0051 is commodity), when I click on customer column then it will bring all the data related to that customer but If I click on commodity then it take that commodity and corresponding customer in that row only, Please help me how can read the individual dimension selected member and pass the filter to get in second cross tab.

var x=CROSSTAB_MTDPL.getSelection();

var selectpattern="";

x.forEach(function(value, key) {

selectpattern=selectpattern+CROSSTAB_MTDPL.getSelectedMembers(key).length;

});

if(selectpattern=="111")

{

DS_4.clearFilter("ERP_C0051");

var cu = CROSSTAB_MTDPL.getSelectedMember("ERP_C0081");

DS_4.setFilter("ERP_C0081", cu);

APPLICATION.alert("customer");

}

else

{

DS_4.clearFilter("ERP_C0081");

var cm = CROSSTAB_MTDPL.getSelectedMember("ERP_C0051");

DS_4.setFilter("ERP_C0051", cm);

/*CROSSTAB_MTDODPL.setCSSClass("disAble");*/

APPLICATION.alert("commodity");

}


4j0bh.png (88.7 kB)
Share
10 |10000 characters needed characters left characters exceeded
avatar image
Former Member Jun 02, 2017 at 05:52 AM
0

Hi Ravi, did you come right with this? Kind regards, Dot

Share
10 |10000 characters needed characters left characters exceeded
avatar image
Former Member Jun 04, 2017 at 10:54 PM
0

No Dorothy, This logic working when we do not do sort by measure on Hierarchy structure, because it was not able to identify the each individual column when we do sort by measure. I am facing so many issues with the Hierarchy structure in Design studio for Cross tab. I have raised two SAP OSS notes with SAP but not getting any correct answer.

Thanks,
Ravi.

Show 1 Share
10 |10000 characters needed characters left characters exceeded

Hi Ravi,

Despite all the discussion so far, I am not totally clear about what you are trying to achieve. Here are some more questions:

1. When you say "my requirement to pass the filter from each dimension in cross tab and get the all the data in second cross tab for selected value" what "selected value" are you referring to? Do you mean selection of the dimension column header or the dimension member?

2. In your example image, it appears that in Crosstab 2 you are mixing Dimension 1 and Dimension 2 member values in the same column. Is that right?

3. Your latest comment refers to a "hierarchy structure" whereas your original question does not talk about hierarchies. Is this a new issue or just additional information? What type of hierarchy are your referring to: a level-based hierarchy consisting of Dimension 1 and Dimension 2 or a BW parent-child hierarchy?

It almost sounds like you want to implement bi-directional cascading filters, which I don't think will be possible. Perhaps if you could provide a clearer version of the exact output you expect in Crosstab 2 we could be of more assistance.

Regards,

Mustafa.

0
avatar image
Former Member Jun 06, 2017 at 04:19 AM
0

Hi Mustafa, Thank you for your time asking questions.. Sorry for the confusion. All I am trying here passing the filter value from selected member and pass to second cross tab.

Info Chat data source has two structure elements (Row and column) and Cross tab also have two structure elements, This cross tab will be filter based on selected LOB from Info chart. I had written the logic to sort by measure for Var Plan MTD Revenue and it is working accordingly but when I do select on Customer member then it takes as filter and pass to second cross tab and get the customer list for all commodities for Canadian Grain LOB.


Second cross tab after selecting the customer.



However If I select the commodity member (Legumes) still it takes customer as filter and it gives same result. I use the following code to identify the column based on length of Key but this logic working fine if I refresh the Info chart for all LOB as I do not do sorting, This logic not working when I select for particular LOB on Info chart and it does sorting, due to this entire row considering as one value and takes always last customer dimension as filter and pass to second cross tab.

Please let me know if anything is not clear.

var x=CROSSTAB_MTDPL.getSelection();

var selectpattern="";

x.forEach(function(value, key) {

selectpattern=selectpattern+CROSSTAB_MTDPL.getSelectedMembers(key).length;

});

if(selectpattern=="111")

{

DS_4.clearFilter("Comm 3_digit");

var cu = CROSSTAB_MTDPL.getSelectedMember("Customer");

DS_4.setFilter("Customer", cu);

}

else

{

DS_4.clearFilter("Customer");

var cm = CROSSTAB_MTDPL.getSelectedMember("Comm 3_Digit");

DS_4.setFilter("Comm 3_Digit", cm);

}

Thanks,

Ravi.


qtddq.png (35.0 kB)
d8vd3.png (30.9 kB)
Share
10 |10000 characters needed characters left characters exceeded