ETL: Nuestras experiencias con Excel en procesos ETL. SolidQ 1 – Excel 0
•
1 recomendación•3,003 vistas
Excel es un formato ampliamente utilizado por los usuarios, y que nos encontramos habitualmente cuando realizamos procesos ETL. Comentaremos sus peculiaridades, así como problemas habituales con los que nos hemos encontrado al tratar con este formato y las soluciones que hemos ido aportando. ¿Has tenido problemas con los drivers?, ¿con truncamientos de cadenas?, ¿con tipos de datos?, ¿con cambios en los nombres de libros y hojas? Expondremos soluciones para estos y otros problemas.
1 de 28
Descargar para leer sin conexión
Más contenido relacionado
ETL: Nuestras experiencias con Excel en procesos ETL. SolidQ 1 – Excel 0
2. BIN-311
ETL: Nuestras experiencias con Excel
en procesos ETL. SolidQ 1 – Excel 0
Salvador Ramos Jorge Sánchez
Mentor – BI DPA – BI
SQL Server MVP, MCTS, MCITP MCTS
sramos@solidq.com jsanchezdiaz@solidq.com
6. Problemática habitual
α Limitaciones en SSIS
α 32/64 bits
β BIDS
β Ejecución
α Tipos de datos y longitudes
α Separadores (problemas con el punto y la coma)
α Lo que quiere ver el usuario vs lo ideal para ETL
α Excel creados por el usuario
α Número variable de hojas y nombres diferentes
7. Limitaciones de uso en SSIS
α ¿No se puede utilizar en Lookup ni en Fuzzy Lookup?
β Sólo si la columna por la que enlazo no es numérica (float)
α Las hojas ocultas no están accesibles
β Las columnas ocultas sí están accesibles
10. Tipos de datos y longitudes
Asignación automática
α Excel lee las 8 primeras filas y de ahí asigna tipos de datos
y longitudes
α Filas escaneadas para obtener el tipo de datos
β [HKEY_LOCAL_MACHINESOFTWAREMicrosoftJet4.0EnginesExce
l] located registry REG_DWORD "TypeGuessRows".
β Valor por defecto 8 (8 filas)
β Si indicamos 0 escanea todas (afecta al rendimiento)
11. Tipos de datos y longitudes
Asignación automática
α Texto
β DT_WSTR (hasta 255 caracteres)
β DT_NTEXT
α Números
β DT_R8 (floats)
α Fechas y horas
β DT_DATE
12. Tipos de datos y longitudes
Casuísticas habituales
α Cuando tenemos datos de explotación, vemos que los
datos no se ajustan a las longitudes establecidas
β Genera truncamientos
α Necesitamos una muestra lo más completa posible
13. Tipos de datos y longitudes
Casuísticas habituales
α Separadores de miles y de decimales
β Uso de punto o coma en función de la configuración
14. Tipos de datos y longitudes
Personalizando
α Crear una muestra personalizada de pocas filas que
implique la generación de tipos de datos y longitudes
apropiados
15. Tipos de datos y longitudes
Personalizando
α Entrar en propiedades avanzadas del origen Excel y definir
los tipos de datos y longitudes apropiadas
γ Evitar cambios posteriores, que afecten otras partes del DataFlow
γ DT_WSTR (hasta 4000)
γ Cambios de DT_WSTR a DT_NTEXT
δ Permite cambiar en Excel Source Output, pero da error en Excel
Source Error Output
γ Cambios de DT_R8 a DT_I1, DT_I2, …
α En el origen no podemos hacer cualquier conversión de
datos
β Para estos casos utilizaremos Data Conversion o Derived Column
17. Informes
Lo que quiere ver el usuario vs lo ideal para el ETL
α Excel con diferentes formatos de líneas
β Líneas en blanco
β Títulos
β Encabezados
β Totales
β Otros
19. Excel creados por el usuario
α No siempre los Excel se generan de forma automatizada
β Multitud de aplicaciones exportan a Excel
β El usuario crea sus propios Excel
α Cuando es el usuario quien los genera
β No siempre son iguales
γ Cambios en los nombres de los ficheros
γ Cambios en los nombres de las hojas del libro
γ Cambios en el orden de las columnas
γ Cambios en los encabezados
γ Inclusión de líneas en blanco
20. Automatizando lecturas
α Podemos leer los archivos de una carpeta cuyo nombre
cumpla un patrón
β Ventas_??_*.xls
α Podemos recorrer todas hojas de un libro
β Evitamos errores por cambios de nombre
β La inclusión o eliminación de hojas no afecta a la ejecución
α Necesitamos escribir código .Net para ello
21. Leyendo «todas» las hojas de «todos» los libros que
cumplen el patrón Ventas_??_*.xls
22. Buenas prácticas
α Analizar los problemas con los tipos de datos
β Modificar los tipos de datos asignados por defecto
γ (Show advanced editor)
β Usar Data Conversion / Derived Column
β Tener una muestra completa
γ Eliminar la restricción por defecto de escaneo de 8 filas
γ Evitar que los datos de explotación sean diferentes a los que nos
mostraron para el desarrollo
β Crear nuestra propia muestra resumida
α Automatizar tareas que nos eviten errores de ejecución y
posteriores modificaciones sobre el paquete
23. Buenas prácticas
α Compromiso de no cambiar la estructura del fichero
α Pongamos en común la estructura a utilizar
β Que perjudique lo menos posible a la visualización y al ETL
γ Ambas partes han de ceder
25. No olvideis rellenar las evaluaciones en el Portal
del Summit!
Nos encontrareis en la zona de exposición en los
siguientes horarios
α Esta tarde a la hora del café
α En cualquier descanso
Salvador Ramos Jorge Sánchez
Mentor – BI DPA – BI
SQL Server MVP, MCTS, MCITP MCTS
sramos@solidq.com jsanchezdiaz@solidq.com
26. Salvador Ramos Jorge Sánchez
Mentor – BI DPA – BI
SQL Server MVP, MCTS, MCITP MCTS
sramos@solidq.com jsanchezdiaz@solidq.com