Quantcast
Channel: SCN : Discussion List - SAP BusinessObjects Design Studio
Viewing all articles
Browse latest Browse all 4041

Filtering a data source by string variable

$
0
0

Hello everyone,

 

We have two data sources which share the attribute "location". Both are based on BEx-Queries.

Data Source 1 contains all available locations, while data source 2 contains only a subset of locations. Our goal is to filter data source 1 by its location attribute so that it contains the same number of rows with the same locations as data source 2 (like an inner join).

As it is possible to filter a data source like this

 

DS_xy.setFilter("Dimension", ["member1", "member2", "member3", ... ]);

 

our idea was to use the following method:

 

1. Declare a string variable and an array of the members

 

var text = "";                     //we also tried to use a global scripting variable

var array = DS_2.getMembers("Location", 1000);

 

2. Use a nested for-loop to read all the locations of data source 2 into the string

 

array.forEach(function(element, index) {

      text = "\"" + element.externalKey + "\"";

      array.forEach(function(element, index) {

           text = text + ", \"" + element.externalKey + "\"";

      });

});

 

3. Filter the data source by the generated string (which contains: "location1" , "location2", "location3", ...)

 

DS_1.setfilter("Location", [text]);

 

It doesn's work. We have checked the externalKey-format, which corresponds to the format of members in data source 1.

 

When I copy the string returned by variable "text" into the code like this

 

DS_1.setFilter("Location", ["location1", "location2", "location3"... ];

 

it works perfectly.

 

Can anyone help? Thank you in advance!

Christiane


Viewing all articles
Browse latest Browse all 4041

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>