on 03-06-2017 6:43 PM
I am trying the following:
I use a HANA calculation view as a data source. I want to fill a dropdown-box via script with the dimension values from the data source and I want to filter the values. The filter is not set on the dimension which I want to fill the dropdown box with.
It seems that is not possible - getMemberList always returns all dimension values, no matter what I do. Until now, I tried the following:
- Setting a background filter in the initial view
- Using SetFilter-Statement in the script for event "On_Startup"
- Creating a variable in my HANA calculation view and using setVariableValue as well as setVariableValueExt as suggested here: https://archive.sap.com/discussions/thread/3862501
- Using Property Binding with "Follow Filter state" set to 'true'
None of these were successful.
When I link a crosstab or a chart component to my view, the filter as well as the variable works fine, so I think the HANA calculation view cannot be the problem.
In thread https://archive.sap.com/discussions/thread/3741008 I read the following:
"getMemberList retrieves a list including all values, possible for current filter settings / selection.
getMembers retrieves all possible values for selected dimension. The current filter settings are ignored."
but in my case, getMemberList also ignores all filter settings.
I've also read SAP Note 2067424. The last statement there says: "Dynamic filters, which were applied on the same dimension for which getMembers or getMemberList is executed, are ignored by design.", but as I mentioned already above, I don't set the filter on the same dimension for which I execute getMembersList.
I am using DS 1.6 SP4, connected to BI-Plattform 4.2.
I think there must be a way to fill a dropdown (or listbox etc.) with values from a data source under consideration of filters, or not?
Thanks in advande and best regards,
Oliver
Hi Oliver,
What you have described is a standard cascading filter scenario which should work out-of-the-box if you apply setFilter() in the "On Startup" event of the application or even as a Background Filter in the Initial View.
Have you set the Members for Filtering option of the dimension used to fill your list to "Only Values with Posted Data" in the Initial View of the data source?
Regards,
Mustafa.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Oliver,
Further to my suggestion above, I have created a working example with a BW BEx data source as shown below. Exactly the same principle should also apply to HANA data sources.
Initial View without Background Filter:
Initial View with Background Filter Applied:
Members for Filtering Setting in Initial View:
On Startup script code:
var myMemberList = DS_1.getMemberList("ZAIRLINID", MemberPresentation.INTERNAL_KEY, MemberDisplay.TEXT, 100);
LISTBOX_1.setItems(myMemberList);
Result - list shows filtered members as expected, same as Crosstab:
Hello Mustafa,
setting the Members for Filtering option in the initial view solved my problem.
Many Thanks!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
93 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.