on 08-27-2014 11:49 PM
Hello Experts,
Suppose we've a Dimension Filter, how can we achieve following things:
a) When the user selects multiple items from a DimensionFilter(DS1), then we'll use that to filter a Crosstab (DS4). The basic question here is how can we know which all values was selected from that DimensionFilter box.
Thanks & regards,
Jomy
Hi Jomy,
As you are using 2 different queries Technical Key [Extended ID] would be different for Drivers.
Main Query - DS_MQ
Sub Query - DS_SQ
So we need to perform 2 additional tasks
a. Identify the Tech ID based on Text
b. Identify the drivers selected in filter
1. Once you apply filter on Dimension filter based on DS_SQ
Get the text of the selected members.
var filterval = DS_1.getFilterText("00O2TRXZJJA90ZPD6P6VPRMU2");
2a. Replace the Text of the Driver with Technical ID based on DS_SQ
DR1 = Convert.replaceAll(filterval, "DR1_Text", "DR1_ID_SQ");
2b. Identify if DR1 was selected in the filter.
var int = DR1.indexOf("DR1_ID_SQ");
If yes then,
variable driver1 = "DR1_ID_SQ" .
3. Once you apply 2a and 2b for all the drivers
DS_MQ.setFilter("Dimension", [driver1,....];
This should get the required result.
Thanks,
Kishore
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Jomy,
You can use DS_4.getfilterText() to get the details you want.
Regards,
Fazith Ali Z
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks Ali.
I tried that DS_4.getFilterText() would give the value for only one filter selected, multiple filters would be something like A;B; so on...
Can you please explain if it is possible to retrieve using forEach().
Also, here DS_4 is restricted to QUERY1 and Filter is restricted to QUERY2.
So any help as to how to filter the values in DS_4 based on filter values selected.
Thanks
Divya
Hey Ali,
I already tried that.
If we are doing copyFilter or setFilterExt w.r.t a DS and try to copy it into another DS this would not work here.
Because, in this scenario DS (1) - Query 1 and DS(2) belongs to different Query and using setFilter or copyFilter doesn't seem to work as for different queries, the technical IDs are different.
Hi,
DS(1) refers to Query 1 and DS_2 refers to Query 2.
So, even though both queries use same dimensions(Chars/KFs), the key would be different in Enterprise Tab of Bex. This is causing the issue.
Any idea, if we can filter the two datasources or copy the filter values though the keys are different.
Hi Jomy,
A new thread gets more attention than old ones. That is why i mentioned it.
Anyway I do have a question,
Are the two queries derived from the same Source (Multiprovider, Cube etc.)
If they are, if only you are using CKF you have different CUID, other wise the same key should work for both.
Regards,
Fazith Ali Z.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Arjun,
Thanks for your response!!
I would like to elaborate my question here:
I've a DataSource DS_1 based on query which contains following rows only:
DR1
DR2
DR3
DR4
The idea behind this query was to have only these DR's in the Dimension Filter Box to select.
Now I've a DataSource DS_4 based on a main query which contains these DR's along with other rows:
LY Gross Revenue
DR1
DR2
DR3
DR4
Gross Rev. LE
Gross Rev. Target
Gross Rev. YTD
I've a crosstab which contains the out put for DS_4 i.e. all these rows.
Now user can click on Dimension Filter which will contain only DR's and can select say: DR2, DR3
Then it should filter out the crosstab such as all other non-DR's stay as it is but filter only the DR's i.e.
LY Gross Gross Revenue
DR2
DR3
Gross Revenue LE
Gross Rev. Target
Gross Rev. YTD
Appreciate your guidance here.
Thanks & regards,
Jomy
User | Count |
---|---|
87 | |
10 | |
10 | |
9 | |
7 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.