cancel
Showing results for 
Search instead for 
Did you mean: 

Combination of Dimension filter and ListBox

former_member190501
Active Contributor
0 Kudos

Dear Experts,

We are using DS 1.3.

As following, In our application there is One dimension filter , One Cross Table and 2 List boxes.  My requirement is values of  cross tab and list boxes has to updated based on Dimension filter.

In Filter On Apply coding is as follows :

Result :

-->Cross Tab is correctly filtering as expected only for AU.

-->Country List is not updating for filtered country. It is showing all values instead of showing only AU

--> RBU list is correctly filtering as expected only for 0

Observation:

Characteristic which is being used for  Dimension Filter is not updating under List control. Other than this char ( In our example Country) rest all correctly picking the list from Data source filtered list.

In data source, all chars Only values with posted data selected under Members for filtering

Is any one facing similar issue or are we missing some thing?

Thanks in advance.

Regards,

Raju

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi VaraPrasadraju,

What you are facing is a known issue in Design Studio. While a filter is applied on the list of countries, a 'getMemberList()' function will still get all the members for the mentioned dimension regardless of the filter you have set. The RBU list, however, will reflect the filter set on the country because it is dependent on that country - i.e. each RBU value would be associated with a country, and thus only the RBU value for the country selected is retrieved.

Thanks and Regards,

Eshwar Prasanna

former_member190501
Active Contributor
0 Kudos

Thanks Eshwar!

Is there any other way to achieve this?

Once we select Country from filter then List also has to filter for same selected country.

Thanks,

Raju

Former Member
0 Kudos

Hi Raju,

There does seem to be a workaround to this (Assuming you have worked on a BEx query):

  1. Create a separate query with only the country list and the RBU list. Also set a characteristic restriction on the country list using a variable (preferably one with multiple options):
  2. In Design Studio, use the newly created query with the variable to load the two list boxes, both at start-up as well as when you set a value in the dimension filter.
  3. In the onApply() event of the dimension filter, use the following syntax to set filters and limit the list boxes:


APPLICATION.setVariableValueExt("<technical name of variable in new query>", DS_3.getFilterExt("<technical name of country dimension>"));

LISTBOX_1.setItems(DS_1.getMemberList("<technical name of country dimension>", MemberPresentation.INTERNAL_KEY, MemberDisplay.TEXT, 50));

LISTBOX_2.setItems(DS_1.getMemberList("<technical name of RBU dimension>", MemberPresentation.INTERNAL_KEY, MemberDisplay.TEXT, 50));

//Set listbox items once again to account for delay in setting variable value and fetching results

LISTBOX_1.setItems(DS_1.getMemberList("<technical name of country dimension>", MemberPresentation.INTERNAL_KEY, MemberDisplay.TEXT, 50));

LISTBOX_2.setItems(DS_1.getMemberList("<technical name of RBU dimension>", MemberPresentation.INTERNAL_KEY, MemberDisplay.TEXT, 50));

In the above code, assume that:

  • DS_3 is the data source used for your Crosstab and your Dimension filter
  • DS_1 is the data source containing the newly created query with the variable restriction on country
  • LISTBOX_1 displays the list of countries
  • LISTBOX_2 displays the list of RBUs

I hope this helps!

Thanks and Regards,

Eshwar Prasanna

former_member190501
Active Contributor
0 Kudos

Dear Eshwar,

Brilliant. Its working with

APPLICATION.setVariableValueExt for multiple single selections.

Thanks,

Raju


former_member402770
Participant
0 Kudos

This message was moderated.

Answers (0)