Wahl der Top-Werte in einer Matrix

2021-04-22

Der Artikel ist aktuell bis Version 2022.1.

FastReport.NET verfügt über ein großartiges Tool für die Anzeige von Daten als Sammeltabelle, oder Matrix. Viele von uns würden gerne die Funktionalität von Matrizen verbessern, z. B. mit einer so nützlichen Option wie einer Auswahl von N Top-Werten. Die Auswahl der ersten N-Zeilen aus einer Datenquelle scheint sehr einfach. Neben der Auswahl der Top-Werte ist es jedoch notwendig, alle übrigen Daten in einer einzigen Aufzeichnung zu gruppieren, was das Hauptproblem darstellt. Dies kann nicht mit den Standart- Werkzeugen des Matrix-Objekts erfolgen.

Wir müssen also die Daten so vorbereiten, dass sie sowohl die Top-Werte als auch die Summe aller übrigen Werte enthalten. Dieses Mittel ist für SQL-Datenbanken geeignet. Alles, was wir dafür tun müssen, ist, eine SQL-Abfrage zu schreiben.

Nehmen wir an, wir erstellen eine Liste der Gehälter der Mitarbeiter nach Jahren. Im Datenquelleneditor können wir eine SQL-Abfrage verwenden, wenn eine SQL-Datenbank verwendet wird.

Datenverarbeitungs-Assistent

So sieht die SQL-Abfrage aus, die 2 Top-Werte und die Summe aller übrigen Werte auswählt:

SELECT top 2 name, year, month, salary FROM crosstest ORDER BY salary
UNION
SELECT 'Other' AS name, year, month, SUM(salary) FROM crosstest
WHERE name NOT IN (SELECT Top 2 name FROM crosstest ORDER BY salary)
GROUP BY name, year, month

Hier kombinieren wir zwei Abfragen mit einem Operator union. In der ersten Abfrage wählen wir die Top-Werte, in der zweiten Abfrage - die Summe aller übrigen Werte.

Als Ergebnis erhalten wir die folgende Matrix:

Endgültig

Wie Sie sehen, können wir durch die Verwendung verschiedener Techniken zur Aufbereitung der Ausgangsdaten den gewünschten Effekt erzielen, auch wenn eine solche Funktionalität im Bericht-Generator ursprünglich nicht vorgesehen war.

25. Mai 2022

Berichterstellung mit PostgreSQL in einer .NET 5-Anwendung unter Debian 10

Beispiel für einen Bericht mit Code basierend auf der FastReport-Bibliothek.Kern mit SQL-Datenbanken auf dem Betriebssystem Debian 10.
11. Mai 2022

Erstellen eines komplexen Berichts mit Advanced Matrix in FastReport .NET

Vergleichen Sie die Geschwindigkeit, mit der ein komplexer Bericht erstellt wird, mit 3 regulären Tabellen und mit einem AdvancedMatrix-Objekt.
23. März 2022

Matrix vs. AdvancedMatrix und ihre neuen Funktionen

Schritt-für-Schritt-Anleitung zur Verwendung einer neuen Matrix in Ihrem Projekt mit einer Änderung der Struktur und Funktionalität.
Fast Reports
  • 800-985-8986 (Englisch, die USA)
  • +4930568373928 (Deutsch)
  • +55 19 98147-8148 (Portugiesisch)
  • info@fast-report.com
  • 66 Canal Center Plaza, Ste 505, Alexandria, VA 22314

© 1998-2024 Fast Reports Inc.