Zusammenfassung von Gruppe und Untergruppe
Ich habe einen crystal-Reports-Bericht, es hat eine group by-Anweisung basierend auf zwei Feldern
- Firma
- Account-Typ
Nun Crystal-Reports-Bericht zu arbeiten und es hat group by "Firma" aber nicht der Gruppe von "account-Typ". Ich habe zwei Arten von account -, "normal-und Premium". Eine Firma hat sowohl die Art des Kontos mit uns und zieht es auf den regulären und nicht premium. Was denken Sie ist das Problem.
Ich bin neu in crystal-Reports-Bericht. Ich bin mit SQL vertraut ist, Obwohl. Die Unterschiede, die ich sehe, ist
- Es gibt keine Aggregat-Funktion verwendet, für jede Spalte in der SQL-Aggregat-Feld ist erforderlich, um aussagekräftiges Ergebnis
- Sind es etwa 10 Felder im Bericht, aber group by verwendet wird, die nur auf zwei Felder in SQL, müssen Sie die Gruppe, indem Sie alle Felder, wenn es mehr als zwei Felder
- Die group by-Felder in der Mitte und am Ende - wieder in SQL die Reihenfolge der groupby-Bereich ist wichtig,
In diesem Fall bin ich der Gruppierung von Firma zuerst und dann den account-status. Jede Einsicht wird hilfreich sein.
Beachten Sie, dass ich generiert die entsprechende SQL-Anweisung, die von Crystal-Reports-Bericht. Die Abfrage war ok, außer es waren keine group by-Anweisungen. Ich fügte hinzu, diese und die aggregierte Spalte mich und bekomme ich das gleiche Ergebnis wie ich immer bin, in Crystal (aber die SQL-Bericht genauer ist, wie es der Gruppe durch beide Felder nicht nur einer).
Edit: Beispiel Datum. Jedes Unternehmen kann mehrere Accounts des gleichen Typs. Ich will die Summe auf "Firmenname" und "AccountType", so dass die Daten aufgelistet wie folgt.
+----+--------------+-------------+------+
| ID | Company Name | AccountType | Sale |
+----+--------------+-------------+------+
| 1 | ABC | I | 500 |
| 2 | ABC | I | 600 |
| 3 | ABC | O | 1000 |
| 4 | ABC | O | 2000 |
| 5 | ABC | O | 3000 |
| 6 | XYZ | O | 2500 |
| 7 | LMN | O | 3400 |
+----+--------------+-------------+------+
Ausgang möchte ich aus der obigen Tabelle ist
+--------------+-------------+------+
| Company Name | AccountType | Sale |
+--------------+-------------+------+
| ABC | I | 1100 |
| ABC | O | 6000 |
| XYZ | O | 2500 |
| LMN | O | 3400 |
+--------------+-------------+------+
Du musst angemeldet sein, um einen Kommentar abzugeben.
Update zu integrieren, Kommentar Diskussion und überarbeitete Frage:
Gibt es zwei grundlegende Optionen für die Lösung dieses Problems:
1) Überarbeitung der SQL zum ausführen der gewünschten aggregation.
2) In Crystal, fügen Sie zwei Gruppen, eine für die Firma, dann eine für den account-Typ.
Bevor Sie das hinzufügen von Gruppen in crystal, Sie haben mehrere standard-Sektionen, inklusive dem Berichtskopf, Seitenkopf Details berichtsfuß und Seitenfuß.
Wenn Sie nicht durchführen Gruppierung, jede Zeile, die eingelesen wird, wird die Datenbank angezeigt, in den details-Bereich (technisch, die ganzen details Abschnitt wird wiederholt für jede Zeile).
Beim hinzufügen der ersten Gruppe (Firma), Crystal fügt eine Kopfzeile der Gruppe #1 vor dem Abschnitt "Details" und eine Group Header #1 nach dem Abschnitt "Details".
Wenn Sie den Bericht ausführen, an dieser Stelle, für jedes Unternehmen die Kristall-zeigt die Kopfzeile der Gruppe, bevor jede Gruppe von detail-Datensätzen in Verbindung mit diesem Unternehmen, dann wird sich zeigen, all die detail-Datensätze für das Unternehmen, und schließlich wird gezeigt, Gruppenfuß für das Unternehmen.
Normalerweise ist die Kopfzeile der Gruppe wird verwendet, um anzuzeigen, gemeinsame Informationen für die Gruppierung muss nicht wiederholt werden, für die jedes detail aufzeichnen. In diesem Beispiel könnte das display den Namen des Unternehmens und andere Informationen in Bezug auf das Unternehmen.
Ebenfalls, den Gruppenfuß, ist in der Regel verwendet zum anzeigen von zusammenfassenden Informationen für alle detail-Datensätze angezeigt, die innerhalb dieser Gruppe.
In diesem Fall könnten wir hinzufügen, ein Aggregat, das würde zusammenfassen Verkauf, das wäre der Gesamt-Umsatz für das Unternehmen, unabhängig von der Kontoart.
Als die zweite Gruppe Hinzugefügt wird, wird sub-Gruppierung auf die ursprüngliche Gruppe.
Als die zweite Gruppe wird Hinzugefügt, Crystal wird ein Gruppenkopf #2 unten, Group Header #1 und oben die Details und eine Gruppe Fußzeile # 2 direkt unterhalb der details und vor der Gruppe Fußzeile #1.
In diesem Punkt, Sie haben einen Bericht ähnlich dem folgenden format:
In diesem Fall für jedes Unternehmen, wollen wir die Gruppe der details-Datensätze nach account-Typ. So können wir Informationen hinzufügen, der beschreibt, das Konto geben, wenn wir wollen, um die Kopfzeile der Gruppe #2 und wir können hinzufügen, Aggregate, Gruppenfuß #2 zum anzeigen der Gesamtsummen für jeden account-Typ innerhalb des Unternehmens.
Nun, wenn es gewünscht ist, zeigen die Summen für jedes Konto, geben Sie innerhalb der einzelnen Unternehmen, dann ist die einzige Sektion, die wir brauchen, um zu zeigen, in dem Bericht Gruppenfuß #2. Alle Felder (Firma, Konto, Art, Verkauf, Aggregat) gibt es in dieser Fußzeile, so dass wir nicht brauchen die zusätzlichen Flächen.
Account Type
, der Bericht ist dann völlig anders.then by account type, the only place that you will want to have fields in the report is in Group Footer #2