Importando datos desde Excel en SSIS, valores vacíos
Pregunta
Estoy usando SSIS para importar datos de hojas de Excel a SQL Server 2005, los datos contienen algunas columnas con datos que deberían tener el valor de la celda anterior no vacía en la misma columna, se parece a esto:
2005 | 15 | Something1
| 12 | Something2
| 14 | Something3
2006 | 10 | Something4
| 2 | Something5
| 18 | Something6
| 15 | Something7
Debería completar 2005 y 2006, pero todo lo que pude obtener es nulos. ¿Puedo poner el valor de este campo en una variable si no es nulo, y usarlo para reemplazar los valores nulos que vienen después?
Solución
Tendrás que usar un componente de script en el flujo de datos y pasar por cada fila, usando una variable para mantener el último valor conocido.
Actualización: Aquí está el código. Hice esto en VB en SSIS 2008, por lo que es posible que debas realizar alguna edición (por ejemplo, es posible que tengas que usar Dts.Variables [" User :: LastYear "]. Value.ToInt32 () en lugar de Variables. Último año: no puedo recordar la parte superior de mi cabeza):
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
Esperemos que esto ayude!