cancel
Showing results for 
Search instead for 
Did you mean: 

How to Pass on Dimension Filter Selected values to another Component

Former Member
0 Kudos

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

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

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

Former Member
0 Kudos

Hi Jomy,

You can use DS_4.getfilterText() to get the details you want.

Regards,

Fazith Ali Z

Former Member
0 Kudos

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

Former Member
0 Kudos

Hi Divya,

If you use FIlterExt(Text) it should get all the Filters.

You can use copyfilter function in the DS to fulfil your requirement

Regards,

Fazith Ali Z

Former Member
0 Kudos

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.

Former Member
0 Kudos

Hi Divya,

If both the Dimension have the same key, and the Dimension name is same, copy filter function should work.

Try something, see if you can use Dimension filter to filter the DS_2 with DS_1 as source for it.

Regards,

Fazith Ali Z

Former Member
0 Kudos

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.

Former Member
0 Kudos

Hi Divya,

Can you raise this as a separate thread so that other's can also give their view,

Regards,

Fazith Ali Z

Former Member
0 Kudos

Hi Fazith,

Isn't a separate thread on its own where we are raising our question? That was the intention of this thread.

Divya is my teammate and hence she's actively monitoring this thread.

Thanks & regards,

Jomy

Former Member
0 Kudos

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.

Arjun_KT
Participant
0 Kudos

Hello Jomy,

If you want to see which value is selected in a dimension filter and want to display it in a text box then refer  the reply in this sdn post .

Regards

Arjun KT

Former Member
0 Kudos

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