Crystal Report mit SQL Server als SQL-DataSource
Hallo zusammen,
ich verwende Crystal Reports um einen Bericht zu erstellen. Hierbei habe ich das Problem, dass ich erst eine Gruppierung nach einer Kategorie und dann nach einer Gruppe habe, welcher quasi die Summe der ersten Gruppe abbildet, nur anders gruppiert. Ich versuch es mal zu verdeutlichen:
Element
Gruppe 1
Kategorie Gruppe Betrag 1 Betrag 2
---------------------------------------------------------------------------------------------------
A 1 50 60
2 25 30
------------------------------------------------------------------------------------
SUMME 75 90
B 2 15 20
3 5 55
------------------------------------------------------------------------------------
SUMME 20 75
Gruppe 2
Gruppe Betrag 1 Betrag 2
----------------------------------------------------------------------------------------------------
1 50 60
2 40 50
3 5 55
----------------------------------------------------------------------------------------------------
SUMME 95 165
So in etwa soll das Ganze aussehen. Leider habe ich nun das Problem das ich im Gruppenfuß direkt bei der letzten Gruppe bin. Ich meine mich zu erinnern das es da irgendeine Formel oder Einstellung oder sowas gab womit man den RowCounter, also da wo er sich in der Gruppe befindet, irgendwie zurücksetzen konnte, damit er quasi die Datensätze nochmal durchläuft.
Leider komme ich gerade nicht mehr darauf wie das ging. Kann mir hier jemand nachhelfen?
Vielen Dank dafür.
Hallo 1nf1n1ty,
ich bin mir nicht ganz sicher, wie ob ich verstanden habe was du bezwecken willst, aber für einen RowCount hättest du die Möglichkeit das über Funktionen in Verbindung mit globalen Variablen zu lösen. Eine Funktion nennen wir sie mal Init würde wie folgt aussehen:
SHARED numbervar rowCount;
rowCount:=0;
""
Diese Funktion plazierst du im Berichtskopf
Die nächste Funktion nennen wir sie IncRow plazierst du in jeder Berichtsreihe:
SHARED numbervar rowCount;
rowCount:=rowCount+1;
""
Nun könntest du die Funktion Init im GroupFooter erneut aufrufen, um etwa den rowCount zurückzusetzen oder eben den Wert der RowCount über die globale Variable auszulesen und zu verarbeiten.
Sollte ich dich falsch verstanden haben, dann müsstest du deine Frage noch mal etwas genauer beschreiben.
Hallo t2t,
vielen Dank für deine Antwort. Bezwecken damit will ich das ich eine DataSource im Bericht nehmen kann und die aber mehrfach durchlaufe um Ergebnisse darzustellen. Der obere Teil davon ist quasi eine detailierte Darstellung. Der untere Teil wird aus den selben Daten erzeugt, mit dem Unterschied das diese nicht so detailiert sind, sondern eine andere Gruppierung aufweisen und dadurch auch Summen bilden sollen. In der unteren Tabelle ist in Gruppe 2 von ehemals Kategorie A und B (aus der oberen Tabelle) zusammengefasst und als Summe über die Gruppe aufgeführt.
Ich glaube ohne Unterbericht lässt sich das auch nicht lösen, oder? Ich habe bisher leider zuwenig mit Crystal Reports gemacht und muss mich darin noch etwas einarbeiten.
Hallo 1nf1n1ty,
Würde nach Gruppe 2 noch etwas kommen oder ist es nur die zusammenfassende Gruppe für die Summen aus Gruppe 1 und der Bericht endet mit Gruppe 2?
Hallo Jamikus,
nach Gruppe 2 würde dann noch eine Zusammenfassung über alles kommen. Danach wäre der Bericht fertig.
Viele Grüße
Ok ich habe das Problem nun doch gefunden. Meine Lösung:
Ich habe für die 2. Gruppe einen Unterbericht erstellt und diesem die gleiche Datenquelle gegeben. Probleme hatte ich dabei noch weil Crystal Reports die Datensätze nicht richtig zusammengefasst hat. Crystal Reports hat anscheinend ein Problem damit Daten zusammenzufassen, wenn diese nicht sortiert sind. Nachdem ich entsprechende Gruppen hinzugefügt, die Unterberichtsverknüpfung nochmal geprüft habe und, ganz wichtig, eine Sortierung angegeben habe, ließen sich die Daten auch so wie ich es erwartet habe zusammenfassen. Hierfür musste ich dann lediglich noch die "Laufenden Summen"-Felder benutzen.
Ich danke allen für die Hilfe.
Viele Grüße