Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare una empresa de Scribd logo
ETL: Nuestras experiencias con Excel en procesos ETL. SolidQ 1 – Excel 0
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
Arquitectura de BI
ETL Area
Integration Services
Data Flow
Excel
El formato por excelencia para el usuario
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
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
Problemática 32/64 bits
En BIDS
Problemática 32/64 bits
Ejecución SSIS
α Ejecución en modo 32 bits

α El formato .CSV puede ser una alternativa
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)
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
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
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
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
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
Configuración orígenes Excel
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
Importar informe diseñado por usuario
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
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
Leyendo «todas» las hojas de «todos» los libros que
cumplen el patrón Ventas_??_*.xls
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
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
ETL: Nuestras experiencias con Excel en procesos ETL. SolidQ 1 – Excel 0
 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
Salvador Ramos                        Jorge Sánchez
Mentor – BI                                  DPA – BI
SQL Server MVP, MCTS, MCITP                     MCTS
sramos@solidq.com             jsanchezdiaz@solidq.com
ETL: Nuestras experiencias con Excel en procesos ETL. SolidQ 1 – Excel 0
ETL: Nuestras experiencias con Excel en procesos ETL. SolidQ 1 – Excel 0

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
  • 5. Excel El formato por excelencia para el usuario
  • 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
  • 9. Problemática 32/64 bits Ejecución SSIS α Ejecución en modo 32 bits α El formato .CSV puede ser una alternativa
  • 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