Skip to Content
0
Former Member
Mar 31, 2015 at 01:40 PM

Filtering high volume datasources

62 Views

Apart from initial data sources, I have 3 deferred data sources (load_in_script= true)

DS1: Company | Stores | Fiscal_Month | Actual_MTD | Budget_MTD
DS2: Product | Stores | Fiscal_Month | Actual_MTD | Budget_MTD
DS3: SalesArea | Stores | Fiscal_Month | Actual_MTD | Budget_MTD

Based on the filter values (selected by the user using checkbox/dropdown) on each of these dimensions, these datasources need to be refreshed independent of each other.

Let us go with the assumptions that these datasources will retrieve more than 2 lakh records each, if not filtered appropriately.

As per understanding there are 2 methods to filter out data (setVariable, setFilter)
- As per this link http://scn.sap.com/community/businessobjects-design-studio/blog/2014/03/27/design-studio-performance-implications-of- variables both these functions does a round trip to BW

- Moreover loadDataSource(); method should be called before setVariable() or setFilter(), which may load 2+ lakh records into the data source before appropriate filtering. This may degrade the performance

Please suggest which is the right method to filter data from these deferred datasources ?


Also, the requirement is filter on multiple dimensions. But both these filter functions do accept only one dimension at a time. Does it mean it makes 3 round trip for below statements

DS_1.setFilter("Company","C001")
DS_1.setFilter("Stores","S001,S002,s003")
DS_1.setFilter("Stores","012.2015")

Ref:

http://scn.sap.com/community/businessobjects-design-studio/blog/2013/11/29/optimize-the-performance-of-your-sap-businessobjects-design-studio-solutions-tips-and-tricks

http://scn.sap.com/community/businessobjects-design-studio/blog/2014/03/27/design-studio-performance-implications-of-variables