Você está na página 1de 36

Data Warehouse & Olap

SQL Server Services

Integration

Objetivos:
Identificar los procesos para poblar un Data Warehouse. Utilizar SSIS para poblar el Data Warehouse

Temas:
1. Poblar el data warehouse 2. Herramientas para implementar procesos ETL 3. Crear paquetes SSIS a travs del SQL Server Business Intelligence Development Studio. 4. Recomendaciones para la conversin de tipos de datos

CIBERTEC

Captulo 3b

Data Warehouse & Olap

Ejercicio 1: Crear conexiones y transformaciones a travs de un

proyecto de Integration Services. 1. En el men Inicio, seleccione All Programs > Microsoft SQL Server 2005 > SQL Server Business Intelligence Development Studio. Se abrir el entorno de desarrollo de .Net. En el men File, seleccione New y luego seleccione Project. Aparecern los distintos tipos de proyecto que se pueden crear.

2.

Seleccione la plantilla Integration Services Project. En la casilla Location, seleccione la ruta donde desea crear el proyecto. En la casilla Name, escriba AdventureWorks_SSIS_Demo1. La ventana debe quedar como se muestra en la figura anterior. Presione el botn OK para crear el proyecto. 3. Aparecer el entorno de desarrollo de proyectos de Integration Services. En la ventana del Solution Explorer, observe los elementos constituyentes del proyecto: Data Sources, Data Source Views, SSIS Packages y Miscellaneous.

CIBERTEC

Data Warehouse & Olap

4.

El primer paso es la definicin de un Data Source. En el Solution Explorer, seleccione el nodo Data Sources, d un clic derecho y seleccione New Data Source:

5.

Aparecer la pantalla de bienvenida del asistente para la definicin de orgenes de datos (Data Source Wizard). Presione el botn Next. Aparecer la ventana de definicin de conexiones con datos.

CIBERTEC

Data Warehouse & Olap

6.

Para definir una nueva conexin con datos, presione el botn New. Aparecer la ventana del Connection Manager. Seleccione el conector .Net Providers\SqlClient Data Provider, el servidor local y la base de datos AdventureWorks, como se muestra en la siguiente figura:

CIBERTEC

Data Warehouse & Olap

7.

Presione el botn OK. A continuacin, presione el botn Next. Aparecer la ventana final del asistente.

8.

Presione el botn Finish para finalizar el asistente. A continuacin, se definir un Data Source View, que proporciona una vista desconectada de la estructura de las tablas en el origen de datos. Para esto, seleccione el nodo Data Source Views en

CIBERTEC

Data Warehouse & Olap

el Solution Explorer, haga un clic derecho y seleccione New Data Source View:

9.

Aparecer la ventana inicial del asistente de definicin de vistas de datos (Data Source View Wizard). Presione el botn Next. La ventana siguiente muestra los orgenes de datos definidos en el proyecto. Seleccione el data source Adventure Works.

10.

Presione el botn Next. La siguiente ventana permite seleccionar las tablas del origen de datos cuya estructura se desea visualizar. Seleccione las tablas Production.Product y Production.ProductSubCategory. La ventana debe quedar como se muestra en la siguiente figura:

CIBERTEC

Data Warehouse & Olap

11.

Presione el botn Next. Aparecer la ventana final del asistente.

12.

Presione el botn Finish para finalizar el asistente. Observe que el entorno de diseo muestra la estructura de las tablas seleccionadas en el Data Source View.

CIBERTEC

Data Warehouse & Olap

13.

La base de datos AdventureWorks ser utilizada como origen de datos. En este ejercicio, el destino de datos ser una nueva base de datos llamada AWorks_MartDemo. Esta nueva base de datos ser creada a travs del Server Explorer del entorno de desarrollo de Integration Services. En el men View, seleccione la opcin Server Explorer. La ventana del Server Explorer se abrir en el lado izquierdo del entorno de desarrollo. Seleccione el nodo Data Connections, haga un clic derecho y seleccione Create New SQL Server Database.

14.

CIBERTEC

Data Warehouse & Olap

15.

En la ventana de creacin de bases de datos, ingrese la informacin que se muestra en la siguiente figura:

16.

Pulse el botn OK. Esto crear la base de datos AWorks_MartDemo. 17. Cierre el Server Explorer. 18. Repita los pasos del (4) al (7) para crear un nuevo Data Source llamado AWorks MartDemo, dirigido hacia la base de datos AWorks_MartDemo. Para este data source, debe elegir el conector Native OLEDB\SQL Native Client:

CIBERTEC

Data Warehouse & Olap

10

Finalmente, la ventana del Solution Explorer debe quedar de la siguiente manera:

19.

El siguiente paso es la definicin del paquete de Integration Services para implementar la lgica de la transformacin de datos. Los paquetes de Integration Services se ubican en el nodo SSIS Packages del Solution Explorer. Obsrvese que en el proyecto se ha agregado automticamente un paquete llamado Package.dtsx. Haga un clic derecho sobre el paquete y seleccione la opcin Delete:

CIBERTEC

Data Warehouse & Olap

11

20.

Pulse el botn OK en la ventana de confirmacin para confirmar la eliminacin del paquete. 21. A continuacin se crear el primer paquete SSIS. Para esto, seleccione el nodo SSIS Packages en el Solution Explorer, haga un clic derecho y seleccione la opcin New SSIS Package:

CIBERTEC

Data Warehouse & Olap

12

22.

Obsrvese que se ha creado un nuevo paquete llamado Package1.dtsx. Para renombrarlo, haga un clic derecho sobre el paquete en el Solution Explorer y seleccione la opcin Rename:

23.

Renombre el paquete como CopiaProductos.dtsx, y presione la tecla Enter. Se mostrar la siguiente ventana de confirmacin:

Pulse el botn Yes. Esto cambiar tanto el nombre fsico del archivo del paquete, como el nombre del paquete en el entorno de desarrollo. 24. El siguiente paso es definir las tareas de transformacin. En Integration Services, estas tareas estn representadas en los Tasks, cada uno de los cuales puede efectuar una labor especfica de procesamiento o transformacin de datos. Estas tareas pueden visualizarse a travs de la caja de herramientas (Toolbox) del entorno de desarrollo. Para visualizar el Toolbox, expanda el men View, y seleccione la opcin Toolbox:
CIBERTEC

Data Warehouse & Olap

13

25.

Se abrir el Toolbox de SQL Server Integration Services. La siguiente figura muestra una vista parcial de la caja de herramientas:

CIBERTEC

Data Warehouse & Olap

14

26.

En el toolbox, seleccione la tarea Data Flow Task y arrstrela hacia la ventana de diseo del paquete (en la parte central del entorno de desarrollo). Se crear una tarea llamada Data Flow Task. El entorno de desarrollo quedar de la siguiente manera:

27.

A continuacin, se renombrar la tarea de transformacin. Para esto, seleccione la tarea Data Flow Task en el diseador del paquete, y cambie su propiedad Name a Copiar productos en la ventana de propiedades (para abrir la ventana de propiedades, expanda el men View y seleccione la opcin Properties Window. La ventana de propiedades se abrir en la parte inferior derecha, debajo del Solution Explorer).

CIBERTEC

Data Warehouse & Olap

15

28.

Cada tarea de flujo de datos consiste en varias transferencias de informacin entre orgenes de datos. A continuacin, se definirn los flujos de informacin al interior de la tarea Copiar productos. Para esto, haga un doble clic sobre la tarea Copiar productos. Se abrir en el entorno de desarrollo la pestaa Data Flow.

29.

Cada paquete posee un conjunto de administradores de conexin (Connection Managers). Los connection managers definen los posibles orgenes y destinos de datos al interior del paquete, y pueden crearse a partir de los data sources

CIBERTEC

Data Warehouse & Olap

16

especificados en el proyecto. En la pestaa Connection Managers, haga un clic derecho en cualquier parte de esta ventana, y seleccione la opcin New connection from data source:

30.

Aparecer disponibles:

una

ventana

que

muestra

los

data

sources

31.

Seleccione el data source Adventure Works y pulse el botn OK. Repita los pasos (30) y (31) para crear otro connection manager que apunte hacia el data source AWorks MartDemo.

CIBERTEC

Data Warehouse & Olap

17

32.

En el Toolbox, expanda la pestaa Data Flow Sources, seleccione el tem Data Reader Source y arrstrelo sobre la ventana de diseo. Se crear un nuevo origen de registros llamado Data Reader Source. Seleccinelo y, en la ventana de propiedades, cambie su propiedad Name a Consulta Adventure Works. La pantalla debe quedar de la siguiente manera:

33.

Haga doble clic sobre el origen Consulta Adventure Works. Aparecer el editor de propiedades del Data Reader Source. Seleccione la pestaa Connection Managers. En la columna Connection Manager, seleccione el data source Adventure Works.

CIBERTEC

Data Warehouse & Olap

18

34.

Seleccione la pestaa Component Properties. En el grupo Custom Properties, seleccione la fila SqlCommand, y pulse el botn .

35.

Aparecer una ventana que permite escribir una sentencia SQL para obtener un conjunto de filas. En dicha ventana, escriba la siguiente sentencia:

CIBERTEC

Data Warehouse & Olap

19

36.

Pulse el botn OK. Seleccione la pestaa Column Mappings, y observe que las columnas de la consulta han sido detectadas:

37.

Pulse el botn OK. Con estos pasos, se ha completado la creacin de un origen de registros, basado en una consulta SQL. 38. En el Toolbox, expanda la pestaa Data Flow Destinations, seleccione el tem OLE DB Destination y arrstrelo sobre la ventana de diseo. Se crear un nuevo destino de registros llamado OLE DB Destination. Seleccinelo y, en la ventana de propiedades, cambie su propiedad Name a Destino AWorks MartDemo. La pantalla debe quedar de la siguiente manera:
CIBERTEC

Data Warehouse & Olap

20

39.

Seleccione el origen Consulta Adventure Works. Observe que aparece una flecha verde y una flecha roja saliendo del origen de registros. La flecha verde representa el flujo de datos que se produce en caso de que la lectura de registros transcurra sin problemas; la flecha roja representa el flujo que tendr lugar ante un error en la lectura de los registros del origen. Seleccione la flecha verde que sale de Consulta Adventure Works, y arrstrela con el mouse sobre el destino Destino AWorks MartDemo. Esta accin define el flujo de los datos entre el origen y el destino de registros. Al finalizar, la ventana debe mostrarse de la siguiente forma:

40.

CIBERTEC

Data Warehouse & Olap

21

41.

Haga doble clic sobre el destino Destino AWorks MartDemo. Se abrir el editor de propiedades del destino de registros. La ventana debe quedar de la siguiente manera:

42.

A continuacin se crear una tabla en el destino AWorks MartDemo. En la propiedad Name of the table or the view, pulse el botn New. Se abrir una ventana que permite escribir una sentencia CREATE TABLE. Modifique la sentencia de la siguiente manera:

CIBERTEC

Data Warehouse & Olap

22

43.

Pulse el botn OK para crear la tabla. A continuacin, seleccione la opcin Mappings en el lado izquierdo del editor de propiedades del destino de registros. Esto generar automticamente los mapeos de columnas entre el origen (la consulta SQL escrita en el paso 35) y el destino de registros (la tabla ResumenProductos):

44. 45.

Pulse el botn OK para aceptar los cambios y finalizar la configuracin del destino de registros. Para depurar el paquete, pulse el botn en la barra de herramientas del entorno de desarrollo, o seleccione la opcin Start Debugging en el men Debug. Al finalizar la ejecucin, el entorno de desarrollo mostrar la transferencia de datos en la siguiente forma:

CIBERTEC

Data Warehouse & Olap

23

46.

Para finalizar la depuracin, presione el botn en la barra de herramientas del entorno de desarrollo, o seleccione la opcin Stop Debugging en el men Debug.

CIBERTEC

Data Warehouse & Olap Ejercicio 2: Definir flujos de control.

24

1.

En el entorno de desarrollo, en el paquete CopiaProductos.dtsx, regrese a la pestaa Control Flow. En el Toolbox, seleccione el tem Execute SQL Task, y arrstrelo sobre la ventana de diseo. La pantalla debe quedar de la siguiente manera:

2. 3.

En la ventana de propiedades, seleccione la propiedad Name de la tarea que acaba de crear, y cmbiela por Borrar Datos. Haga doble clic sobre la tarea Borrar Datos. Se abrir el editor de propiedades de la tarea. Seleccione la propiedad Connection, y cambie su valor para que apunte hacia la conexin AWork MartDemo:

CIBERTEC

Data Warehouse & Olap

25

4.

A continuacin, seleccione la propiedad SQLStatement, y presione el botn . Escriba la siguiente sentencia SQL:

5. 6.

Pulse el botn OK para confirmar la sentencia escrita. Pulse nuevamente el botn OK para aceptar los cambios en la tarea. En la ventana de diseo, seleccione la tarea Borrar datos. Seleccione la flecha verde que sale de esta tarea, y arrstrela sobre la tarea Copiar productos. Esto define una precedencia

CIBERTEC

Data Warehouse & Olap

26

en el flujo de control del paquete, que establece que la tarea Borrar datos debe ejecutarse antes de la tarea Copiar productos:

7.

Ejecute el paquete para probar su funcionamiento.


Ejercicio 3: Crear transformaciones personalizadas a travs del

Script Component. 1. Abra el paquete CopiaProductos.dtsx. Agregue una nueva tarea de tipo Data Flow Task, y asgnele el nombre Copiar territorios. A continuacin, haga un doble clic sobre la tarea Copiar territorios para definir el detalle del flujo de datos. 2. En la pestaa Connection managers, agregue una nueva conexin de tipo File. Para esto, haga un doble clic sobre cualquier lugar de la ventana Connection Managers, y seleccione la opcin New File Connection:

CIBERTEC

Data Warehouse & Olap

27

3. Se abrir la ventana Flat File Connection Manager Editor. Establezca los siguientes valores para las opciones de esta ventana: Opcin Connection name Descripcin Valor manager Archivo de territorios

Informacin de territorios en formato de texto plano File name Utilice el botn Browse para ubicar el archivo Territorios.txt Format Delimited Text qualifier " (comillas dobles) Column names in the Desmarcado first data row

CIBERTEC

Data Warehouse & Olap

28

4. En el panel izquierdo de la ventana Flat File Connection Manager Editor, seleccione la opcin Preview para observar una vista preliminar de la informacin. Observe que se han asignado automticamente los nombres Column 0, Column 1 y Column 2 a las columnas del archivo de texto.

5. Pulse el botn OK para finalizar la configuracin de la conexin al archivo de texto.

CIBERTEC

Data Warehouse & Olap

29

6. En el Toolbox, expanda la pestaa Data Flow Sources. Seleccione el tem Flat File Source, y arrstrelo sobre la ventana de diseo. Renombre el origen resultante como Territorios.

7. Haga doble clic sobre Archivo de territorios. Se abrir la ventana Flat File Source Editor. En la propiedad Flat file connection manager, seleccione Archivo de territorios.

8. En el panel izquierdo de la ventana Flat File Source Editor, seleccione la opcin Columns. Observe que cada columna del archivo de texto ha sido reconocida.

CIBERTEC

Data Warehouse & Olap

30

9. Pulse el botn OK para finalizar la configuracin del origen del Flat File Source. 10. En el ToolBox, expanda la pestaa Data Flow Transformations. Seleccione el tem Script Component y arrstrelo sobre la ventana de diseo. Se abrir una ventana que permite determinar el tipo de componente que se desea crear. Elija la opcin Transformation:

CIBERTEC

Data Warehouse & Olap

31

11. Pulse el botn OK. Renombre la transformacin como Transformacin de regiones. A continuacin, oonecte el origen Territorios con Transformacin de regiones. Al finalizar, su editor debe quedar de la siguiente manera:

12. A continuacin, haga doble clic sobre Transformacin de regiones para abrir su ventana de propiedades. 13. En la opcin Input Columns del lado izquierdo de la ventana de propiedades, marque los checkboxes que sealan las columnas Column 0, Column 1 y Column 2 (estas columnas representan los inputs provenientes del origen Territorios).

CIBERTEC

Data Warehouse & Olap

32

14. Seleccione la opcin Inputs and Outputs del lado izquierdo de la ventana de propiedades. Expanda Output 0. Expanda Output Columns. Presione el botn Add Column para agregar un nuevo Output a la transformacin. Establezca las siguientes propiedades para el output: Opcin Name Data Type Length Valor Region Seleccione STRING [DT_STR] 10

CIBERTEC

Data Warehouse & Olap

33

15. Seleccione la opcin Script del lado izquierdo de la ventana de propiedades, y presione el botn Design Script:

CIBERTEC

Data Warehouse & Olap

34

16. Se abrir el entorno de desarrollo de .Net para scripts de SSIS. Escriba el siguiente cdigo para definir la transformacin en la funcin Input0_ProcessInputRow:

17. Grabe el script presionando el botn . Cierre el entorno de desarrollo de scripts y pulse el botn OK para finalizar la edicin de la transformacin.

CIBERTEC

Data Warehouse & Olap

35

18.En el Toolbox, expanda la pestaa Data Flow Destinations. Seleccione el tem OLE DB Destination y arrstrelo sobre la ventana de diseo. Renombre el destino como Tabla de territorios. A continuacin, conecte Transformacin de regiones con Tabla de territorios. La ventana del editor debe quedar como sigue:

19.Haga doble click sobre el destino Tabla de territorios para abrir su ventana de propiedades. Seleccione la opcin Connection Manager del lado izquierdo de la pantalla, y establezca los siguientes valores para las propiedades: Opcin OLE DB Connection Manager Data Access Mode Name of the table or the view Valor Seleccione AWorks MartDemo Table or view Fast load Pulse el botn New para crear una nueva tabla. Escriba la siguiente sentencia SQL: CREATE TABLE Territorios (ZipCode char(5), Territorio varchar(50), Region varchar(10))

20.Seleccione la opcin Mappings del lado izquierdo de la pantalla. Establezca los siguientes mapeos entre las columnas definidas en Transformacin de regiones y el destino Tabla de territorios:

CIBERTEC

Data Warehouse & Olap

36

Column 0 Column 1 Region

ZipCode Territorio Region

21.Presione el botn OK para finalizar la edicin del destino. 22.Guarde el paquete y ejectelo. Verifique que en la columna Region de la tabla Territorios se han insertado los valores transformados. 23.Actividad sugerida: Modifique la tarea Borrar Datos para eliminar los datos de la tabla Territorios antes de iniciar las transferencias de datos.

CIBERTEC

Você também pode gostar