+1 800 256 3608 (toll-free in North America) or +49 7531 90 60 10| service@combit.com

Gruppenformel anhand Summe in Fußzeile berechnen?


(Frank Bärlin) #1

Hallo zusammen,

nachdem ich mich jetzt schon stundenlang mit einer Liste beschäftigt habe und leider nicht weiterkomme, wende ich mich an Euch mit der Hoffnung, das ihr mir helfen könnt.
Dabei habe ich eigentlich einen ganz einfachen Anspruch und auch die Liste ist sehr einfach aufgebaut.
Im Anhang sind alle notwendigen Dateien.
Auf dem Screenshot sieht man das Ergebnis der Liste.
Die Daten kommen aus einer Selektion und werden korrekt an die Liste übergeben.
Ganz links sieht man die Sparte, dann die Anzahl der Verträge, dann die Summe der Jahresnettoprämie, dann die Courtagesumme und ganz rechts möchte ich
gerne den prozentualen Anteil der Courtagesumme der jeweiligen Sparte (also Feld links daneben) haben. Als Gesamtsumme muss mir dazu die Summe in der Fußzeile dienen, da ich ja sonst keine Referenz habe.
Das Problem: Die Gesamtsumme kennt List & Label in dem Moment noch nicht, wenn die Gruppe gebildet wird. Deshalb kann die Berechnung nie durchgeführt werden bzw.
Immer nur mit der Gruppensumme, was natürlich nicht stimmt.
Meine Idee war, dass ich einfach in einem separaten Feld oberhalb der Tabelle eine Uservariable nehme, dort die Gesamtsumme von unten reinschreiben lasse und zeitlich verkette. Aber leider hat das auch nicht funktioniert.
Hat jemand eine Idee, wie ich die eigentlich doch sehr simple Aufgabe lösen kann?

Vielen herzlichen Dank im Voraus.
Frank

Ergebnis.jpg


(Frank Bärlin) #2

Ergänzend sollte ich vielleicht noch erwähnen, dass ich LL13 im Einsatz habe.
Außerdem habe ich auch versucht, das Thema mit der Funktion Total() zu lösen. Leider bekomme ich aber hier auch gar keine Ergebnisse…


(combit Support - Erdal Alacali) #3

Sehr geehrter Herr Bärlin,
vielen Dank für Ihren Beitrag.

Die Vorberechnung des Wertes, einer Aggregatsfunktion für die Tabelle, ist in der Version 13 direkt aus dem Designer heraus nicht möglich, hierzu könnte man nur die sog. “2-pass Technik” anwenden.
Eine Beschreibung hierzu finden Sie unter folgendem KB-Artikel, dieser ist zwar für die Gesamtseite aber das Prinzip ist identisch.
https://www.combit.net/reporting/support/list-label-knowledgebase/knowledgebase/designer/ermittlung-der-gesamtseite-2c-seite-x-von-y/

In der Version 20 und nur in Verbindung mit dem Berichtscontainer gibt es die Funktion “precalc()”, diese berechnet den Wert der Aggregatsfunktion der Tabelle vor.
z.B.
Precalc (Sum(Artikel.Stkpreis)) Summe der folgenden Artikelpreise

Das Verhalten könnten Sie sich eventuell mit der Trial-Version von List & Label 20 ansehen und testen.

Mit freundlichen Grüßen

Erdal Alacali
Technischer Support
combit GmbH


(Frank Bärlin) #4

Hallo Herr Alacali,

vielen Dank für den Lösungsansatz, mit welchem ich mich gerade intensiv auseinander gesetzt habe.
Leider komme ich mit der Anleitung nicht ganz klar. Können Sie mir hier noch etwas auf die Sprünge helfen?

Wenn ich es richtig verstehe, nehme ich eine Uservariable und folgenden Text (im Falle der Gesamtseitenanzahl):

hStg = LlStgsysStorageOpen(“c:\test\label.ll”, NULL, TRUE, TRUE);
AnzahlSeiten = LlStgsysGetPageCount(hStg);
LlStgsysStorageClose(hStg);

Hier wird mir bereits ein Fehler angezeigt.
DIe Variable AnzahlSeiten habe ich erstellt.
Leider finde ich im Netz keinerlei weitere Infos zu der 2-pass-Funktion.

Es wäre daher toll, wenn Sie mir ein paar Worte dazu schreiben könnten, damit ich unser Anliegen so lösen kann.

Herzlichen Dank!

Frank Bärlin