Importieren von Daten aus Excel in SSIS, leere Werte
Frage
ich SSIS bin mit Daten aus Excel-Tabellen in SQL Server 2005 zu importieren, enthält die Daten einige Spalten mit Daten, die den Wert des vorherigen nicht leeren Zelle in der gleichen Spalte haben sollte, sieht es wie folgt aus:
2005 | 15 | Something1
| 12 | Something2
| 14 | Something3
2006 | 10 | Something4
| 2 | Something5
| 18 | Something6
| 15 | Something7
Es sollte fill-in 2005 und 2006, aber alles, was ich bekommen konnte ist nulls. Kann ich diesen Feldwert in einer Variablen setzen, wenn es nicht null ist, und es verwende, um die Null-Werte zu ersetzen, die nach ihm kommen?
Lösung
Sie erhalten eine Skriptkomponente in dem Datenfluss verwenden müssen und gehen durch jede Zeile einer Variable mit dem letzten bekannten Wert zu halten.
Update: Hier ist der Code. Ich tat dies in VB in SSIS 2008, so kann es einige Bearbeitung sein Sie (zum Beispiel zu tun haben, müssen Sie Dts.Variables verwenden [ „User :: LastYear“]. Value.ToInt32 () anstelle von Variables.LastYear -I kann nicht die Spitze von meinem Kopf erinnert off):
Dim LastYear As Integer
Public Overrides Sub PreExecute()
MyBase.PreExecute()
LastYear = 0
End Sub
Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
If Row.year_IsNull Then
Row.year = LastYear
Else
LastYear = Row.year
End If
End Sub
Wir hoffen, das hilft!