1:
Utilizar SQL Server Integration Services
para poblar el Datamart
Temas:
1. Poblar el Datamart
2. Herramientas para implementar procesos de Extraccin,
Transformacin y Carga (ETL)
3. Crear proyectos SSIS a travs del Business Intelligence
Development Studio.
a. Crear paquetes
b. Crear tareas de flujo de datos
c. Crear componentes de script .Net.
d. Definir conversiones de datos, lookups y columnas derivadas
e. Agregar archivos de configuracin a los proyectos SSIS
f. Efectuar la distribucin de los paquetes SSIS
g. Automatizar la ejecucin de paquetes SSIS a travs del Agente
de SQL Server 2008
Utilizar SQL Server Integration Services para poblar el Datamart 2
1. Poblar el Datamart
Una vez definida la base de datos STAR o SNOWFLAKE para el Datamart, se debe
efectuar la poblacin con la informacin de los sistemas transaccionales. Este
proceso puede alcanzar niveles de complejidad muy altos.
CIBERTEC
3 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 4
CIBERTEC
5 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
La figura superior muestra la utilizacin de una sentencia SELECT que concatena las
columnas Paterno y Nombre de la tabla Cliente, y almacena el resultado en la tabla
Resumen_Cliente:
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 6
Use Demo
Insert Into HistoricoPedidos
Select a.* From OPENROWSET(Microsoft.Jet.OLEDB.4.0,
C:\MSOffice\Access\Samples\Northwind.mdb;
nuevocliente;password, Pedidos)
Use Demo
Select NomCliente, Telefono
INTO ListaFono
FROM ContaServer.Ventas.dbo.Proveedores
CIBERTEC
7 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
El utilitario Bulk Copy Program (BCP) y la sentencia BULK INSERT permiten cargar
datos provenientes de un archivo de texto hacia una base de datos SQL Server
2008.
Tambin puede efectuarse el camino inverso; es decir, leer informacin de una
tabla SQL Server y volcarla en un archivo de texto.
El utilitario BCP debe ejecutarse desde la lnea de comandos del sistema operativo.
La sentencia BULK INSERT se invoca desde una sesin de SQL Server 2008, que
puede ser iniciada desde el Query Analizer. La figura superior muestra ejemplos de
utilizacin de estas herramientas de carga.
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 8
CIBERTEC
9 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
Elementos de SSIS
SSIS est constituido por varios elementos que permiten construir aplicaciones de
carga y transformacin de datos altamente complejos y flexibles. A continuacin se
presentan los elementos bsicos de SSIS:
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 10
CIBERTEC
11 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
Los Connection Manager son conexiones privadas que usan los paquetes SSIS y
estas pueden usar tambin conexiones desde los Data Sources definidos en el
proyecto.
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 12
CIBERTEC
13 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 14
6. Para definir una nueva conexin con datos, presione el botn New.
Aparecer la ventana del Connection Manager. Elija el conector .Net
Providers\SqlClient Data Provider, el servidor local y la base de datos
AdventureWorks, como se muestra en la siguiente figura:
CIBERTEC
15 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 16
CIBERTEC
17 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
12. D clic en 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
Utilizar SQL Server Integration Services para poblar el Datamart 18
14. 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
elija Create New SQL Server Database.
CIBERTEC
19 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
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, elija el conector Native OLEDB\SQL Native Client
10.0:
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 20
CIBERTEC
21 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
Pulse el botn Yes. Esto cambiar tanto el nombre fsico del archivo del
paquete, como el nombre del paquete en el entorno de desarrollo.
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 22
CIBERTEC
23 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 24
CIBERTEC
25 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
30. Aparecer una ventana que muestra los data sources disponibles:
31. D clic en 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
Utilizar SQL Server Integration Services para poblar el Datamart 26
33. Haga doble clic sobre el origen Consulta Adventure Works. Aparecer el
editor de propiedades del ADO.NET Source. En la opcin ADO.NET
connection managers, seleccione el data source Adventure Works, como
muestra la figura.
34. En la opcin Data Access mode seleccione SQL command como muestra
la figura.
CIBERTEC
27 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
36. Al lado izquierdo del panel seleccione la pestaa Columns, observe que las
columnas de la consulta han sido detectadas:
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 28
CIBERTEC
29 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 30
44. Pulse el botn OK para aceptar los cambios y finalizar la configuracin del
destino de registros.
CIBERTEC
31 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
En el ejercicio anterior, se cre una tarea de flujo de datos para transferir datos
hacia la tabla ResumenProductos. Es posible que, antes de efectuar la transferencia
de los registros, se desee limpiar esta tabla a travs de una sentencia DELETE o
TRUNCATE. Para ello SSIS tiene una tarea llamada Execute SQL Task, a travs de
la cual se puede ejecutar un batch SQL. Bastar con agregar esta tarea al paquete,
y escribir en ella la sentencia SQL que elimine la informacin de la tabla
ResumenProductos.
SSIS permite conectar dos tareas a travs de una precedencia. De esta forma, se
garantiza que la segunda tarea se efectuar despus de la primera. A travs de las
precedencias, se puede determinar el orden en que se efectuarn las
transformaciones y tareas. Los principales tipos de precedencia son:
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 32
CIBERTEC
33 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 34
CIBERTEC
35 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 36
CIBERTEC
37 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
Opcin Valor
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 38
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.
CIBERTEC
39 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
9. Pulse el botn OK para finalizar la configuracin del origen del Flat File Source.
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 40
CIBERTEC
41 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
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 Valor
Name Region
Length 10
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 42
CIBERTEC
43 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
19. Haga doble clic 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 Valor
OLE DB Connection
Seleccione AWorks MartDemo
Manager
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:
Column 0 ZipCode
Column 1 Territorio
Region Region
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 44
23. Actividad sugerida: Modifique la tarea Borrar Datos para eliminar los datos de
la tabla Territorios antes de iniciar las transferencias de datos.
CIBERTEC
45 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
For Each Loop: Este contenedor efecta una iteracin a travs de los
elementos de una coleccin. Esta coleccin puede provenir de diversas
fuentes: la lista de archivos dentro de una carpeta del sistema
operativo, una coleccin de ADO .Net, etc. Las tareas dentro del
contenedor For Each Loop repetirn su ejecucin, por cada elemento
encontrado en la coleccin.
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 46
A menudo, es necesario que los paquetes SSIS utilicen valores que deben
calcularse en tiempo de ejecucin. Por ejemplo, una variable en un paquete
SSIS puede ser utilizada para almacenar el nombre de un servidor de base de
datos. De esta manera, si una base de datos cambia de servidor, no sera
necesario actualizar los connection managers o data sources en el proyecto
SSIS.
Una variable en SSIS tiene siempre el mbito o alcance del container donde
fue declarada. Por ejemplo, si se declara una variable en el paquete SSIS,
dicha variable ser visible desde cualquier lugar del paquete. Si la variable es
declarada en un contenedor For Each Loop, ser visible slo en las tareas
que se encuentren en dicho contenedor.
CIBERTEC
47 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 48
Propiedad Valor
Name varTerritoryFile
Scope CopiaProductos
Data Type String
Value
CIBERTEC
49 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
Propiedad Valor
Files DespachosPlanta*.txt
Retrieve file name Seleccione la opcin Fully Qualified
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 50
Propiedad Valor
Connection manager name Despachos de planta
File name Seleccione el archivo DespachosPlantaLima.txt
Format Delimited
Text qualifier " (comillas dobles)
Column names in the first
Seleccionado
data row
CIBERTEC
51 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 52
13. Dentro del bucle Archivos de despachos de planta, agregue un nuevo Data
Flow Task (asegrese de arrastrar el Data Flow directamente desde el
Toolbox y colocarlo dentro del bucle). Renmbrelo como Copiar
Despachos. Al finalizar, la ventana de diseo debe quedar de la siguiente
manera:
CIBERTEC
53 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
14. Haga doble clic sobre la tarea Copiar Despachos para disear el flujo de
datos. Siga los siguientes pasos:
Propiedad Valor
OLE DB Connection Manager AWorks MartDemo
Data access mode Table or view fast load
Name of the table or the view Presione el botn New para crear una tabla,
con la siguiente sentencia SQL:
CREATE TABLE [Despachos](
[IdPlanta] int,
[IdProducto] int,
[IdCliente] char(11),
[Cantidad] smallint
)
15. Regrese al Control Flow, y edite la tarea Borrar Datos para efectuar un
DELETE sobre la tabla Despachos al inicio de la ejecucin del paquete.
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 54
CIBERTEC
55 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 56
USE AWorks_MartDemo
GO
2. A travs del SQL Server Management Studio, ingrese los siguientes registros
en la tabla Ciudades:
IdCiudad Descripcin
AN ANCASH
AQ AREQUIPA
CJ CAJAMARCA
CZ CUZCO
HU HUANUCO
LI LIMA
CIBERTEC
57 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
4. En el paquete CopiaProductos.dtsx
agregue un nuevo connection
manager que apunte hacia el Data
Source que acaba de crear. Al
finalizar la creacin del connection
manager, se abrir una ventana
solicitando el usuario y contrasea
para el Access. Complete la
informacin de la siguiente manera:
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 58
Observe que la columna Ciudad contiene cdigos de ciudades (LI, CJ, etc.).
6. Dentro del Data Flow Task Copiar clientes, agregue un nuevo OLE DB
Source estableciendo las siguientes propiedades:
CIBERTEC
59 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 60
CIBERTEC
61 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
10. Haga un doble clic sobre Lookup Ciudades para editar sus propiedades. Se
abrir la ventana del Lookup Transformation Editor. En la parte izquierda
del editor seleccionar Connection, la propiedad OLE DB Connection
Manager debe apuntar al connection manager AWorks MartDemo. La tabla
de referencia debe ser dbo.Ciudades:
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 62
CIBERTEC
63 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
14. Haga un doble clic sobre el destino Tabla clientes 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 Valor
OLE DB Connection
Seleccione AWorks MartDemo
Manager
Data Access Mode Table or view Fast load
Name of the table or the Pulse el botn New para crear una nueva tabla.
view Escriba la siguiente sentencia SQL:
CREATE TABLE Clientes
(IdCliente integer,
NombreCliente varchar(50),
TelefonoCliente varchar(10),
CiudadCliente varchar(20))
15. Seleccione la opcin Mappings del lado izquierdo de la pantalla. Establezca los
siguientes mapeos entre las columnas de Lookup Ciudades y el destino
Clientes:
idCliente idCliente
NomCliente-noUNC NombreCliente
TelCliente-noUNC TelefonoCliente
Descripcion CiudadCliente
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 64
17. Regrese al Control Flow, y edite la tarea Borrar Datos para efectuar un
DELETE sobre la tabla Clientes al inicio de la ejecucin del paquete.
18. Grabe los cambios y ejecute el paquete. Al finalizar, efecte una consulta sobre
la tabla Clientes en la base de datos AWorks_MartDemo.
CIBERTEC
65 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 66
Propiedad Valor
Name varPaqueteActivo
Scope CopiaProductos
Data Type Boolean
Value True
CIBERTEC
67 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 68
5. Pulse el botn Finish para finalizar el asistente. Pulse el botn Close para
cerrar el Package Configurations Organizer.
CIBERTEC
69 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 70
9. Pulse el botn Edit Script para escribir el cdigo .Net que define el
comportamiento de la tarea. Escriba el siguiente cdigo en el mtodo Main()
de la clase ScriptMain:
CIBERTEC
71 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
10. Guarde el script y cierre la ventana de .Net. En la ventana del Script Task
Editor, pulse el botn OK.
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 72
El Derived Column es muy til para situaciones en las cuales se debe efectuar
concatenaciones, extraer una porcin de una cadena, obtener partes de una fecha,
aplicar funciones matemticas, etc.
CIBERTEC
73 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 74
2. En el data flow Copiar Contactos, agrege un ADO NET Source con las
siguientes propiedades:
Propiedad Valor
Name Contactos
ADO.NET Connection Manager Adventure Works
Data access mode SQL command
SQL command text Select ContactId, FirstName,
LastName
From Person.Contact
4. Haga doble clic sobre la transformacin Derived Column para editar sus
propiedades. Aparecer la ventana del Derived Column Transformation
Editor. En el grid de la parte inferior, agregue nueva columna derivada, con
las siguientes propiedades:
CIBERTEC
75 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
Propiedad Valor
Derived Column Name NombreCompleto
Derived Column <add as new column>
Expression [LastName] + , + [FirstName]
Data Type Unicode string [DT_WSTR]
Propiedad Valor
OLE DB Connection AWorks MartDemo
Manager
Data Access Mode Table or view fast load
Name of the table or Pulse el botn New, y cree una nueva tabla
the view con la siguiente definicin:
CREATE TABLE [ResumenContactos](
ContactID Integer,
NombreCompleto Nvarchar(150)
)
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 76
CIBERTEC
77 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 78
IdCliente NombreCliente
----------- --------------------------------------------------
2 Karina Palacios Ramos
3 Jessica Linares Hidalgo
Cliente, Ventas
Karina Palasios Ramos, 124500
Jesica Linares Hidalgo, 89076
CIBERTEC
79 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
Propiedad Valor
Name Ventas Sucio
Archivo Seleccione el archivo Ventas-sucio.txt
Text Qualifier Ninguno
Column names in the S
first data row
4. En el paquete, cree una tarea de tipo Data Flow Task. Asgnele el nombre
Limpiar Datos de Ventas.
Propiedad Valor
Name Archivo de Ventas
Flat File Connection Seleccione el connection manager Ventas
Manager Sucio
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 80
CIBERTEC
81 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
Propiedad Valor
OLE DB Connection AWorks MartDemo
Manager
Data Access Mode Table or view fast load
Name of the table or Pulse el botn New, y cree una nueva tabla
the view con la siguiente definicin:
CREATE TABLE [VentasClientes] (
[Ventas] VARCHAR(50),
[IdCliente] INTEGER,
[NombreCliente] VARCHAR(50),
[_Similarity] REAL,
[_Confidence] REAL,
[_Similarity_Cliente] REAL
)
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 82
CIBERTEC
83 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 84
4, 178, "87123490112",9
4, 179, "76130920114",5
Obsrvese que cada cliente tiene informacin en dos plantas (1 y 4). Se desea
obtener el total de la columna Cantidad para cada cliente. Por ejemplo, el total de
Cantidad para el primer cliente sera 13 (la suma de 4 y 9). La salida de datos
estar ordenada descendentemente por cantidad.
Propiedad Valor
Name Despachos Detallados
Archivo Seleccione el archivo Detalle Despachos.txt
Text Qualifier (comilla doble)
Column names in the S
first data row
CIBERTEC
85 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
Columna Propiedades
IdPlanta DataType: four-byte signed integer [DT_I4]
IdProducto DataType: four-byte signed integer [DT_I4]
IdCliente DataType: string [DT_STR]
OutputColumnWidth: 11
Cantidad DataType: decimal [DT_DECIMAL]
5. En el paquete, cree una tarea de tipo Data Flow Task. Asgnele el nombre
Agrupar y ordenar despachos por clientes.
Propiedad Valor
Name Archivo de despachos
Flat File Connection Seleccione el connection manager
Manager Despachos Detallados
8. Haga doble clic sobre la transformacin Agrupar cantidades para editar sus
propiedades. En la tabla Available Input Columns, marque el checkbox de
las columnas IdCliente y Cantidad. En la parte inferior del editor, establezca
el valor de Operation para la columna IdCliente a Group by. Establezca
tambin el valor de Operation para la columna Cantidad a Sum. Esto
significa que la transformacin obtendr la suma de la columna Cantidad,
agrupada por cada cliente. Al finalizar, el editor debe tener la apariencia que se
muestra a continuacin:
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 86
11. Haga doble click sobre la transformacin Ordenar por cantidad para editar
sus propiedades.
CIBERTEC
87 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
14. Haga doble clic sobre el destino Archivo ordenado para editar sus
propiedades. En el editor, pulse el botn New para crear un nuevo connection
manager. En la ventana Flat File Format, seleccione la opcin Delimited.
Pulse el botn OK.
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 88
Propiedad Valor
Connection manager Despachos ordenados
name
File name Seleccione una ruta cualquiera. Establezca el
nombre del archivo a
DespachosOrdenados.txt
Column names in the S
first data row
CIBERTEC
89 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 90
1, 67000
2, 78000
IdCliente NombreCliente
1 Jorge Gonzles Barrera
2 Mara Flores Herrera
CIBERTEC
91 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
En este caso, las columnas IdCliente del archivo de texto y la tabla reciben el
nombre de Join Keys, debido a que son usadas para definir la regla de
combinacin.
Las columnas que cumplen el papel de Join Keys deben tener el mismo tipo
de datos.
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 92
En este ejercicio, se leern las filas existentes en un archivo de texto que contiene
informacin como sta:
IdSubCategoria, Ventas
1, 879765
2, 678596
3, 987432
ProductSubCategoryID Name
1 Mountain Bikes
2 Road Bikes
3 Touring Bikes
CIBERTEC
93 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
Propiedad Valor
Provider NATIVE OLE DB\SQL Native Client 10.0
Server Name localhost
Database Name AdventureWorks
Name Adventure Works OLE DB
Propiedad Valor
Name Archivo de Ventas
Archivo Seleccione el archivo VentasSubCategoria.txt
Text Qualifier Ninguno
Column names in the S
first data row
Columna Propiedades
IdSubCategoria DataType: four-byte signed integer [DT_I4]
Ventas DataType: decimal [DT_DECIMAL]
7. En el paquete, cree una tarea de tipo Data Flow Task. Asgnele el nombre
Obtener ventas por subcategora.
Propiedad Valor
Name Ventas por Subcategoria
Flat File Connection Seleccione el connection manager Archivo de
Manager Ventas
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 94
Propiedad Valor
Name Subcategorias
OLE DB Connection Seleccione el connection manager
Manager AdventureWorks - OLEDB
Data Access Mode Table or view
Name of the table or [Production].[ProductSubCategory]
view
Columns Marque nicamente las columnas
ProductSubCategoryID y Name.
CIBERTEC
95 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
14. Haga doble click sobre la transformacin Merge Join. Observe que la
condicin de join consiste en el enlace entre la columna IdSubCategoria
(proveniente del archivo de texto), y la columna ProductSubCategoryID
(proveniente de la tabla ProductSubCategory). Este enlace se ha creado
automticamente, debido a que estas son las dos nicas columnas que tienen
el mismo tipo de dato (Integer). Sin embargo, esta relacin puede ser
cambiada por el desarrollador, si es necesario.
En el editor, marque los check boxes que se encuentran a la izquierda de las
columnas ProductSubCategoryID, Name, y Ventas. Al finalizar, el editor
debe tener la siguiente apariencia:
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 96
Propiedad Valor
OLE DB Connection AWorks MartDemo
Manager
Data Access Mode Table or view fast load
Name of the table or Pulse el botn New, y cree una nueva tabla
the view con la siguiente definicin:
CREATE TABLE [VentasSubcategoria] (
[ProductSubcategoryID] INTEGER,
[Name] NVARCHAR(50),
[Ventas] DECIMAL
)
CIBERTEC
97 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
18. Una vez finalizada la edicin del destino Ventas, el diseador debe tener la
siguiente apariencia:
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 98
CIBERTEC
99 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
Este flujo de datos ser bifurcado con base en la siguiente condicin: si el valor de
IdPlanta es 1, los datos se escribirn en una tabla llamada DespachosLima. Si el
IdPlanta es 4, los datos se escribirn en la tabla DespachosTrujillo. Siga los
siguientes pasos:
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 100
Propiedad Valor
Name Archivo de Despachos
Archivo Seleccione el archivo DetalleDespachos.txt
Text Qualifier (comilla doble)
Column names in the S
first data row
Columna Propiedades
IdPlanta DataType: four-byte signed integer [DT_I4]
IdProducto DataType: four-byte signed integer [DT_I4]
IdCliente DataType: string [DT_STR]
OutputColumnWidth: 11
Cantidad DataType: decimal [DT_DECIMAL]
5. En el paquete, cree una tarea de tipo Data Flow Task. Asgnele el nombre
Transferir Despachos.
Propiedad Valor
Name Despachos
Flat File Connection Seleccione el connection manager Archivo de
Manager Despachos
CIBERTEC
101 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 102
20. Pulse el botn OK para aceptar los cambios. Luego, haga doble click sobre el
destino Despachos Lima, y establezca sus propiedades como se muestra a
continuacin:
Propiedad Valor
OLE DB Connection AWorks MartDemo
Manager
Data Access Mode Table or view fast load
Name of the table or Pulse el botn New, y cree una nueva tabla
the view con la siguiente definicin:
CREATE TABLE [DespachosLima] (
[IdPlanta] INTEGER,
[IdProducto] INTEGER,
[IdCliente] VARCHAR(11),
[Cantidad] DECIMAL
)
13. Pulse el botn OK para aceptar los cambios. Luego, haga doble click sobre el
destino Despachos Trujillo, y establezca sus propiedades como se muestra a
continuacin:
Propiedad Valor
OLE DB Connection AWorks MartDemo
Manager
Data Access Mode Table or view fast load
Name of the table or Pulse el botn New, y cree una nueva tabla
the view con la siguiente definicin:
CREATE TABLE [DespachosTrujillo] (
[IdPlanta] INTEGER,
[IdProducto] INTEGER,
[IdCliente] VARCHAR(11),
[Cantidad] DECIMAL
)
CIBERTEC
103 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 104
Una vez finalizado el desarrollo de los paquetes SSIS, stos deben ser llevados a un
servidor que est corriendo los servicios de SQL Server Integration Services. A este
proceso se le denomina distribucin (deployment).
Una vez que los paquetes han sido distribuidos, pueden ser ejecutados por el
administrador en cualquier momento, desde la consola del SQL Server Management
Studio. El administrador puede tambin programar la ejecucin automtica de los
paquetes, a travs de la creacin de jobs (trabajos) en el agente de SQL Server
2008.
CIBERTEC
105 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 106
CIBERTEC
107 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
6. Para iniciar la distribucin del paquete, haga doble clic sobre el archivo
AdventureWorks_SSIS_Demo1.SSISDeploymentManifest. Se iniciar el
Package Installation Wizard. Pulse el botn Next de la primera ventana del
asistente.
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 108
Propiedad Valor
Server name (local)
Use Windows Authentication Seleccionado
Package path /
CIBERTEC
109 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
12. Pulse el botn Next. Aparecer la pantalla final del asistente. Pulse el botn
Finish.
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 110
Propiedad Valor
Server type Integration Services
Server name <escriba el nombre de su estacin de
trabajo>
CIBERTEC
111 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
17. Pulse el botn Close para cerrar la ventana de progreso. Pulse nuevamente el
botn Close para cerrar la ventana de ejecucin de paquetes. Cierre el SQL
Server Management Studio.
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 112
Una vez desplegados, los paquetes SSIS pueden ser ejecutados bajo demanda. Sin
embargo, en la mayora de los casos, los paquetes deben ejecutarse de acuerdo
con una programacin peridica, sin intervencin de ningn usuario.
Debe tenerse en cuenta que, para que los trabajos se ejecuten peridicamente, es
necesario que el servicio SQL Server Agent est iniciado.
CIBERTEC
113 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 114
Propiedad Valor
Name Ejecutar carga de productos
Type SQL Server Integration Services Package
Package source SSIS Package Store
Server Localhost
Package Pulse el botn Ellipsis ( ) y seleccione el
paquete CopiaProductos.
CIBERTEC
115 Diseo e Implementacin de Soluciones OLAP con Analysis Services SQL Server 2008
5. Para crear una nueva programacin, pulse el botn New que se encuentra en
la parte inferior del editor. Cree una nueva programacin con las siguientes
propiedades:
Propiedad Valor
Name Diario
Schedule Type Recurring
Occurs Daily
Recurs every 1 da
Occurs once at Elija una hora tres o cuatro minutos ms
tarde que la hora indicada por el reloj interno
de su computadora
CIBERTEC
Utilizar SQL Server Integration Services para poblar el Datamart 116
CIBERTEC