With RDS (Runtime Data Source) you collect data and place this via an array into an in-memory SQLite table. The DR OCX reads this data and applies your filter to this.

Let's say you have 1000 customers all from different cities in Germany. You can load all 1000 customers in the variant[][] array and handle them over to the OCX and then apply a filter that you only want the customers with a certain criteria (e.g. all located in FRANKFURT). Let's say there are 500 customers that meet the filter criteria. Why would you want to load the other 500 customers too?

So; optimize the data collection before filling the array and handle it over to the OCX.

Don't get me wrong; filters are great but with RDS - unless you offer filter options to the customer in the preview window - it is much better to filter during data collection.