Ich habe eine Datei mit Tausenden von Datensätzen, die gefiltert werden müssen. Ein Beispiel der Daten wird unten zur Verfügung gestellt. Dies sind Testergebnisse für eine Schule. Die Quelle ist eine flache Datei (csv) Das Ziel wäre, Datensätze zu filtern und nur einen Datensatz am nächsten zu geben 01/15/2016 12:00 für jede ID-Nummer Ist dies möglich, wenn ja, wie würden Sie tun gehen also mit SSIS oder SSDT? Ich bin mir nicht sicher, ob dies mit einer bedingten Aufteilung, einer abgeleiteten Spalte usw. und mit welchen Befehlen geschehen würde, um die nächste Zeile mit dem gewünschten Datum und der gewünschten Zeit zu versehen. Vielen Dank im Voraus !!!Filtern von Zeilen basierend auf dem nächsten Datum
Stichprobe von Daten von CSV-Quelldatei
ID, FNAME, LNAME, DATE, SCORE1, SCORE2, SCORE3 1, JOHN, DOE, 12/11/2015 7:44, 100, 99, 98 1, JOHN, DOE, 12/29/2015 11:45, 99, 100, 96 1, JOHN, DOE, 1/10/2016 11:46, 98, 97, 97 1, JOHN, DOE, 1/20/2016 8:47, 97, 98, 99 1, JOHN, DOE, 3/20/2016 11:48, 96, 96, 100 2, JANE, DOE, 12/12/2015 11:44, 100, 99, 98 2, JANE, DOE, 12/28/2015 11:45, 99, 100, 96 2, JANE, DOE, 1/9/2016 11:46, 98, 97, 97 2, JANE, DOE, 1/23/2016 9:47, 97, 98, 99 2, JANE, DOE, 3/8/2016 8:48, 96, 96, 100 3, CHRIS, DOE, 2/8/2016 8:00, 100, 100, 100
Die gewünschten Ergebnisse, die in eine CSV-Flachdateiziel geschrieben werden würde ID, FNAME, LNAME, DATE, SCORE1, SCORE2, SCORE3 1, JOHN, DOE, 01/10/2016 11:46, 98, 97, 97 2, JANE, DOE, 01/9/2016 11:46, 98, 97, 97 3, CHRIS, DOE, 2/8/2016 8:00, 100, 100, 100
ziemlich viel, was ich tun würde - möglicherweise ein OPENQUERY/OPENROWSET verwenden, wenn der SQL Server direkten Zugriff auf die Datei hat, was unwahrscheinlich ist. Aber in den meisten Fällen würde es sich darum handeln, die Datei in eine Tabelle zu sortieren und etwas zu starten, das ungefähr dem entspricht, was Sie oben haben. Wenn Sie sich mit anderen Daten verbinden möchten, würde ich ein OUTER APPLY für diese Abfrage in Erwägung ziehen, um die Ergebnisse trotzdem auf eine Set-basierte Weise zu erhalten. –
Leider muss ich SSIS verwenden, um das gewünschte Ergebnis zu erzielen. Wir arbeiten mit CSV-Quelldateien und nicht mit einer SQL-Datenbank. Es muss die Zeile mit dem Datum ziehen, das einem bestimmten Datum am nächsten liegt. Die Zeilennummer kann nicht verwendet werden, da die Anzahl der Zeilen immer unterschiedlich ist. – Andrew
Sie importieren also CSV-Dateien und verwenden ssis, um die Zeilen in neue CSV-Dateien zu exportieren? Es gibt zu keinem Zeitpunkt im Prozess eine Datenbank? –