Skip to Content
0

SAP Design Studio 1.6 result set too large (> 20k rows) - pass filter settings to reduce data volume

Jan 25, 2017 at 09:27 AM

548

avatar image

Hello,

our datasource has more than 20000 rows (where we now this is not possible in Design Studio 1.6) but we want to set different filters through the component "filter panel" which will minimize the rows in the attached example to 1.504 - so it should working in theory.

But Design Studio ignores the filter settings - is there a way to get the data?

Thanks and regards,

Sabrina

10 |10000 characters needed characters left characters exceeded

So the data source is a universe? Can you filter back at the data source level?

0
* Please Login or Register to Answer, Follow or Comment.

10 Answers

Sabrina Papperger Jan 25, 2017 at 09:27 AM
0
Share
10 |10000 characters needed characters left characters exceeded
Sabrina Papperger Jan 25, 2017 at 12:25 PM
0

The data source is a universe and yes I can filter at the data source level manually for testing and it shows me the 1.504 rows

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

Could you look at your properties for maximum number of members? See https://archive.sap.com/discussions/thread/3501651

I am not sure I follow what the issue is - are you saying you can't filter by 1,504 rows?

0
Sabrina Papperger Jan 26, 2017 at 08:30 AM
0

No the filter members are all shown that is not the problem - the filter settings should minimize the over 20.000 rows to 1.504 so it should be shown in the diagram (please see my attachment). But it doesn`t work unfortunately and that is incomprehensibly.

Share
10 |10000 characters needed characters left characters exceeded
Tammy Powlas
Jan 26, 2017 at 10:09 AM
0
Share
10 |10000 characters needed characters left characters exceeded
Sabrina Papperger Feb 01, 2017 at 08:18 AM
0

Hi Tammy,

thanks for the links, we have tried this but don`t get any effect.

I found another post https://archive.sap.com/discussions/thread/3366235

where our problem is solved over scripting, unfortunately the exactly code is missing.

We`ve tried the following code (the filter "Project_Filter" should be passed to the dimension "Project" of DS_1 to minimize the data volume):

DS_1.loadDataSource();

DS_1.setFilter(“Project”, DS_FILTER.getDimensionText(“Project_Filter”));

but nothing happens...

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

Hi Sabrina,

Some questions for clarification:

1) Where in your application are you executing the above script code?

2) I assume DS_FILTER is another data source in addition to DS_1. What is the purpose of DS_FILTER?

3) What type of object is "Project_Filter": a dimension, prompt variable or script variable?

0
Sabrina Papperger Feb 08, 2017 at 08:00 AM
0

Has anybody an idea where the problem is?

Share
10 |10000 characters needed characters left characters exceeded
Sabrina Papperger Feb 13, 2017 at 08:57 AM
0

Hi Mustafa,

thanks for your answer!

1) the code is executed in the "filter panel" component in event "on apply" - so every time you change the filter values

2) yes it`s an additional data source. There are only the 5 filter fields in it where we get under 20000 rows in the query specification of this DS. The purpose is to pass this filter objects to the DS_1 (where are some more fields) to reduce the rows here which are normally over 20000...

3) "Project_Filter" is the dimension "Project" in DS_FILTER

Share
10 |10000 characters needed characters left characters exceeded
Mustafa Bensan Feb 13, 2017 at 10:53 AM
0

Hi Sabrina,

Thanks for the clarification. I think one problem is that with the script DS_1.setFilter(“Project”, DS_FILTER.getDimensionText(“Project_Filter”)) you are just retrieving the text description of the Project_Filter dimension when what you really need is the dimension member filter values. Can you try the following code instead?

DS_1.setFilter(“Project”, DS_FILTER.getFilterExt(“Project_Filter”));

If that doesn't work, try:

DS_1.setFilter(“Project”, DS_FILTER.getFilterText(“Project_Filter”));
Share
10 |10000 characters needed characters left characters exceeded
Sabrina Papperger Feb 15, 2017 at 11:33 AM
0

Hi Mustafa,

the code

DS_1.setFilter(“Project”, DS_FILTER.getFilterText(“Project_Filter”));

is working.

If you want to select more values within the dimension, just choose

DS_1.setFilterExt(“Project”, DS_FILTER.getFilterExt(“Project_Filter”));


Thank you so much!!!! :-)))

Regards

Sabrina


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

Thanks for the confirmation, Sabrina. Good to hear the suggested code worked for you :)

0
Giulia Sogaro Feb 15, 2017 at 03:44 PM
0

Hi Sabrina,

if you want to reduce the number of rows of the data source, you have to filter with the function DS.setVariableValue(variable, value) or DS.setVariableValueExt(dimension, value) because the data source needs to be reloaded. So you have to define a prompt in the universe query. The function DS.setFilter(dimension,value) applies a local filter and it does not launch the query.

Regards,

Giulia

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

Hi Giulia,

yes you are right - thanks a lot for your answer! We have now changed the whole application using prompts which are filled in background and it is working :-)

Now we have another challenge: We have defined the datasource query filters with operator "In List" because we want to filter single or multiple items. But when we select "Bereich" ("range") in filter panel it doesn`t work because there is no "Between" operator in the query filter. Also changing the operator to "Between" doesn`t give the expected effect.

Is there a workaround to admit both ways?

Regards,

Sabrina

cusersdda97vfdesktopscreenshotsprompts-operator-be.png

0