# variable Datasets und Tabellenspalten in BIRT...wie geht das?



## Birty (12. Nov 2012)

Hallo zusammen,

ich bin gerade dabei eine tabellarische Statistik in BIRT zu erstellen. Dabei geht es um eine Statistik für gebuchte und fakturierte Aufträge. Der Knackpunkt hier ist, dass die Rabatte variieren. Man kann hier in der GUI auswählen mittels Checkbox welche Rabatte man hier jeweils als zusätzliche Spalten angezeigt werden sollen und welche nicht (oder eben auch alle Rabatte oder keine). Dementsprechend werden es mehr Spalten oder weniger. Das muss ich nun ebenso auch auf BIRT darstellen. Meine Herausforderung ist hier, dass ich schlichtweg nur ein DIN A4 Format zur Verfügung habe (auch wenn im Querformat). Je nach Rabattanzahhl können die Spalten jedoch über dieses Format hinaus gehen und müssten so im Grunde auf die zweite Seite dargestellt werden. Gleichzeitig kann es aber auch anhand der Aufträge sein, dass auch die Zeilen mehr werden als Platz ist und auch hier muss dann eine zweite Seite her. Die Zeilen sind ja nicht das Problem, aber die Spalten bereiten mir gerade Kopfzerbrechen. Das Befüllen der Daten ist nicht so schwierig, jedoch weiß ich zum einen nicht wie viele Rabatte es gibt oder geben wird, da der Kunde immer wieder neue hinzufügen kann und zum anderen weiß ich nicht im geringsten wie ich an einem Punkt bei BIRT festlegen kann ok und ab Spalte 10 kommt der Rest auf die zweite Seite. Ich hätte hier im Grunde schon die Idee gehabt ok, dann lass ich mir einen Counter oder ähnliches liefern und erstelle vor dem Öffnen die notwendigen Datasets und erweitere die Tabelle um diese Spalten. Die Grundstruktur der Tabelle ist ohne Rabatte. Ich habe jedoch keine Ahnung, ob das so überhaupt möglich ist und falls ja wo ich dann im Scripting beginne. Beim Open im Dataset ist es zu spät so viel weiß ich schon. Im Grunde muss es schon weit aus früher passieren. Das zweite ist natürlich das wie...wie definiere ich bei BIRT, dass ab einem bestimmten Zeitpunkt die folgenden Spalten auf den nächsten Seiten sein sollen. Ich habe mal noch eine pdf-Datei angehängt, die das ganze noch etwas visualisiert darstellen soll. Falls hier noch Verständnisfragen offen sind, dann schreibt mir bitte eine PN. Es lässt sich leider grad ohne entsprechende Visualisierungen schlecht erklären. Ich hoffe aber die pdf-Datei bringt etwas Licht ins Dunkel und macht es verständlicher.

/edit achja falls es da auch andere Wege gibt, dann nur her damit jedoch bitte ich hier um eine detaillierte Erklärung meine bisher gebauten Dokumente und Reports mit BIRT waren noch nicht so komplex und ich bin hier noch recht am Anfang mit meinem Wissen um BIRT.


----------



## Birty (16. Nov 2012)

Kann mir niemand helfen oder habe ich es zu kompliziert geschrieben bzw. erklärt?


----------



## Gast2 (16. Nov 2012)

Ich glaube hier haben noch nicht soviele was mit BIRT gemacht, deshalb würde ich es lieber im BIRT Forum bei eclipse.org versuchen


----------



## Birty (16. Nov 2012)

ok danke, das werd ich dann machen und wenn ich eine Lösung habe, dann poste ich es hier. Dürfte sicherlich auch für einige hier interessant sein.


----------



## Deros (19. Nov 2012)

Moin,
es ist grundsätzlich ein Problem wenn du erst zur Laufzeit weißt wie viele und welche Spalten dein report haben wird. Dann müsstest du die Tabelle als Event in einem onPrepare Block erstellen. 
Solltest du aber alle Spalten schon beim erstellen des Reports kennen würde ich einfach über die visibility das Problem lösen. Einfach zur Laufzeit gucken wie viele Spalten angezeigt werden und dann entsprechend Spalten ausblenden. Das Problem des Seitenumbruchs bei zu vielen Spalten würde ich damit umgehen, dass ich die Tabelle mehrfach in den report einbaue und entsprechend ausblende wenn sie nicht gebraucht wird.


----------

