SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
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
 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

Mais conteúdo relacionado

Mais procurados

Base de datos para la farmacia "José"
Base de datos para la farmacia "José"Base de datos para la farmacia "José"
Base de datos para la farmacia "José"BrandonDanielUgazSal1
 
Presentacion diseño de archivos
Presentacion diseño de archivosPresentacion diseño de archivos
Presentacion diseño de archivosharoldrm
 
Formato condicional en excel 2016
Formato condicional en excel 2016Formato condicional en excel 2016
Formato condicional en excel 2016Veronica Orellana
 
Pasteleriabasededatos
PasteleriabasededatosPasteleriabasededatos
PasteleriabasededatosEmmanuelMax3
 
5. Ejercicios normalización
5. Ejercicios normalización5. Ejercicios normalización
5. Ejercicios normalizaciónMarcelo Herrera
 
MICROSOFT ACCESS
MICROSOFT ACCESSMICROSOFT ACCESS
MICROSOFT ACCESSgabylety
 
Seguridad de la base de datos
Seguridad de la base de datosSeguridad de la base de datos
Seguridad de la base de datososandcr
 
Base de datos ventajas y desventajas
Base de datos ventajas y desventajasBase de datos ventajas y desventajas
Base de datos ventajas y desventajasMartin Macario
 
Comparacion de Gestores de Base de Datos
Comparacion de Gestores de Base de DatosComparacion de Gestores de Base de Datos
Comparacion de Gestores de Base de DatosVictor Zevallos
 
Access hospital caso practico
Access hospital caso practicoAccess hospital caso practico
Access hospital caso practicovidad guadarrama
 
Curso Excel Basico, Unidad 1
Curso Excel Basico, Unidad 1Curso Excel Basico, Unidad 1
Curso Excel Basico, Unidad 1Guillermo Díaz
 
*Diagramas de flujo nivel 0-1*
*Diagramas de flujo nivel 0-1**Diagramas de flujo nivel 0-1*
*Diagramas de flujo nivel 0-1*venusprinz583
 
Base de datos con conclusion
Base de datos con conclusionBase de datos con conclusion
Base de datos con conclusionAngel kbn
 

Mais procurados (20)

Base de datos para la farmacia "José"
Base de datos para la farmacia "José"Base de datos para la farmacia "José"
Base de datos para la farmacia "José"
 
Presentacion diseño de archivos
Presentacion diseño de archivosPresentacion diseño de archivos
Presentacion diseño de archivos
 
Formato condicional en excel 2016
Formato condicional en excel 2016Formato condicional en excel 2016
Formato condicional en excel 2016
 
Integridad en las bases de datos
Integridad en las bases de datosIntegridad en las bases de datos
Integridad en las bases de datos
 
Pasteleriabasededatos
PasteleriabasededatosPasteleriabasededatos
Pasteleriabasededatos
 
5. Ejercicios normalización
5. Ejercicios normalización5. Ejercicios normalización
5. Ejercicios normalización
 
MICROSOFT ACCESS
MICROSOFT ACCESSMICROSOFT ACCESS
MICROSOFT ACCESS
 
Seguridad de la base de datos
Seguridad de la base de datosSeguridad de la base de datos
Seguridad de la base de datos
 
Base de datos ventajas y desventajas
Base de datos ventajas y desventajasBase de datos ventajas y desventajas
Base de datos ventajas y desventajas
 
Proyecto final de software
Proyecto final de softwareProyecto final de software
Proyecto final de software
 
Comparacion de Gestores de Base de Datos
Comparacion de Gestores de Base de DatosComparacion de Gestores de Base de Datos
Comparacion de Gestores de Base de Datos
 
Access hospital caso practico
Access hospital caso practicoAccess hospital caso practico
Access hospital caso practico
 
Ciclo de vida de un Sistema
Ciclo de vida de un SistemaCiclo de vida de un Sistema
Ciclo de vida de un Sistema
 
Analisis y diseño de sistemas
Analisis y diseño de sistemasAnalisis y diseño de sistemas
Analisis y diseño de sistemas
 
Curso Excel Basico, Unidad 1
Curso Excel Basico, Unidad 1Curso Excel Basico, Unidad 1
Curso Excel Basico, Unidad 1
 
*Diagramas de flujo nivel 0-1*
*Diagramas de flujo nivel 0-1**Diagramas de flujo nivel 0-1*
*Diagramas de flujo nivel 0-1*
 
Monitoreo sql server
Monitoreo sql serverMonitoreo sql server
Monitoreo sql server
 
Base de datos con conclusion
Base de datos con conclusionBase de datos con conclusion
Base de datos con conclusion
 
Ejercicios Entidad - Relacion
Ejercicios Entidad - RelacionEjercicios Entidad - Relacion
Ejercicios Entidad - Relacion
 
BASES DE DATOS
BASES DE DATOSBASES DE DATOS
BASES DE DATOS
 

Semelhante a ETL: Nuestras experiencias con Excel en procesos ETL. SolidQ 1 – Excel 0

slides-del-curso-de-analisis-de-datos-con-power-bi_cf66119b-6f4c-4e91-9eab-72...
slides-del-curso-de-analisis-de-datos-con-power-bi_cf66119b-6f4c-4e91-9eab-72...slides-del-curso-de-analisis-de-datos-con-power-bi_cf66119b-6f4c-4e91-9eab-72...
slides-del-curso-de-analisis-de-datos-con-power-bi_cf66119b-6f4c-4e91-9eab-72...SALAZARCOLLASABELANG
 
Modelando con PowerPivot. ¿Qué se puede y que no?
Modelando con PowerPivot. ¿Qué se puede y que no?Modelando con PowerPivot. ¿Qué se puede y que no?
Modelando con PowerPivot. ¿Qué se puede y que no?SolidQ
 
SqlSat247 Bogota - SQL Server Modo Tabular vs Modo Multidimensional - Pros y ...
SqlSat247 Bogota - SQL Server Modo Tabular vs Modo Multidimensional - Pros y ...SqlSat247 Bogota - SQL Server Modo Tabular vs Modo Multidimensional - Pros y ...
SqlSat247 Bogota - SQL Server Modo Tabular vs Modo Multidimensional - Pros y ...Guillermo Taylor
 
Presentacion modelo relacional2_final
Presentacion modelo relacional2_finalPresentacion modelo relacional2_final
Presentacion modelo relacional2_finalAlitas221
 
Introduccion a SQL Server 2000
Introduccion a SQL Server 2000Introduccion a SQL Server 2000
Introduccion a SQL Server 2000freddymax
 
D:\Introduccion A Sql 2000 Server
D:\Introduccion A Sql 2000 ServerD:\Introduccion A Sql 2000 Server
D:\Introduccion A Sql 2000 Serverguestb4f410
 
SQL Server rápido y furioso
SQL Server rápido y furiosoSQL Server rápido y furioso
SQL Server rápido y furiosoSpanishPASSVC
 
Microsoft Access
Microsoft AccessMicrosoft Access
Microsoft Accesselpelado.09
 
Ofimática Colegie De La Salle 2014
Ofimática Colegie De La Salle 2014Ofimática Colegie De La Salle 2014
Ofimática Colegie De La Salle 2014Andrez0Ruiz
 
Dts y analysis services 2000
Dts y analysis services 2000Dts y analysis services 2000
Dts y analysis services 2000Salvador Ramos
 
Tipos de datos en MySQL Workbench
Tipos de datos en  MySQL  WorkbenchTipos de datos en  MySQL  Workbench
Tipos de datos en MySQL WorkbenchJair Ospino Ardila
 
MDA en el contexto de datawarehouse
MDA en el contexto de datawarehouseMDA en el contexto de datawarehouse
MDA en el contexto de datawarehouseMartin Baez
 
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ
 

Semelhante a ETL: Nuestras experiencias con Excel en procesos ETL. SolidQ 1 – Excel 0 (20)

Sql server 2014 básico
Sql server 2014 básicoSql server 2014 básico
Sql server 2014 básico
 
slides-del-curso-de-analisis-de-datos-con-power-bi_cf66119b-6f4c-4e91-9eab-72...
slides-del-curso-de-analisis-de-datos-con-power-bi_cf66119b-6f4c-4e91-9eab-72...slides-del-curso-de-analisis-de-datos-con-power-bi_cf66119b-6f4c-4e91-9eab-72...
slides-del-curso-de-analisis-de-datos-con-power-bi_cf66119b-6f4c-4e91-9eab-72...
 
Base De Datos I
Base De Datos IBase De Datos I
Base De Datos I
 
Modelando con PowerPivot. ¿Qué se puede y que no?
Modelando con PowerPivot. ¿Qué se puede y que no?Modelando con PowerPivot. ¿Qué se puede y que no?
Modelando con PowerPivot. ¿Qué se puede y que no?
 
SqlSat247 Bogota - SQL Server Modo Tabular vs Modo Multidimensional - Pros y ...
SqlSat247 Bogota - SQL Server Modo Tabular vs Modo Multidimensional - Pros y ...SqlSat247 Bogota - SQL Server Modo Tabular vs Modo Multidimensional - Pros y ...
SqlSat247 Bogota - SQL Server Modo Tabular vs Modo Multidimensional - Pros y ...
 
Presentacion modelo relacional2_final
Presentacion modelo relacional2_finalPresentacion modelo relacional2_final
Presentacion modelo relacional2_final
 
Introduccion a SQL Server 2000
Introduccion a SQL Server 2000Introduccion a SQL Server 2000
Introduccion a SQL Server 2000
 
D:\Introduccion A Sql 2000 Server
D:\Introduccion A Sql 2000 ServerD:\Introduccion A Sql 2000 Server
D:\Introduccion A Sql 2000 Server
 
SQL Server rápido y furioso
SQL Server rápido y furiosoSQL Server rápido y furioso
SQL Server rápido y furioso
 
Intro sql
Intro sqlIntro sql
Intro sql
 
Microsoft Access
Microsoft AccessMicrosoft Access
Microsoft Access
 
Ofimática Colegie De La Salle 2014
Ofimática Colegie De La Salle 2014Ofimática Colegie De La Salle 2014
Ofimática Colegie De La Salle 2014
 
Base datos f03
Base datos f03Base datos f03
Base datos f03
 
data_collection-es.pptx
data_collection-es.pptxdata_collection-es.pptx
data_collection-es.pptx
 
Dts y analysis services 2000
Dts y analysis services 2000Dts y analysis services 2000
Dts y analysis services 2000
 
Tipos de datos en MySQL Workbench
Tipos de datos en  MySQL  WorkbenchTipos de datos en  MySQL  Workbench
Tipos de datos en MySQL Workbench
 
MDA en el contexto de datawarehouse
MDA en el contexto de datawarehouseMDA en el contexto de datawarehouse
MDA en el contexto de datawarehouse
 
Base de datos - Clase 1
Base de datos - Clase 1Base de datos - Clase 1
Base de datos - Clase 1
 
Sesion01-SQL Server.pptx
Sesion01-SQL Server.pptxSesion01-SQL Server.pptx
Sesion01-SQL Server.pptx
 
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
 

Mais de SolidQ

SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ
 
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ
 
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ
 
SolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ
 
Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?SolidQ
 
SQL Server 2017 en Linux
SQL Server 2017 en LinuxSQL Server 2017 en Linux
SQL Server 2017 en LinuxSolidQ
 
Columnstore en la vida real
Columnstore en la vida realColumnstore en la vida real
Columnstore en la vida realSolidQ
 
PowerApprízate
PowerApprízatePowerApprízate
PowerApprízateSolidQ
 
Jugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksJugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksSolidQ
 
Analizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BIAnalizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BISolidQ
 
Mantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesMantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesSolidQ
 
R en relacional
R en relacionalR en relacional
R en relacionalSolidQ
 
Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!SolidQ
 
Arquitecturas lambda en Azure
Arquitecturas lambda en AzureArquitecturas lambda en Azure
Arquitecturas lambda en AzureSolidQ
 
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018SolidQ
 
BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018SolidQ
 
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018SolidQ
 
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018SolidQ
 
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...SolidQ
 
Novedades de SSAS 2017
Novedades de SSAS 2017Novedades de SSAS 2017
Novedades de SSAS 2017SolidQ
 

Mais de SolidQ (20)

SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
 
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
 
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
 
SolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantes
 
Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?
 
SQL Server 2017 en Linux
SQL Server 2017 en LinuxSQL Server 2017 en Linux
SQL Server 2017 en Linux
 
Columnstore en la vida real
Columnstore en la vida realColumnstore en la vida real
Columnstore en la vida real
 
PowerApprízate
PowerApprízatePowerApprízate
PowerApprízate
 
Jugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksJugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocks
 
Analizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BIAnalizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BI
 
Mantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesMantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para Dummies
 
R en relacional
R en relacionalR en relacional
R en relacional
 
Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!
 
Arquitecturas lambda en Azure
Arquitecturas lambda en AzureArquitecturas lambda en Azure
Arquitecturas lambda en Azure
 
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
 
BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018
 
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
 
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
 
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
 
Novedades de SSAS 2017
Novedades de SSAS 2017Novedades de SSAS 2017
Novedades de SSAS 2017
 

Último

Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 

Último (12)

Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 

ETL: Nuestras experiencias con Excel en procesos ETL. SolidQ 1 – Excel 0

  • 1.
  • 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
  • 24.
  • 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