Actividad Practica N6.pdf

FACULTAD DE INGENIERIA DE SISTEMAS, CÓMPUTO y TELECOMUNICACIONES INTELIGENCIA DE NEGOCIOS Actividad Practica Nº 6 I. O

Views 65 Downloads 0 File size 934KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

FACULTAD DE INGENIERIA DE SISTEMAS, CÓMPUTO y TELECOMUNICACIONES

INTELIGENCIA DE NEGOCIOS Actividad Practica Nº 6

I. OBJETIVO Escribir una transformación personalizada a través del Script Component II. EJECUCION DEL LABORATORIO En el siguiente ejercicio, se implementará una tarea Script Component (Componente Script) que permitirá transformar los códigos de regiones del archivo de texto “Territorios” a una descripción detallada de las regiones, el resultado será almacenado en la tabla Territorios (Base de Datos AWorkMartdemo). 1. En el proyecto original, abra el paquete CopiaProductos.dtsx. Agregue una nueva tarea de tipo Data Flow Task, y asígnele el nombre “Copiar territorios”.

2. En la pestaña Connection managers, agregue una nueva conexión de tipo Flat File. Se abrirá la ventana Flat File Connection Manager Editor. Establezca los siguientes valores para las opciones de esta ventana:

3. En el flujo de datos establezca una conexión de Origen Flat File Source (Origen de archivo plano) y arrástrelo sobre la ventana de diseño. Renombre el origen resultante como “Territorios”. Configure seleccionando la conexión “Archivo de territorios”. 4. En el ToolBox, expanda la pestaña Common Transformations. Seleccione el ítem Script Component (Componente Script) y arrástrelo sobre la ventana de diseño. Se abrirá una ventana que permite determinar el tipo de componente que se desea crear. Elija la opción Transformation.

5. Pulse el botón OK. Renombre la transformación como “Transformación de regiones”. A continuación, conecte el origen “Territorios” con “Transformación de regiones”. Al finalizar, su editor debe quedar de la siguiente manera

6. A continuación, haga doble clic sobre “Transformación de regiones”. En la opción Input Columns del lado izquierdo de la ventana de propiedades, marque los checkboxes que señalan las columnas “Column 0”, “Column 1” y “Column 2” (estas columnas representan los inputs provenientes del origen “Territorios”).

7. Luego, seleccione la opción Inputs and Outputs del lado izquierdo de la ventana de propiedades. Expanda Output 0. Presione el botón Add Column para agregar un nuevo Output a la transformación. Luego, establezca las siguientes propiedades para el output “Región”.

8. Seleccione la opción Script del lado izquierdo de la ventana de propiedades; luego, en la opción Script Language, seleccionar “Microsoft Visual Basic 2015” y presione el botón Edit Script.

9. Se abrirá el entorno de desarrollo de .Net para scripts de SSIS. Escriba el siguiente código para definir la transformación en la función Input0_ProcessInputRow:

Select Case CType(Row.Column2, Integer) Case 1 Row.Region = "Eastern" Case 2 Row.Region = "Western" Case 3 Row.Region = "Northern" Case 4 Row.Region = "Sorthern" End Select

10. Grabe el script presionando el botón respectivo. Cierre el entorno de desarrollo de scripts y pulse el botón OK para finalizar la edición de la transformación. 11. En el Toolbox, expanda la pestaña Other Destinations. Seleccione el ítem OLE DB Destination y arrástrelo sobre la ventana de diseño. Renombre el destino como “Tabla de territorios”. A continuación, conecte “Transformación de regiones” con “Tabla de territorios”. La ventana del editor debe quedar como sigue:

12. Haga doble clic sobre el destino “Tabla de territorios” para abrir su ventana de propiedades. Seleccione la opción OLE DB Connection Manager. Establezca los siguientes valores para las propiedades:

13. Seleccione la opción Mappings del lado izquierdo de la pantalla. Establezca los siguientes mapeos entre las columnas definidas en “Transformación de regiones” y el destino “Tabla de territorios”:

14. Presione el botón OK para finalizar la edición del destino. Luego, guarde el paquete y ejecútelo. Verifique que en la columna Región de la tabla Territorios se han insertado los valores transformados.

15. Finalmente, realizar la precedencia a la Tarea “Copiar Territorio” con “Borrar Datos”. En la tarea “Borrar Datos”, modifique la propiedad SQL Statement para eliminar los datos de la tabla Territorios antes de iniciar las transferencias de datos. 16. Ejecute el paquete nuevamente.

EVALUACION Crear un proyecto de Integration Services para poblar la tabla “Dimensión Tiempo” (base datos NEPTUNO). Utilice la herramienta de transformación Script Componente para transformar y crear nuevos campos. 

Considerar cuatro nuevos campos que almacenaran las siguientes descripciones:  Nombre del día de semana: Lunes, Martes,…….  Nombre de mes: Enero, Febrero, Marzo,…..  Nombre del trimestre: Primer Trimestre, Segundo Trimestre, Tercer Trimestre, Cuarto Trimestre.  Nombre del semestre: Primer Semestre, Segundo Semestre.



Nombres de los campos:  TiempoDescripcionDiadeSemana (DT_STR,10)  TiempoDescripcionMes (DT_STR ,10)  TiempoDescripcionTrimestre (DT_STR, 20)  TiempoDescripcionSemestre. (DT_STR, 20)

Datos del proyecto:     

Nombre Proyecto: Evaluacion 6 – NombreAlumno Nombre Paquete: CopiaTiempo Conexión Origen: Tiempo.xls Conexión Destino: Base de datos NEPTUNO (Renombre Destino-Neptuno) Script para ser utilizado en la herramienta Script Component:

Select Case CType(Row.DiaDeSemana, Integer) Case 1 Row.TiempoDescripcionDiaDeSemana = "Lunes" Case 2 Row.TiempoDescripcionDiaDeSemana = "Martes" Case 3 Row.TiempoDescripcionDiaDeSemana = "Miercoles" Case 4 Row.TiempoDescripcionDiaDeSemana = "Jueves" Case 5 Row.TiempoDescripcionDiaDeSemana = "Viernes" Case 6 Row.TiempoDescripcionDiaDeSemana = "Sabado" Case 7 Row.TiempoDescripcionDiaDeSemana = "Domingo" End Select Select Case CType(Row.Mes, Integer) Case 1 Row.TiempoDescripcionMes = "Enero" Case 2 Row.TiempoDescripcionMes = "Febrero" Case 3 Row.TiempoDescripcionMes = "Marzo"

Case 4 Row.TiempoDescripcionMes = "Abril" Case 5 Row.TiempoDescripcionMes = "Mayo" Case 6 Row.TiempoDescripcionMes = "Junio" Case 7 Row.TiempoDescripcionMes = "Julio" Case 8 Row.TiempoDescripcionMes = "Agosto" Case 9 Row.TiempoDescripcionMes = "Setiembre" Case 10 Row.TiempoDescripcionMes = "Octubre" Case 11 Row.TiempoDescripcionMes = "Noviembre" Case 12 Row.TiempoDescripcionMes = "Diciembre" End Select Select Case CType(Row.Trimestre, Integer) Case 1 Row.TiempoDescripcionTrimestre = "Primer Trimestre" Case 2 Row.TiempoDescripcionTrimestre = "Segundo Trimestre" Case 3 Row.TiempoDescripcionTrimestre = "Tercer Trimestre" Case 4 Row.TiempoDescripcionTrimestre = "Cuarto Trimestre" End Select Select Case CType(Row.Trimestre, Integer) Case 1 To 2 Row.TiempoDescripcionSemestre = "Primer Semestre" Case 3 To 4 Row.TiempoDescripcionSemestre = "Segundo Semestre" End Select End Sub End Class 

Script Tabla Dim Tiempo Use NEPTUNO GO CREATE TABLE [dbo].[DimTiempo]( [Tiempo_Skey] [int] IDENTITY(1,1) NOT NULL, [Tiempo_FechaActual] [datetime] NOT NULL, [Tiempo_Anio] [int] NOT NULL, [Tiempo_Trimestre] [int] NOT NULL, [Tiempo_Mes] [int] NOT NULL, [Tiempo_Semana] [int] NOT NULL,

[Tiempo_DiaDeAnio] [int] NOT NULL, [Tiempo_DiaDeMes] [int] NOT NULL, [Tiempo_DiaDeSemana] [int] NOT NULL, [Tiempo_EsFinSemana] [int] NULL, [Tiempo_EsFeriado] [int] NULL, [Tiempo_Comentarios] [varchar] (20) NULL, [Tiempo_SemanaCalendario] [int] NOT NULL, [Tiempo_SemanasDelAñoLaborales] [int] NOT NULL, [Tiempo_AñoBisiesto] [tinyint] NOT NULL, [Tiempo_Descripcion_DiaDeSemana] [varchar](10) NULL, [Tiempo_Descripcion_Mes] [varchar](10) NULL, [Tiempo_Descripcion_Trimestre] [varchar](20) NULL, [Tiempo_Descripcion_Semestre] [varchar](20) NULL ) ON [PRIMARY]