PDA

View Full Version : Geschwindigkeitprobleme mit Unterreports



Natalia
30-Jun-2016, 10:47 AM
Ich habe Tabellen Adressen, Kommunikationen und Personen und möchte Kundenstammblatt drucken mit Adresse, alle dazugehörige Kommunikationen und Personen.

Mein Report geht über Adressen. Für Personen und Kommunikationen brauche ich Unterreporte mit Filter auf Adressnummer.

Und es sieht so aus, als der Unterreport ähnlich wie "constrain as" funktioniert, also er läuft alle Datensätze in der Tabelle durch und vergleicht das Filterfeld. Auf dem Bildschirm blinkt Info "Gelesene Datensätze 0" und Ausgabe für einen Kunden auf eine Seite dauert über 2 Minuten. Und bei größeren Datenmengen dauert es deutlich länger.

Gibt es die Möglichkeit, die Datensätze im Unterreport anders zu filtern?

Danke.

Vincent Oorsprong
1-Jul-2016, 01:36 AM
Natalia,

The sub-report filter is of course a very important key in this. If the filter cannot be offloaded (to SQL as WHERE clause or in DataFlex as jump-in-jump-out of index) it will operate slow as all rows needs to be scanned. So check you filter definition.

Also; what version of DataFlex Reports is in use here? I believe there was a version where the filter was never offloaded. Have you tried version 5.0.1 as it also contains another performance enhancement when using SUM()s.

Natalia
1-Jul-2016, 02:27 AM
Ich habe DR 4.0
Filter sieht so aus

.......dim iAdrNr as global
.......return {DA11TELE.ADDRNUMM} = iAdrNr

iAdrNr setze ich in meinem Hauptreport bevor ich den Unterreport aufrufe.

Und ich habe in DA11TELE zwei Indexe, wo AddrNumm als erste Segment eingetragen ist.

Wie kann ich mein Filter in dem Unterreport definieren, dass er als WHERE clause oder jump-in-jump funktionieren kann?

Vincent Oorsprong
1-Jul-2016, 04:22 AM
Natalia,

This should be OK. It is important to know that only filters based on the left-most table can be offloaded. So if the main report is on orderhea and the sub-report contains orderdtl and invt rows you should not filter on a column of the invt table but on the orderdtl table.

When I test with version 4.0.2 I don't see performance problems and jump-into-jump-out-of occurs correctly.