Tutorial Limpieza Datos Final

Embed Size (px)

Citation preview

INTERMEZZO BUSINESS INTELLIGENCE

SQL SERVER INTEGRATION SERVICES 2008LABORATORIOSAlberto Rivera Tavera 7/19/2010

Laboratorios sobre SQL Server Integration Services 2008

Tabla de ContenidosLABORATORIO 1: Exportacin de datos desde SQL Server hacia Excel 15 minutos ......................... 3 LABORATORIO 2: Preparacin de datos en Excel para futuras prcticas de limpieza de datos 5 minutos ...................................................................................................................................10 LABORATORIO 3: Creacin de un nuevo proyecto de integration services, asignando un nombre al proyecto y otro a la solucin. 5 minutos ....................................................................................12 LABORATORIO 4: Ingreso a la solucin desde el archivo .sln asociado con ella 5 minutos ..............13 LABORATORIO 5: Creacin de un paquete para limpieza de datos 40 minutos .............................14

LABORATORIO 1: Exportacin de datos desde SQL Server hacia Excel 15 minutos1. Ingrese a Microsoft Excel 2007 2. En un nuevo libro de Excel, en la primera fila escriba dos ttulos para dos columnas con las cuales deseamos trabajar, la primera puede ser ID y la segunda Tipo de Negocio

3. Asgnele un nombre a la hoja de Excel, por ejemplo: ListaDeTiposDeNegocio 4. Guarde el libro de Excel en una ubicacin fcil de acceder, como C:\ y asgnele un nombre sencillo como TipoNegocio.xlsx (Formato 2007) 5. Cierre Microsoft Excel 2007 6. En SSMS, Conectado a la instancia de motor relacional de SQL Server 2008; En Object Explorer Expanda la carpeta de bases de datos.

7. Expanda la base de datos AdventureWorksDW2008, all mire las tablas y busque la tabla DimReseller

8. Haga clic derecho sobre DimReseller y seleccione Scrip table as Select to New Query Editor

9. Edite la consulta, quitando todos los campos de la sentencia SELECT, menos BusinessType; luego agregue DISTINCT despus de SELECT. (La sentencia final debe ser: SELECT DISTINCT [BusinessType] FROM [AdventureWorksDW].[dbo].[DimReseller])

10. Presione F5 para ejecutar la sentencia. Observe en la parte inferior los resultados.

11. Copie en algn lugar esta sencilla sentencia, puede ser en un archivo de notepad; ms adelante la va a necesitar. 12. En Object Explorer haga clic derecho sobre la base de datos AdventureWorksDW2008 y seleccione Tasks y all Export data

13. Lea la bienvenida del asistente, y luego haga clic en Next

14. Verifique que la fuente de datos sea SQL Native Client, que este escrito el nombre de la instancia por defecto y que est seleccionada la base de datos AdventureWorksDW2008; de no ser as modifique los datos para que as sea. Haga clic en Next

15. Ahora seleccione como destino Microsoft Excel escriba la direccin y nombre del archivo de Excel que cre y asegrese de chequear el campo que indica que en el documento, la primera fila indica el nombre de las columnas. Haga clic en Next

16. Seleccione la opcin para escribir una consulta, haga clic en Next

17. Pegue all la sentencia que cre unos pasos atrs, esta sentencia va a traer los 3 tipos de negocio que existen en la base de datos. Haga clic en Next

18. En Destination, seleccione la hoja de Excel en la cual usted puso las dos columnas al comienzo de este laboratorio. Luego haga clic en Edit Mapping

19. Complete el mapeo, haciendo que la fuente BusinessType coincida con el campo Tipo de Negocio de la tabla de Excel. Haga clic en OK y luego en Next

20. Seleccione la opcion para ejecutar inmediatamente el paquete de SSIS creado. Y haga clic en Next

21. Observe el listado de las acciones que va a realizar el asistente cuando usted finalice, luego haga clic en Finish

22. Observe que se copiaron 3 filas, ahora haga clic en Close

23. Ingrese de nuevo al documento de Excel y observe los nuevos registros.

LABORATORIO 2: Preparacin de datos en Excel para futuras prcticas de limpieza de datos 5 minutos1. Ingrese al documento de Excel que cargo en el laboratorio anterior

2. Este documento va a ser utilizado para una prueba de limpieza de datos ms adelante, por esa razn vamos a ensuciarlo en este laboratorio, para empezar, llene al campo ID con nmeros desde 1 hasta 20

3. Ahora, copie los tres registros una y otra vez hacia abajo hasta completar las 20 filas.

4. Ac tenemos informacin vlida, ahora elimine el dato de tipo de negocio de algunas filas y reemplcelo por otro tipo de negocio que no haga parte de los que estn en la base de datos; por ejemplo a. En la fila 6 cmbielo por pet shop b. En la fila 16 cmbielo por Light shop

5. Ahora simulemos errores de escritura, para datos correctos, para ello modifique algunos registros de tal manera que sean registros correctos pero con errores de escritura; por ejemplo: a. En la fila 5 escriba Value Aded Reseller (Added) b. En la fila 10 escriba Specialty Bike Shoop (Shop) c. En la fila 15 escriba Warehuose (Warehouse) d. En la fila 20 escriba Value Added Reseler (Reseller)

6. Guarde el documento pues lo necesitara, con estos cambios en los datos, para un prximo laboratorio.

LABORATORIO 3: Creacin de un nuevo proyecto de integration services, asignando un nombre al proyecto y otro a la solucin. 5 minutos1. Entre a Business Intelligence Development Studio (BIDS) y seleccione New Proyect

2. Seleccione un proyecto de Integration Services, Llame al proyecto ProyectoSSIS y a la solucin SolucinSSIS, haga clic en OK

3. Cierre BIDS

LABORATORIO 4: Ingreso a la solucin desde el archivo .sln asociado con ella 5 minutos1. Vaya a C:\

2. Observe que all habr un directorio con el nombre de la solucin, ingrese a ese directorio.

3. All hay un directorio con el nombre del proyecto; ahora haga clic sobre el archivo .sln

LABORATORIO 5: Creacin de un paquete para limpieza de datos 40 minutos1. Asegurese que Microsoft Excel se encuentre cerrado 2. Abra la solucin que creo en el laboratorio 5

3. En el panel Connection managers (parte inferior del Control Flow) haga clic derecho y seleccione New Connection

4. Seleccione EXCEL y haga clic en Add

5. Escriba la ubicacin del archivo de Excel que creo en laboratorios anteriores, revise que la versin de Excel sea Microsoft Excel 2007 y que este chequeada la opcin para que la primera fila traiga el nombre de las columnas. Luego haga clic en OK.

6. Nuevamente haga clic derecho en Connection Managers pero ahora seleccione New OLEDB Connection

7. Haga clic en New

8. Escriba el nombre de la instancia de SQL 2008 y seleccione la base de datos AdventureWorksDW2008, luego haga clic en Test Connection

9. Haga clic en OK, y luego nuevamente en OK

10. Asegrese de tener seleccionada la conexin a AdventureWorksDW que acaba de crear y haga clic en OK

11. Arrastre, desde Toolbox una tarea Data Flow Task

12. Haga clic derecho sobre esta tarea y seleccione Rename , cmbiele el nombre a Limpieza de Datos

13. Arrastre una tarea File System Task y ubquela debajo de la tarea limpieza de datos

14. Arrastre un Sequence Container y pngalo al lado de las dos tareas

15. Renombre la tarea File System Task como Movimiento del Archivo y el Sequence Container como Proceso Completo

16. Haga doble clic sobre Movimiento del Archivo

17. Modifique las conexiones, en DestinationConnection busque la carpeta de la solucin (Folder Existente) y en SourceConnnection busque el archivo de Excel, (Archivo Existente), Modifique tambin la operacin a realizar, seleccione Move File. Haga clic en OK 18. Conecte la tarea Limpieza de datos con Movimiento del Archivo (de la misma manera que lo haca en los planes de mantenimiento)

19. Seleccione las dos tareas y arrstrelas dentro de Proceso Completo

20. Ahora haga doble clic sobre Limpieza de datos

21. Arrastre una fuente de flujo de datos Excel Source

22. Renombre la fuente de datos de Excel como Archivo a Limpiar y luego haga doble clic sobre ella.

23. Seleccione la tabla del libro de Excel donde se encuentra la tabla. Luego haga clic a la izquierda en Columns

24. Observe que aqu estn las columnas que usted cre. Haga clic en OK 25. Ahora arrastre un destino de flujo de datos Data Reader destination y pngalo justo debajo de Archivo a Limpiar, luego conctelos.

26. Haga clic derecho sobre el conector que une la fue nte con el destino y seleccione Data Viewers

27. Haga clic en Add

28. Vaya a la pestaa Grid

29. Observe que all ya se encuentran las columnas del archivo de Excel, haga clic en OK y luego de nuevo en OK

30. Haga clic derecho sobre la superficie de trabajo y seleccione Execute Task 31. All aparece el Data Viewer mostrando los datos que estn pasando por all, esta caracterstica de SSIS nos va a ser de gran utilidad ms adelante, en el proceso de limpieza de datos.

32. 33. Haga clic en el botn run (el botn verde en la parte superior izquierda del Data Viewer) 34. Cierre el Data Viewer

35. El pequeo flujo de datos se ha ejecutado, sin embargo hasta ac solamente hemos visto que podemos sacar los datos del archivo de Excel. 36. Detenga el paquete, para ello, en la parte superior est el botn Stop Debugging, haga clic sobre l.

37. Haga clic derecho sobre DataReaderDestination y Brrelo, En cambio de l, arrastre una transformacin Fuzzy Lockup, y renmbrela como Comparacin, no olvide conectar la fuente con la transformacin.

38. Haga doble clic sobre comparacin

39. Busque la tabla dbo.DimReseller como tabla de referencia y luego vaya al tab Columns

40. Haga clic sobre Tipo de Negocio y arrastre hasta BusinessType, luego chequee el campo BusinessType. Y haga clic en OK

41. Observe que hay un mensaje de advertencia sobre Comparacin, debido a la diferencia en el tamao del campo Tipo de negocio y el tamao del campo BusinessType. Ahora arrastre de nuevo un DataReaderDestination y ubquelo debajo de la transformacin, conctelos.

42. Agregue un DataViewer entre la transformacin y el destino, agregue unicamente los campos ID, Tipo de negocio, BusinessType, y _Similarity_Tipo de Negocio.

43. Haga clic derecho sobre la superficie de trabajo y ejecute la tara.

44. Observe muy bien el DataViewer, se ha generado una columna adicional que nos muestra que tan parecido es (entre 0 y 1) un campo con el otro. Observe que los campos 6 y 16 estan por debajo del 50 % de similaridad, mientras que los campos 5, 10, 15 y 20, en los cuales el problema es un error de digitacin, pero son datos correctos se encuentran por encima de 75 % y la mayora de ellos muy cercanos al 100%; el proceso de limpieza de datos debera recibir a estos datos como correctos y adems debera corregir los errores de digitacin que hay en ellos. Haga clic en el botn Rundel dataViewer y luego cirrelo.

45. Detenga el proceso 46. Elimine el DataReaderDestination y reemplcelo por una transformacin Conditional Split, conctela debajo e comparacin y renmbre la como Correctos-Incorrectos, luego haga doble clic sobre ella.

47. Expanda Columns y de all arrastre el campo _Similarity_Tipo de Negocio hacia la parte inferior, donde dice Condition.

48. Edite el texto de la condicin escribiendo a la derecha del campo que acaba de arrastrar el siguiente texto: >0.7 , observe que si usted escribiera una expresin errnea, esta tomara un color rojo automticamente.

49. Cambie el texto Case 1 y escriba en vez de el Datos Correctos, Luego cambie el campo Default output name y escriba all datos incorrectos. Luego haga clic en OK 50. Arrastre dos destinos DataReaderDestination y pngalos debajo de CorrectosIncorrectos; Conecte el primero de ellos como lo ha hecho siempre

51. Aparecer una ventana para que seleccione cul de las salidas de la transformacin desea enviar a ese destino, seleccione Datos Correctos y haga clic en OK, luego conecte el otro destino a la otra salida de la transformacin.

52. Ejecute de nuevo la tarea como lo haba hecho anteriormente.

53. Detenga el proceso 54. No ejecute la tarea como siempre lo haba hecho, recuerde que el paquete no es solamente el flujo de datos Limpieza de datos en el que estamos, vaya en la parte superior al tab Control Flow

55. Haga clic derecho sobre el contenedor Proceso Completo y seleccione Execute Container

56. El proceso de limpieza de datos, carga hacia tablas en la base de datos y movimiento del archivo fuente de Excel fue terminado con xito.

57. No olvide guardar los cambios en la solucin.

Alberto Rivera http://www.intermezzo-bi.com/alberto