Die Verarbeitung von Daten im DataTable - how zu finden, minimum und maximum für jede Spalte?
Habe ich DataTable-Objekt, das gefüllt ist mit numerischen Daten aus meiner Datenbank. Ich habe, um allen möglichen numerische Daten-Typen (int32, int64, float, auch datetime, aber das Letzte ist nicht notwendig).
Ich habe zu normalisieren aller Daten in Spalten, jede Spalte getrennt, so dass ich brauchen, um zu finden, die minimalen und maximalen Werte für jede Spalte zu berechnen Normalisierung Koeffizient.
Muss ich Durchlaufen "manuell" durch alle Zeilen zu finden, diese max und min Werte?
Etwas hintergrund:
Ich will nicht, dies zu tun in SQL, weil seine Art der wissenschaftlichen Anwendung, wo der Benutzer arbeitet in der SQL-Sprache und schreibt sehr komplizierte SQL-Abfragen. Ich will nicht zu zwingen, Benutzer zu schreiben, auch kompliziertere Abfragen zu bekommen normalisierten Daten oder erhalten min - /max-Werte
Spalten sind vollständig dynamisch, Sie hängen von der SQL-Abfrage geschrieben von user.
- Sie können die Werte in der Spalte als IEnumerable???
- sind alle integer-Datentyp ?
- Ich weiß nicht, wie zu verwenden IEnumerable 🙁
- Nein. Ich habe, um alle möglichen numerischen Daten-Typen, nicht nur Ganzzahlen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Definieren manuell. Ja, Sie müssen berechnen Sie die
Min
undMax
Werte durch Aufzählung allerDataRows
. Aber das kann man entweder mit dem altenDataTable.Compute
Methode oder mitLinq:
DataTable.Berechnen
:DataRow.Field
Erweiterung Methode muss die box/unbox die Werte unter der Haube, obwohl es zu sein scheint, stark typisiert).Versuchen Sie dies:
Müssen Sie sicherstellen, dass Sie einen Verweis auf
System.Data.DataSetExtensions
, die nicht Hinzugefügt neue Projekte standardmäßig.Können Sie auch
Können Sie es mit
DataTable.Select()
als :Dies funktionierte gut für mich