<p>Hi all,</p>
<p> </p>
<p>first of all: BIRT v.4.2.2.</p>
<p> </p>
<p>I'm building a report with about 130 colums which contain mostly data-field and some nested lists (about 10).</p>
<p>For this i got different dataSets, one for the main table and for each nested list another dataSet.</p>
<p>To achieve the correct grouping of the values within the nested lists, the're getting filtered by the outers ID (row._outer["id"]).</p>
<p> </p>
<p>Table:</p>
<pre class="_prettyXprint _lang-">
header-|
|
|
|
|
|
detail-|-data-|-data-|-nestedTable-|-nestedTable-|-data-|
| |
Filter by outer.ID
</pre>
<p>In theory this is working quite nice, but on the live system not.</p>
<p>The datasource is one single XML file which can contain about <strong>100.000</strong> <strong>thousand elements</strong>. </p>
<p> </p>
<p>The problem is, that those nested lists slow down exponentially the report because of the thousands of iterations in the single lines and the filterings. The report even <strong>kills our live system</strong>!</p>
<p> </p>
<p> </p>
<p><strong>So I tried another approach:</strong></p>
<p> </p>
<p>I tried to achieve the nested lists with <strong>dataset parameters</strong>, so i can set the parameter from the inner table and only get the already filtered values from the outer table. For XML this works via the row mapping with a parameter (e.g. "outeritem/[
@pID="{?pID?}"]"). </p>
<p>I tried this with only one nested table and <strong>it is even more slow</strong>, but theoretically this should faster a lot (because the items get filtered by the dataset, not in the inner table)!</p>
<p> </p>
<p> </p>
<p>So, does somebody know how to do this in a good way?</p>
<p> </p>
<p>Have a nice weekend!</p>
<p> </p>
<p> </p>