Está en la página 1de 116

 

Capítulo No. 1:
Utilizar SQL Server Integration Services
para poblar el Datamart

Al inalizar el capítulo! el alumno po"r#:

 Identificar los procesos para poblar un Datamart.


 Utilizar SQL Server Integration Services (SIS) para poblar el
  Datamart.

$emas:

1. Pobla
oblarr el
el Da
Data
tama
martrt
. !erram
!erramienientas
tas para
para implem
implement entar
ar proceso
procesos s de "#tracc
"#tracci$n
i$n%%
&ransformaci$n ' arga ("&L)
. rear
rear pro'ec
pro'ectos
tos SSIS
SSIS a trav*s
trav*s del
del +usines
+usiness s Intell
Intelligen
igence
ce
Development Studio.
a. rear pa,uet etes
es
b. rea
rearr tar
tarea
eassddee flu
flu-o
-o de
de dato
datos s
c. rea
rearr ccom
ompopone
nent
nteses de
de scr
scrip
iptt .et
.et..
d. Defini
Definirr conve
conversi
rsione
ones s de datos%
datos% loo/ups
loo/ups ' col
column
umnas as derivad
derivadas
as
e. 0grega
0gregarr arcivo
arcivos s de config
configura
uraci$
ci$n
n a los pro'e
pro'ecto
ctoss SSIS
SSIS
f. "fectu
"fectuarar la distri
distribuc
buci$n
i$n de los pa,
pa,uet
uetes
es SSIS
SSIS
g. 0utomatizar la e-ecuci$n de pa,uetes SSIS a trav*s del 0gente
de SQL Server 223
 

Utilizar SQL Server Integration Services para poblar el Datamart    2

1. %oblar el Datamart

Una vez definida la base de datos S&04 o S567L08" para el Datamart% se debe
efectu
efectuar
ar la poblaci
poblaci$n
$n con la inform
informaci
aci$n
$n de los si
siste
stemas
mas transa
transacci
cciona
onales
les.. "ste
"ste
proceso puede alcanzar niveles de comple-idad mu' altos.

Los procesos
procesos ,ue puebla
pueblan
n el Datama
Datamart
rt se denomi
denominan
nan pro
proces
cesos
os &$L ("#traction%
&ransf
&ransform
ormati
ation
on and Loadin
Loading).
g). "stos
"stos pro
proces
cesos
os e#t
e#trae
raen
n la data
data de los sistem
sistemas
as
transaccionales% la transforman para asegurar la uniformidad ' consistencia de los
datos% ' cargan dica informaci$n en el Datamart.

CI'&($&C
 

3 Dise
Diseño
ño e IImp
mple
leme
ment
ntac
ació
ión
n de S
Sol
oluc
ucio
ione
nes
s OL
OLAP
AP con
con Ana
Anal
lsi
sis
s Serv
Servic
ices
es SQL
SQL Ser
Serve
verr !""#
!""#

on frecuencia% los procesos "&L deben modificar el formato ' la presentaci$n de
los datos le9dos desde los sistemas transaccionales. La figura de la parte superior
muestra las operaciones de transformaci$n ,ue pueden realizarse.

CI'&($&C
 

Utilizar SQL Server Integration Services para poblar el Datamart    4

). *erramientas para implementar


procesos &$L

SQL Server
Server 223
223 ofrece
ofrece m:ltip
m:ltiples
les erram
erramien
ientas
tas para
para la implem
implement
entaci
aci$n
$n de los
procesos "&L;

La elecci$n de la erramienta espec9fica a utilizar depende del formato de los datos


en los sistemas transaccionales. Por e-emplo% la informaci$n proveniente de un
sistema transaccional
sistema transaccional ,ue funciona
funciona con SQL Server 223 puede ser transferida
transferida
direct
directame
amente
nte a trav*s
trav*s de pro
proced
cedimi
imient
entos
os almace
almacenad
nados
os de &ransa
&ransact
ct < SQL.
SQL. "n
cambio% la informaci$n proveniente de un sistema en lipper (tablas dbf) deber=
ser transferida a trav*s de pa,uetes SSIS.

CI'&($&C
 

$ Dise
Diseño
ño e IImp
mple
leme
ment
ntac
ació
ión
n de S
Sol
oluc
ucio
ione
nes
s OL
OLAP
AP con
con Ana
Anal
lsi
sis
s Serv
Servic
ices
es SQL
SQL Ser
Serve
verr !""#
!""#

).1 $ransact + SQL

Puede emplearse la sentencia S"L"& para poblar el Datamart a partir de sistemas


transaccionales cu'a informaci$n est= almacenada en bases de datos SQL Server
223.

La figura superior muestra la utilizaci$n de una sentencia S"L"& ,ue concatena las
columnas Paterno ' ombre de la tabla liente% ' almacena el resultado en la tabla
4esumen>liente;

5bs*rvese la siguiente sentencia &ransact < SQL;

SELECT DISTINCT Date = (S.ShipDate),


  DayOfWeek = DateName("dw",
DateName("dw" , S.ShipDate),
  M!th = Datea#t("mm",S.ShipDate
Datea#t("mm" ,S.ShipDate), ),
  $ea# = Date%#t("yy", S.ShipDate),
  &'a#te# = Date%#t("",S.ShipDate),
Date%#t("",S.ShipDat e),
  DayOf$ea#=Datea#t("dy", S.ShipDate),
S.ShipDate ),
*iday = +N+,
Weeke!d = Cae Datea#t("dw", ShipDate)
Whe! (1) the! +$+ Whe! (-) the! +$+
E*e +N+
  E!d,
  $ea#M!th = DateName("m!th",S.ShipDat
DateName("m!t h",S.ShipDate) e)  +/+ 
DateName("yea#", S.ShipDate),
WeekOf$ea# = Datea#t("wk",S.ShipDat
Datea#t("wk ",S.ShipDate)
e)
0OM Sa*e.Sa*eO#de#eade# S WEE S.ShipDate IS NOT N2LL

La sentencia mostrada e#trae ' formatea informaci$n de feca proveniente de la


tabla 5rders.

CI'&($&C
 

Utilizar SQL Server Integration Services para poblar el Datamart    6

).)
).) Co
Cons
nsul
ulttas Di
Dist
strrib
ibu
ui"
i"as
as

Las consultas
consultas distribuida
distribuidas
s permiten
permiten consolida
consolidarr la informaci$n
informaci$n a parti
partirr de m:ltiples
m:ltiples
servidores de datos. 0 trav*s de SQL Server 223 se pueden crear lin,e" servers
enlaza"os% sobre los cuales se pueden efectuar consultas &ransact <
-servi"ores enlaza"os%
SQL.
SQ L. La cocomu
muninica
caci
ci$n
$n co
con
n lo
los
s se
serv
rvid
idor
ores
es enla
enlaza
zados
dos se esta
establ
blec
ecee medi
median
ante
te
proveed
proveedore
oress 5L"D+?
5L"D+? por tanto%
tanto% cua
cual,u
l,uier
ier origen
origen de datos
datos accesi
accesible
ble por 5L"D+
5L"D+
puede ser configurado como un servidor enlazado.

"l siguiente e-emplo muestra una consulta distribuida &ransact < SQL sobre un
origen de datos 0ccess (obs*rvese la utilizaci$n de la funci$n 5P"456S"&);
2e Dem
I!e#t I!t it#i3edid
Se*e3t a.4 0#m OENOWSET(5Mi3#
OENOWSET(5Mi3#ft.6et.OLED7.8.9:
ft.6et.OLED7.8.9:,,
5C;<MSOffi3e<%33e<Samp*e
5C;<MSOffi3e <%33e<Samp*e<N#thwi!d.m
<N#thwi!d.md:>
d:>
  5!'e?3*ie!t
5!'e?3*ie!te:>:paw
e:>:paw#d:,
#d:, edid)

La siguiente consulta muestra c$mo utilizar la sentencia S"L"& para acceder un


se
servi
rvido
dorr enla
enlaza
zado
do ll
llam
amad
adoo ont
ontaS
aServ
erver
er ' e#tr
e#trae
aerr in
info
form
rmac
aci$
i$n
n de la ta
tabl
bla
a
Proveedores% ubicada en la base de datos @entas;

2e Dem
Se*e3t NmC*ie!te, Te*ef!
INTO Lita0!
0OM C!taSe#?e#.@e!ta.d.#?eed#e

CI'&($&C
 

% Dise
Diseño
ño e IImp
mple
leme
ment
ntac
ació
ión
n de S
Sol
oluc
ucio
ione
nes
s OL
OLAP
AP con
con Ana
Anal
lsi
sis
s Serv
Servic
ices
es SQL
SQL Ser
Serve
verr !""#
!""#

)./ &l ut
utili
ilitar
tario
io 'u
'ul,
l, Co
Cop0
p0 %
%rog
rogram
ram -'C
-'C%
% 0 lla
a sen
senten
tencia
cia '
'UL
UL
INS&($

"l utilitario +ul/ op' Program (+P) ' la sentencia +UL8 IS"4& permiten cargar
datos provenientes de un arcivo de te#to acia una base de datos SQL Server
223.
&ambi*n puede efectuarse el camino inverso? es decir% leer informaci$n de una
tabla SQL Server ' volcarla en un arcivo de te#to.

"l utilitario +P debe e-ecutarse desde la l9nea de comandos del sistema operativo.
La sentencia +UL8 IS"4& se invoca desde una sesi$n de SQL Server 223% ,ue
puede ser iniciada desde el Quer' 0nalizer. La figura superior muestra e-emplos de
utilizaci$n de estas erramientas de carga.
 

CI'&($&C
 

Utilizar SQL Server Integration Services para poblar el Datamart    8

).2
).2 SQ
SQL
L Se
Serv
rver
er I
Int
nteg
egra
rati
tion
on S
Ser
ervi
vice
ces
s -S
-SSI
SIS
S

"sta erram
"sta erramien
ienta
ta permit
permite
e crear
crear Apa,ue
Apa,uetes
tesBB de transf
transform
ormaci
aci$n
$n de datos.
datos. ada
ada
pa,uete consta de uno o m=s pasos% ,ue e#traen la data del origen% la transforman
' la mueven acia su destino.

Los servicios de transformaci$n se conectan con las fuentes de datos a trav*s de


di
dive
vers
rsos
os co
cone
nect
ctor
ores
es (prov
(proveeeedo
dores
res .et
.et%% prov
proveed
eedor
ores
es .et
.et para
para 5L
5L"" D+%
D+% '
proveedores 5L" D+ nativos). "sta caracter9stica convierte a los pa,uetes SSIS en
una
un a e
erra
rrami
mient
enta
a mu'
mu' :t
:til
il pa
para
ra im
impl
plem
emenenta
tarr pr
proc
oces
esos
os "&
"&L
L ,ue
,ue tr
trab
aba-
a-an
an co
con
n

informaci$n procedente de diversos or9genes.


CI'&($&C

& Dise
Diseño
ño e IImp
mple
leme
ment
ntac
ació
ión
n de S
Sol
oluc
ucio
ione
nes
s OL
OLAP
AP con
con Ana
Anal
lsi
sis
s Serv
Servic
ices
es SQL
SQL Ser
Serve
verr !""#
!""#

A. La ar3uitectura "e SQL Server


Integration Services -SSIS

SQL Server
Server Integra
Integratio
tion
n Servic
Services
es (SSIS
(SSIS)) no
no   constitu'e la evoluci$n de los Data
&r
&ran
ansf
sfor
orma
mati
tion
on Serv
Servic
ices
es (D&S
(D&S)) de SQL
SQL ServServer
er 222
222.. "s una
una pl
plat
ataf
afor
orma
ma
completamente nueva para implementar procesos "&L de alcance empresarial.

&lementos "e SSIS


SSIS est= constituido por varios elementos ,ue permiten construir aplicaciones de
carga ' transformaci$n de datos altamente comple-os ' fle#ibles. 0 continuaci$n se
presentan los elementos b=sicos de SSIS;

a. Data Sources;
Sources; Definen cone#iones acia los or9genes de datos. SSIS es
capaz de conectarse con cual,uier origen de datos accesible a trav*s de
proveedores .et ' 5L" D+.

b. Data
Data Sour
Sourcece 4i e5s;;  So
4ie5s Sonn do
docu
cume
ment
ntos
os ,u
,uee de
defi
fine
nen
n la estr
estruc
uctu
tura
ra de
determinados ob-etos en el origen de datos. Los data source vieCs permiten
crear vistas parciales de la totalidad de los ob-etos en un origen de datos.
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    10

c. $as,s;
$as,s; Una ta tare
rea
a (tatas/
s/)) de
deffine
ine una
una uni
unida
dad
d de trarans
nsffor
orm
mac
aci$
i$n
n o
proces
procesami
amient
ento
o de datos.
datos. Las tareas
tareas pueden
pueden e-ecut
e-ecutar
ar divers
diversas
as accion
acciones;
es;
e-ecutar sentencias SQL% e-ecutar scripts .et% enviar correos% etc. Un tipo
espec
especia
iall de tarea
tarea es el Data 6lo5 $as, $as,  (tarea de flu-o de datos)% ,ue
efect:a transferencias de registros entre varios tipos de or9genes de datos.

d. Con
Contro lo5; Perm
troll lo5 Permit
ite
e de
defi
fini
nirr se
secu
cuen
enci
cias
as l$gi
l$gica
cas
s de tr
tran
ansf
sfere
erenc
ncia
ia de
informaci$n. Por e-emplo%
bucles ,ue repitan a trav*s
varias veces unade los flu-os dede
transferencia control%
datos. se pueden definir

e. Containers;
Containers; LasLas tatare
reas
as de tran
transf
sfor
orma
mac
ci$n
i$n se pued
pueden
en agru
agrupaparr en
contenedores (containers). "l uso de contenedores ace m=s sencillo definir
la secuencia l$gica de e-ecuci$n de las tareas.

f. %ac,age; &odas las tareas


%ac,age; tareas ' contenedores
contenedores se allan dentro de un pac/age
(pa,uete) de SSIS. Un pro'ecto SSIS puede contener varios pa,uetes.
CI'&($&C

'' Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

/.1 Cone7iones 0 $ransormacio


$ransormaciones
nes

Los Connection 8anager son


8anager son cone#iones privadas ,ue usan los pa,uetes SSIS '
estas
estas pueden
pueden usar
usar tambi*
tambi*n
n con
cone#i
e#ione
ones
s desde
desde los Dat
Data
a Source
Sourcess defini
definidos
dos en el
pro'ecto.

La tarea
tarea Data 6lo5 $as, 
$as,  permite
permite efectuar
efectuar transferenc
transferencias
ias ' transformac
transformaciones
iones de
datos% desde ob-etos Data 6lo5 Sources
Sources acia ob-etos Data 6lo5 Destination.
Destination.
SSIS implementa
implementa diversos
diversos tipos de transforma
transformacione
ciones;
s; conversione
conversioness de tipos de
da
dattos
os%% uso de tatabl
bla
as de lo loo/
o/up
up%% agre
agrega
gaccione
iones%
s% etetc.
c. 0 trtra
av*
v*s
s de es esta
tas
s
transformaciones% la informaci$n puede ser traba-ada antes de llegar a su destino.
ada transformaci$n posee columnas de entrada (inputs
( inputs)) ' columnas de salida
(outputs).
outputs).

"n el siguiente e-ercicio% se crear= un pro'ecto SSIS ,ue transferir= las filas de un
 -oin entre las tablas Product ' ProductSubategor' en la base de datos
0dventure6or/s% acia una tabla llamada 4esumenProductos% ubicada en la base
de datos 06or/s>artD
06or/s>artDemo.emo. Para esto% se utilizar= la transforma
transformaci$n
ci$n Data 6lo5
$as,.
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    12

&9ercicio 1: Crear cone7iones 0 transormaciones a travs "e


un pro0ecto "e Integration Services

1. "n el men: Inicio


Inicio%% se
sele
lecc
ccio
ione
ne All %rograms 
%rograms  E 8icr
8icrosot
osot SQL Server
);;<
);; < = SQL Server
Server 'usine
'usinessss Intell
Intellige
igence
nce Develo
Developme
pment Stu"io..   Se
nt Stu"io
abrir= el entorno de desarrollo de .et.

. "n el men: 6ile


6ile%% seleccione Ne5 ' luego %ro9ect
%ro9ect.. 0parecer=n los distintos
tipos de pro'ecto ,ue se pueden crear.
CI'&($&C

'3 Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

"sco-a la plantilla Integration Services %ro9ect. "n la casilla Location


Location%% esco-a la
ruta donde desea crear el pro'ecto. "n la casilla Name! Name!   escriba
>A"venture?or,s@SSIS@Demo1. La ventana debe ,uedar como se muestra en
la figura anterior. Presione el bot$n B para crear el pro'ecto.
B para

. 0par
0parec
ecer=
er= el ent
entor
orno
no de
de desa
desarr
rrol
ollo
lo de
de pro'
pro'ec
ecto
tos
s d
de
e Inte
Integr
grat
atio
ion
n Serv
Servic
ices
es.. "n
la ventana del Solution &7plorer! 
&7plorer!  observe los elementos constitu'entes del
pro'ecto; Data Sources! Data Source 4ie5s! SSIS %ac,ages '
8iscellaneous..
8iscellaneous
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    14

F. "l primer paso es la definici$n de un Dat


Data Source.. "n
a Source "n el
e l Solution
&7plorer%% seleccio
&7plorer seleccione
ne el nodo Data Sources%
Sources% d* clic/ dereco ' seleccione
Source;
Ne5 Data Source;

G. 0pa
0parec
recer=
er= la pa
pannta
tall
lla
a de bi
bien
env
veni
enida del
del as
asis
iste
tent
nte
e pa
para
ra la defi
definici
nici$n
$n de
or9genes de datos (Data
( Data Source ?izar").
?izar"). Presione el bot$n Ne7t
Ne7t.. 0parecer=
la ventana de definici$n de cone#iones con datos.

H. Para definir una nueva cone#i$n con datos% presione el bot$n Ne5.
0par
0parec
ecer
er=
= la vent
ventan
ana
a del Conne
Connection 8anager.. "l
ction 8anager "li-
i-a
a el conec
conecto
torr >.Net
%rovi"ersS
%rovi"ersS3lCli
3lClient %rovi"er! el servidor local ' la base de datos
ent Data %rovi"er!
0dventure6or/s% como se muestra en la siguiente figura;
CI'&($&C

'$ Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

. Presione el bot$n B ' a continuaci$n% presione el bot$n Ne7t


Ne7t.. 0parecer= la
ventana final del asistente.
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    16

3. Presione el
el bo
bot$n 6inis
6inis   para
para finali
finalizar
zar el asiste
asistente
nte.. 0 contin
continuac
uaci$n
i$n%% se
definir= un Data Source 4ie5%
4ie5 % ,ue proporciona una vista desconectada de la
estructura de las tablas en el origen de datos. Para esto% seleccione el nodo
Data
Dat a Source 4ie5s   en el
Source 4ie5s el So
Solu
luti
tion
on &7pl
&7plor er!! a
orer aga
ga un cl
clic
ic de
dere
rec
co o '
seleccione Ne5 Data Source 4ie5:

J. 0par
0parec
ecer
er=
= la vent
ventan
ana
a inic
inicia
iall del asi
asist
sten
ente
te de defi
defini
nici
ci$n
$n de vist
vistas
as de
de datos
datos
(Data Source 4ie5 ?izar").
?izar"). Presione el bot$n Ne7t
Ne7t.. La ventana siguiente
mostrar= los or9genes de datos definidos en el pro'ecto. Seleccione el data
source A"venture ?or,s.

12. D* cl
clic/ en
en el
el bo
bot$n Ne 7t.. La siguiente ventana permite seleccionar las
Ne7t
tablas del origen de datos cu'a estructura se desea visualizar. "li-a las tablas
Production.Product ' Production.ProductSubategor'. La ventana debe ,uedar
como se muestra en la siguiente figura;
CI'&($&C

'% Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

11. Presione el bot$n Ne7t. 0parecer= la ventana final del asistente.

1. D* clic en el bot$n 6inis para finalizar el asistente.


6inis para asistente . 5bserve ,ue el entorno
de diseKo muestra la estructura de las tablas seleccionadas en el Data Source
@ieC.

 
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    18

1..
1 La base
base de dat
datos
os 0dve
0dvent
ntur
ure6o
e6or/
r/s
s ser=
ser= utili
utiliza
zada
da como
como orig
origen
en de dato
datos.
s. "n
este e-ercicio% el destino de datos ser= una nueva base de datos llamada
06or
06 or/s
/s>
>ar
artD
tDem
emo.
o. "s
"sta
ta nuev
nueva
a ba
base
se de dato
datos s se
ser=
r= cr
crea
eada
da a trtrav
av*s
*s de
dell
&7plorer  del entorno
Server &7plorer  entorno de desarr
desarroll
ollo
o de Integra
Integratio
tion
n Servic
Services.
es. "n el
men: 4ie5! eli-a la opci$n Server &7plorer.

1F. La ventana del Server &7plorer se


&7plorer se abrir= en el lado iz,uierdo del entorno
de desarrollo.
desarrollo
eli-a . Selec
Create Ne5 Seleccione
cione
SQL el nodo
Server DatabaseConnections
Database.. % aga un clic dereco '
Data Connections%

1G..
1G "n la
la venta
ventana
na de
de creac
creaci$
i$n
n de base
bases
s de dato
datos%
s% ing
ingres
rese
e la info
inform
rmac
aci$
i$n
n ,ue s
se
e
muestra en la siguiente figura;

1H. Pulse el bot$n B


B.. "sto crear= la base de datos 06or/s>artDemo.
CI'&($&C

'& Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

1. ierre el Server &7plorer. 


&7plorer. 

13..
13 4ep
epiita los
los pa
paso
sos
s del
del (F)
(F) al (()
) pa
para cre
crea
ar un nuev
nuevo
o Data Source llamado
Source llamado
06or/s artDemo% dirigido acia la base de datos 06or/s>artDemo. Para
este
este da
data
ta so
sour
urce
ce%% eli-
eli-a
a el co
cone
nect
ctor
or >Na
>Nativ
tive
e BL&D'
BL&D'SQL
SQL Native
Native Client
Client
1;.;;;
1;.;

7inalmente% la ventana del Solution &7plorer debe


&7plorer debe ,uedar de la siguiente manera;

1J..
1J "l sigu
siguie
ient
ntee paso
paso es la defin
definic
ici$
i$n
n del pa
pa,u
,uet
etee de Integr
Integrat
atio
ion
n Servi
Service
cess para
para
im
impl
plem
emen
enta
tarr la l$
l$gi
gica
ca de la tran
transf
sform
ormac
aci$
i$n
n de dato
datos.
s. Los
Los pa,u
pa,uet
etes
es de
In
Inte
tegr
grat
atio
ionn Servi
Service
ces
s se ubic
ubican
an en el nodo
nodo SSIS %ac,a ges   de
%ac,ages del Solution
&7plorer.. 5bs*rvese ,ue en el pro'ecto se a agregado autom=ticamente un
&7plorer
pa,uete llamado Pac/age.dts#. D* clic/ dereco sobre el pa,uete ' seleccione
la opci$n Delete
Delete;;
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    20

2. Pulse el bo
b ot$n B en la vent
ventan
ana
a de co
conf
nfir
irma
maci
ci$n
$n para
para co
conf
nfir
irma
marr la
eliminaci$n del pa,uete.

1..
1 0 conti
continu
nuac
aci$
i$n
n se crear
crear=
= el prim
primer
er pa,u
pa,uet
ete
e SSIS.
SSIS. Para
Para es
esto
to%% sele
selecc
ccio
ione
ne el
nodo SSIS %ac,ages en
%ac,ages en el Solution &7plorer%
&7plorer% d* clic dereco ' seleccione
la opci$n Ne5 SSIS %ac,age;
%ac,age;
CI'&($&C

!' Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

. 5bs*rv
5bs*rvese
ese ,ue se a crea
creado
do un
un nuevo
nuevo pa,uet
pa,uete
e llama
llamado
do Pac/
Pac/age
age1.d
1.dts#
ts#.. Para
Para
renombrarlo% aga clic dereco sobre el pa,uete en el Solution &7plorer 
&7plorer  '
seleccione la opci$n (ename
(ename;;

. 4enomb
4enombrere el pa,uet
pa,uetee como
como Aop
AopiaP
iaProdu
roducto
ctos.d
s.dts#
ts#B%
B% ' presio
presione
ne la
la tecla
tecla "nter.
"nter.
Se mostrar= la siguiente ventana de confirmaci$n;

Pulse el bot$n Ees


Ees.. "sto cambiar= tanto el nombre f9sico del arcivo del
pa,uete% como el nombre del pa,uete en el entorno de desarrollo.

F..
F "l sigu
siguie
ient
nte
e paso
paso es defin
definir
ir las
las tarea
tareas
s de trans
transfo
form
rmac
aci$
i$n.
n. "n Integration
Servic
Ser es! esta
vices! estas
s tareas est=n representadas
representadas en los $as,s
$as,s%% cada uno de los
cuales puede efectuar una labor espec9fica de procesamiento o transformaci$n
de datos. "stas tareas pueden visualizarse a trav*s de la ca-a de erramientas
($oolbo7
$oolbo7)) del entorno de desarrollo. Para visualizar el $oolbo7
$oolbo7%% e#panda el
men: 4ie5
4ie5%% ' seleccione la opci$n $oolbo7
$oolbo7;;
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    22

G. Se abrir= el $oolbo7  de SQL Server Integration Services. La siguiente figura
$oolbo7 de
muestra una vista parcial de la ca-a de erramientas;
CI'&($&C

!3 Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

H. "n el to
too
olbo#% seleccione la tarea Data 6lo5 $as, 
$as,  ' arr=strela acia la
ventana de diseKo del pa,uete (en la parte central del entorno de desarrollo).
Se cr
crea
ear=
r= ununa
a ta
tarea
rea llama
llamada
da Dat
Data
a 6lo5 $as,. "l entorno
6lo5 $as, entorno de desarr
desarroll
ollo
o
,uedar= de la siguiente manera;

..
 0 cont
ontinu
inuac
aci$
i$n%
n% se ren
renombr
ombrar
ar=
= la tararea
ea de trtran
ans
sform
forma
aci
ci$n
$n.. Pr
Prim
imer
ero%
o%
seleccione la tarea AData 7loC &as/B en el diseKador del pa,uete% ' cambie la
propie
propiedad
dad Name
Name   a Aopiar productosB en la ventana de propiedades (para
abrir la ventana de propiedades% e#panda el men: 4ie5 ' seleccione la opci$n
?in"o5. La ventana de propiedades se abrir= en la parte inferior
%roperties ?in"o5. La
dereca% deba-o del Solution &7plorer).
&7plorer).

 
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    24

3. ada tarea de flu-o de datos consiste en varias transferencias de


informaci$n entre or9genes de datos. 0 continuaci$n% se definir=n los flu-os de
informaci
informaci$n
$n al interior
interior de la tarea Aopiar
Aopiar productosB.
productosB. Para iniciar el proceso
proceso
aga un doble clic sobre la tarea Aopiar productosB. Se abrir= en el entorno
de desarrollo la pestaKa AData 7loCB.

J. ada pa,uete posee un con-unto de administradores de cone#i$n


(Connec
Connection
tion 8anagers
8anagers).). Los connec
connectio
tion
n manage
managersrs define
definen
n los posibl
posibles
es
or9genes ' destinos de datos al interior del pa,uete% ' pueden crearse a partir
de los data sources especificados en el pro'ecto. "n la pestaKa >Connection
8anagers%% a
8anagers aga
ga un cl
clic
ic de
dere
rec
coo en cucual
al,u
,uie
ierr part
parte
e de esta
esta venta
ventana
na%% '
seleccione la opci$n ANe5
ANe5 connection rom "ata source;
source;

 
CI'&($&C

!$ Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

2. 0parec
0parecer=
er= una ventan
ventana
a ,ue muestr
muestra
a los
los data
data sour
sources
ces dispon
disponibl
ibles;
es;

1. D* cl
clic en
en el
el da
data so
source AA"venture
AA"venture ?or,sB
?or,sB ' pulse
pulse el bot$n B
B.. 4epita
4epita
los
datapasos (2)
source ' (1) artDemoB.
A06or/s para crear otro connection manager ,ue apunte acia el

. "n el &


&o
ool
olb
bo#% e#p
e#panda la pe
pestaKa Data 6lo5 Sources%
Sources% seleccione el 9tem
ADB Net Source ' arr=strelo sobre la ventana de diseKo. Se crear= un nuevo
origen de registros llamado A0D5 "& SourceB. Selecci$nelo '% en la ventana
de propiedades%
propiedades% cambie su propiedad Name a Aonsulta 0dventure 6or/sB.
La pantalla debe ,uedar de la siguiente manera;

 
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    26

..
 !aga
!aga dobl
doblee clic
clic sobre
sobre el orig
origen
en Aon
Aonsu
sult
lta
a 0dven
0dventu
ture
re 6or/
6or/sB
sB.. 0parec
0parecer=
er= el
el
ed
edit
itor
or de prprop
opiiedad
edades
es de
dell 0D5.
D5."&
"& Sour
Sourc
ce. "n la opc
opci$n
i$n ADB.N&$
managers% seleccione el data source A"venture ?or,s%
connection managers% ?or,s% como
muestra la figura.
figura.

F. "n la opci$n Data Access mo"e 


mo"e   seleccione SQL comman" como
comman" como muestra
la figura.
CI'&($&C

!% Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

G. "n la ca-a de te#to SQL comman" te7t escriba


te7t escriba la siguiente sentencia;

H..
H 0l lad
lado
o iz,u
iz,uie
ierd
rdo
o del
del pane
panell sele
selecc
ccio
ione
ne la
la pest
pestaK
aKa
a Columns
Columns%% observe ,ue las
columnas de la consulta an sido detectadas;

. Pulse el
el bo
bot$n AB
ABB.
B. on estos pasos% se a completado la creaci$n de un
origen de registros% basado en una consulta SQL.
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    28

3. "n el &&o


ool
olb
bo#% e#
e#panda la pepestaKa Data 6lo5 Destinations%
Destinations% eli-a el 9tem
BL& D' Destination ' arr=strelo sobre la ventana de diseKo. Se crear= un
nuevo destino de registros llamado A5L" D+ DestinationB. Selecci$nelo '% en la
ventan
ventana
a de propie
propiedad
dades%
es% cambie
cambie su pro
propie
piedad
dad Name a AD ADest
estino
ino 06or/s
06or/s
artDemoB. La pantalla debe ,uedar de la siguiente manera;

J. Seleccione el origrigen Aonsulta 0dvent enture


6or/sB. 5bserve ,ue aparece una fleca verde
' una
una flelec
ca ro-
o-a
a sal
alie
iend
ndo
o de
dell or
oriige
gen
n de
registros. La fleca verde representa el flu-o de
datos ,ue se produce en caso de ,ue la lectura
de registros transcurra sin problemas? la fleca
ro-a representa el flu-o ,ue tendr= lugar ante un error en la lectura de los
registros del origen.

F2. Pres
esiione la flec
ec
a ver
erd
de ,ue sale de Aonsulta 0dventure 6or/s r/sB% '
arr=strela con el mouse sobre el destino ADestino 06or/s artDemoB. "sta
acci$n
acci$n define el flu-o de los datos entre el origen ' el destino de registros.
registros. 0l
finalizar% la ventana debe mostrarse de la siguiente forma;
CI'&($&C

!& Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

F1..
F1 D* dobl
doble
e cl
clic
ic sobr
sobre
e el dest
destin
ino
o ADes
ADesti
tino
no 06or/
06or/ss art
artDe
Demo
moB.
B. Se abr
abrir
ir=
= el
editor de propiedades
propiedades del destino
destino de registros.
registros. La ventana debe ,uedar de la
siguiente manera;

F. 0 con
continuaci$n se cr crear= una
una
ta
tabl
bla
a en el de des
sti
tin
no 06or
06or/s
/s
artDemo. "n la propiedad
Name o te table or te
vie5%% pu
vie5 puls
lse
e el bot$n
bot$n Ne5
Ne5.. Se
abrir= una ventana ,ue permite
escrib
escribir
ir una senten
sentencia
cia 4"0&"
4"0&"
&0+L".
&0+ L". odifi
odifi,ue
,ue la senten
sentencia
cia
de la siguiente manera;

F. Pulse el bot$n B


B   para crear la tabla.
tabla. 0 continuac
continuaci$n%
i$n% seleccione
seleccione la opci$n
opci$n
8appings   en el lado
8appings lado iz,uie
iz,uierdo
rdo del editor
editor de propie
propiedad
dades
es del destino
destino de
registros. "sto generar= autom=ticamente los mapeos de columnas entre el
origen (la consulta SQL escrita en el paso G) ' el destino de registros (la
tabla 4esumenProductos);
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    30

FF. Pulse el
el bot$n B  para aceptar los cambios ' finalizar la configuraci$n del
B para
destino de registros.

FG. Para
Para depura
depurarr el pa,uet
pa,uete%
e% d* clic
clic en el bot$n
bot$n en la barra
barra de erram
erramien
ientas
tas
del entorno de desarrollo% o seleccione la opci$n Start Debugging en
Debugging en el men:
Debug.. 0l fina
Debug finali
liza
zarr la e-
e-ec
ecuc
uci$
i$n%
n% el ento
entorn
rno
o de desar
desarrol
rollo
lo mo
most
stra
rar=
r= la
transferencia de datos en la siguiente forma;

FH. Para finalizar lala depuraci$n% presione el bot$n en la barra de


e
err
rram
amie
ient
ntas
as de
dell ento
entorn
rno
o de dedesa
sarr
rrol
ollo
lo%% o se
sele
lecc
ccio
ione
ne la op
opci
ci$n
$n Stop
 en el men: Debug
Debugging en
Debugging Debug..
CI'&($&C

3' Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

/.) Deinir prece"enc


prece"encias
ias

"n el e-ercicio anterior% se cre$ una tarea de flu-o de datos para transferir datos
acia la tabla 4esumenProductos. "s posible ,ue% antes de efectuar la transferencia
de los registros% se desee limpiar esta tabla a trav*s de una sentencia D"L"&" o
&4U0&". Para ello SSIS tiene una tarea llamada &7ecute SQL $as,%
$as,% a trav*s de
la cual se puede e-ecutar un batc SQL. +astar= con agregar esta tarea al pa,uete%
' escr
escrib
ibir
ir en ella
ella la se
sent
nten
enci
cia
a SQL
SQL ,ue
,ue el
elim
imin
ine
e la info
inform
rmac
aci$
i$n
n de la ta tabl
bla
a
4esumenProductos.

Sin embargo% al e-ecutar el pa,uete% es posible ,ue la tarea de eliminaci$n de los


registros se efect:e "espus
"espus   de la transferenc
transferencia
ia de registros.
registros. omo resultado%
resultado% al
fi
fina
nali
liza
zarr el pa
pa,u
,uet
ete%
e% la ta
tabl
bla
a 4esu
4esume
menP
nProd
roduc
ucto
tos
s esta
estar=
r= vac9
vac9a.
a. Por
Por ta
tant
nto%
o% es
necesa
nec esario
rio implem
implement
entar
ar alg:n
alg:n mecani
mecanismo
smo de prece"encia
prece"encia   ,ue garantice ,ue la

tarea SQL se efectuar= antes  de la transferencia de datos.


antes de
SSIS permite conectar dos tareas a trav*s de una prece"encia
prece"encia.. De esta forma% se
garantiza ,ue la segunda tarea se efectuar= "espus  de la primera. 0 trav*s de las
"espus de
prece"encias%% se puede
prece"encias ede deteter
ermminar el or ord
den en ,ue se ef efec
ecttuar=n
r=n las
transformaciones ' tareas. Los principales tipos de precedencia son;

 Bn Suc cess:: La ta
Success tarea
rea o tran
transf
sform
ormac
aci$
i$n
n de
dest
stin
ino
o se ef
efec
ect:
t:a
a s$
s$lo
lo si la
transformaci$n origen termina e#itosamente.
 Bn 6ai lure:: La ta
6ailure tarea
rea o tran
transf
sform
ormac
aci$
i$n
n des
desti
tino
no se ef
efec
ect:
t:aa s$
s$lo
lo si la
transformaci$n origen falla.
 Bn Completion: La tarea o transformaci$n destino se efect:a al terminar la
transformaci$n origen% sin importar si acab$ e#itosamente o si produ-o un
error.

"s posible%
posible% tambi*n% configurar
configurar una precedencia
precedencia para evaluar una e#presi$n%
e#presi$n% a
trav*s de la cual se verifi
trav*s verifi,ue
,ue el valor
valor de una variab
variable.
le. De esta
esta manera
manera%% si la
e#presi$n devuelve $rue
$rue%% la tarea destino se efectuar=.
e fectuar=.
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    32

&9ercicio ): Deinir prece"encias

"n el siguie
siguiente
nte e-erci
e-ercicio
cio%% implem
implement
entare
aremos
mos una tarea &7e
&7ecut
cute $as,  ,ue
e SQL $as,
limpia
limpiar=
r= la tabla
tabla (esumen %ro"uctos 
%ro"uctos  ' adem=s establecere
estableceremos
mos prece"encias
con el Data 7loC &as/ ACopiar
A Copiar pro"uctosB.
pro"uctosB.

1. "n el ent
entor
orno
no de des
desar
arro
roll
llo%
o% en el p
pa,
a,ue
uete
te Aop
Aopia
iaPr
Prod
oduc
ucto
tos.
s.dt
dts#
s#B%
B% se deb
debe
e
re
regr
gres
esa
ar a la pepest
staK
aKaa Contr
Control 6lo5. "n el &ool
ol 6lo5. &oolbo
bo#%
#% se
sele
lecc
ccio
ione
ne el 9t
9tem
em
$as,% ' arr=strelo sobre la ventana de diseKo. La pantalla debe
&7ecute SQL $as,%
,uedar de la siguiente manera;
CI'&($&C

33 Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

. "n la ve
ven
nta
tana
na de
de prop
propiiedad
edades
es%% sel
selec
ecci
cion
one
e la pr
prop
opie
ieda
dad
d Name
Name   de la tarea
,ue se acaba de crear% ' c=mbiela por A+orrar DatosB.

. !aga doble clic sobre la ta tare


rea
a A+orrar
rar Datos
osBB. Se abri
rir=
r= el edi
editor de
propiedades de la tarea.
propiedades tarea. Seleccione
Seleccione la propiedad
propiedad Connection
Connection%% ' cambie su
valor para ,ue apunte acia la cone#i$n A06or/ artDemoB;
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    34

F. 0 co
con
nti
tinu
nua
aci
ci$n
$n%% sel
elec
ecc
cione
one la pr
prop
opiieda
edad SQLStatement
SQLStatement%% ' presione el bot$n
. "scriba la siguiente sentencia SQL;

G. Pulse el bot$n B  para confirmar la sentencia escrita. Pulse nuevamente el


B para
bot$n B  para aceptar los cambios en la tarea.
B para

H. "n la
la venta
ventana
na de dise
diseKo
Ko%% selec
selecci
cion
onee la tare
tarea
a A+or
A+orra
rarr datos
datosB.
B. Sele
Selecc
ccio
ione
ne la
fl
flec
eca
a verde
verde ,ue
,ue sa
sale
le de esta
esta ta
tarea
rea%% ' ar
arr=
r=st
strel
rela
a so
sobr
bre
e la ta
tarea
rea Aopi
Aopiar
ar
productosB. "sto define una prece"encia
prece"encia en en el flu-o de control del pa,uete%
,ue establece ,ue la tarea A+orrar datosB debe e-ecutarse antes de la tarea
 Aopiar productosB;

. "-
"-ec
ecut
ute
e el pa
pa,u
,uet
ete
e pa
para
ra pr
prob
obar
ar su func
funcio
iona
nami
mien
ento
to..
CI'&($&C

3$ Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

/./ &scribir cF"igo .Net para personalizar las


  transorm
transormaciones:
aciones: el Script Component

SSIS inclu'e un tipo de transformaci$n ,ue permite al desarrollador implementar


compon
com ponent
entes
es avanza
avanzados
dos%% escrit
escritos
os a trav*s
trav*s de .et;
.et; el Sc
Scrip
riptt Compon ent.. "l
Component
c$digo de un Script omponent puede aprovecar toda la funcionalidad disponible
en el ..et
et 7ram
7rameC
eCoror/%
/% lo cu
cual
al pe
perm
rmit
ite
e cre
rear
ar papa,u
,uet
etes
es mu'
mu' co
comp
mple
le-o
-os
s '
personaliz
person alizados.
ados. Los lengua-es
lengua-es soportados son @isual
@isual +asic .et ' . "#isten tres
tipos de componentes de script;

 Source Components:   o poseen columnas de input. 0 trav*s de estos


Source Components:
componentes% se pueden escribir or9genes personalizados de datos. De esta
mane
ma nera
ra%% es posib
posible
le desar
desarrol
rolla
larr or9g
or9gen
enes
es so
sobr
bre
e form
format
atos
os de dato
datos
s no
soportados de forma nativa por SSIS.
 Components:  o poseen columnas de output. 0 trav*s de
Destination Components: 
estos componentes% se pueden escribir destinos personalizados de datos%
para escribir la informaci$n acia formatos no soportados de forma nativa
por SSIS.
 Components: Poseen columnas de input ' columnas de
$ransormation Components: Poseen
output. 0 trav*s de estos componentes% se puede escribir l$gica comple-a
para efectuar transformaciones personalizadas de datos.

"n el siguiente e-ercicio% se e#traer= informaci$n de un arcivo de te#to% cu'a


:ltima columna contiene c$digos de regiones; 1% %  ' F. Dicos c$digos ser=n
transformados por un script component% para ser grabados en el destino con sus
e,uivalencias en ingl*s; "astern% 6estern% ortern ' Soutern.
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    36

&9ercicio /: &scribir una transormac


transormaciFn
iFn personaliza"a a travs
"el Script Component

1. 0bra
0bra el pa,ue
pa,uete
te opia
opiaPro
Produc
ductos
tos.dt
.dts#.
s#. 0greg
0gregue
ue una
una nueva
nueva tarea
tarea de tipo
tipo Data
$as,% ' as9gnele el nombre Aopiar territoriosB. 0 continuaci$n% aga un
6lo5 $as,%
doble clic sobre la tarea Aopiar territoriosB para definir el detalle del flu-o de
datos..
datos

. "n lla
a pe
pestaKa Connection managers%
managers% agregue una nueva cone#i$n de tipo
6lat   6ile
6lat 6ile.. Para esto% aga un doble clic sobre cual,uier lugar de la ventana
8anagers% ' seleccione la opci$n Ne5 6lat 6ile Connection;
Connection 8anagers% Connection ;
CI'&($&C

3% Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

. Se ab
abrir= la
la v
ve
entana 6lat 6ile Connection 8anager &"itor.
&"itor. "stablezca los
siguientes valores para las opciones de esta ventana;

BpciFn 4alor

Connection manager name 0rcivo de territorios

DescripciFn Informaci$n de territorios en formato de te#to


plano
Utilice el bot$n 'ro5se  para ubicar el arcivo
'ro5se para
6ile name
&erritorios.t#t
6ormat Delimited

$e7t 3ualiier M (comillas dobles)


Column names in te irst
Desmarcado
"ata ro5

F. "n el
el pane
panell iz,u
iz,uie
ierd
rdo
o de la ven
venta
tana
na 6lat
6i
6ile
le Conn
Connec ecti
tion
on 8ana
8anagegerr &"it or%%
&"itor
seleccione la opci$n %revie5 para
ob
obsserva
ervarr una
una vist
vista
a pr
prel
elim
imin
inar
ar de la
informa
rmaci$n. 5bserve ,ue se an
asignado
asign ado autom=tic
autom=ticamente
amente los nombres
nombres
 Aolumn 2B% Aolumn 1B ' Aolumn B a
las columnas del arcivo de te#to.
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    38

G. Pulse el
el bo
bot$n B para finalizar la configuraci$n de la cone#i$n al arcivo de
B para
te#to.

H. "n el $oolbo7
$oolbo7%% e#pa
e#panda
nda la pestaK
pestaKa
a Data 6lo5 Sources. Seleccione
Sources. Seleccione el 9tem
Source% ' arr=strelo sobre la ventana de diseKo. 4enombre el origen
6lat 6ile Source%
resultante como A&erritoriosB.

. !aga
!aga doble
doble clic
clic so
sobr
bre
e A0rc
A0rci
ivo
vo de te
terri
rrito
tori
rios
osB.
B. Se abrir=
abrir= la ventan
ventana
a 6lat 6ile
&"itor. "n la propie
Source &"itor. propieda
dad
d 6lat ile connection manager%
manager% seleccione
 A0rcivo de territoriosB.
CI'&($&C

3& Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

3. "n el
el pan
panel iz,
iz,u
uie
ierd
rdo
o de la ven
venta
tana
na 6lat 6ile Source &"itor%
&"itor% seleccione la
op
opci
ci$n
$n Columns
Columns.. 5bserve ,ue cada columna del arcivo de te#to a sido
reconocida.

J. Pulse el
el bot$n B para finalizar la configuraci$n del origen del 7lat 7ile Source.
B para

12. "n el $ool'o7


$ool'o7%% e#panda la pestaKa Data 6lo5 $ransormations. Seleccione
el 9tem Script Component 
Component  ' arr=strelo
arr=strelo sobre la ventana
ventana de diseKo.
diseKo. Se abrir=
una ventana
ventana ,ue permi
permite
te determ
determina
inarr el tipo
tipo de compon
component
ente
e ,ue se desea
desea
crear. "li-a la opci$n $ransormation
$ransormation;;
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    40

11. Pulse el bot


bot$n BB.. 4enombre
4enombre la transforma
transformaci$n
ci$n como A&ransform
A&ransformaci$
aci$n
n de
regionesB. 0 continuaci$n% conecte el origen A&erritoriosB con A&ransformaci$n
de regionesB. 0l finalizar% su editor debe ,uedar de la siguiente manera;

1.. 0 co
1 cont
ntin
inua
uaci
ci$n
$n%% a
aga
ga doble
doble cl
clic
ic sobre
sobre A$ransormaciFn "e regionesB
regiones B para
abrir su ventana de propiedades.

1.. "n la op
1 opci
ci$n
$n Input Columns del
Columns del lado iz,uierdo de la ventana de propiedades%
mar,ue los cec/bo#es ,ue seKalan las columnas Aolumn 2B% Aolumn 1B '
 Aolumn B (estas columnas representan los inputs provenientes del origen
 A&erritoriosB).
CI'&($&C

(' Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

1F.. Sele
1F Selecc
ccio
ione
ne la opci
opci$n
$n Inputs an" Butputs del
Butputs del lado iz,uierdo
iz,uierdo de la ventana
ventana de
propie
propiedad
dades.
es. "#panda
"#panda But put ;. "#panda Butpu
Butput Columns. Pr
Butputt Columns Pres
esio
ione
ne el
bot
ot$
$n A"
A""" Colum
olumn n par
paraa agrega
agregarr un nue
nuevo
vo 5utput
5utput a la transf
transform
ormaci
aci$n.
$n.
"stablezca las siguientes propiedades para el output;

BpciFn 4alor
Name 4egion
Data $0pe Seleccione S&4IN OD&>S&4

Lengt 12

1G.. Sele
1G Selecc
ccio
ione
ne la
la opci$
opci$n
n Script del lado iz,uierdo de la ventana de propiedades%
Script del
luego en la opci$n ScriptLanguage  seleccionar 8icrosot 4isual 'asic );;<
ScriptLanguage seleccionar
' presione el bot$n Design Script;
Script;
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    42

1H.. Se abri
1H abrir=
r= el entorno
entorno de desar
desarro
roll
llo
o de .et
.et para scri
script
pts
s de SSIS
SSIS.. "s
"scr
crib
iba
a el
siguiente c$digo para definir la transformaci$n en la funci$n
Input2>ProcessInput4oC;

1. Nrabe
Nrabe el script
script presion
presionand
ando
o el bot$n
bot$n . ierre
ierre el entorno
entorno de desarr
desarroll
ollo
o de
scripts ' pulse el bot$n B  para finalizar la edici$n de la transformaci$n.
B para

13. "n el
el $oolbo7
$oolbo7%% e#pand
e#panda
a la pestaKa
pestaKa Data 6lo5 Destinations.
Destinations. Seleccione el
9tem BL& D' Destination '
Destination ' arr=strelo sobre la ventana de diseKo. 4enombre
el destino como A&abla de ter erri
rittori
rio
osB. 0 continuaci$n% conec ectte
 A&ransformaci$n de regionesB con A&abla de territoriosB. La ventana del editor
debe ,uedar como sigue;
CI'&($&C

(3 Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

1J. !aga doble


doble clic sobre
de propiedades. so bre el destino
desti
Seleccione lano A$abla
A $abla
opci$n "e territoriosB
territorios
Connection B paradel
8anager abrir suiz,uierdo
lado ventana
de la pantalla%
pantalla% ' establezca los siguientes valores
valores para las propiedades;

BpciFn 4alor
BL& D' Connection
Seleccione 06or/s artDemo
8anager

Data Access 8o"e &able or vieC < 7ast load


Pulse el bot$n Ne5  para crear una nueva tabla.
Ne5 para
"scriba la siguiente sentencia SQL;
Name o te table or te 4"0&" &0+L" &erritorios
vie5   (ipode car(G)%
  &erritorio varcar(G2)%

  4egion varcar(12))
2. Seleccione
Seleccione la
la opci$n
opci$n 8appings del lado iz,uierdo de la pantalla. "stablezca los
siguie
siguiente
ntes
s mapeos
mapeos entre
entre las column
columnas as defini
definidas
das en A&rans
A&ransfor
formac
maci$n
i$n de
regionesB ' el destino A&abla de territoriosB;

olumn 2 ipode
olumn 1 &erritorio
4egion 4egion
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    44

1. Presione
Presione el bot$n
bot$n B para finalizar la edici$n del destino.
B para

. Nuarde
Nuarde el pa,uete
pa,uete ' e-ec:telo. @erifi,ue
@erifi,ue ,ue en la columna (egiFn de la tabla
(egiFn de
 se an insertado los valores transformados.
$erritorios se
$erritorios

. 0ctividad sugerida; odifi,ue


odifi,ue la tarea A+orrar Dat
DatosB
osB para eliminar
eliminar los datos de
la tabla $erritorios antes de iniciar las transferencias de datos.
$erritorios antes
CI'&($&C

($ Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

/.2 Containers -contene"ores 0 4ariables

/.2.1 Containers -contene"ores

Los contene"ores
contene"ores   pe
perm
rmit
iten
en agru
agrupa
parr tatare
reas
as rerela
laci
cion
onad
adas
as.. "l ususo
o de
contenedores ace m=s sencillo definir el flu-o de las tareas al interior de un
pa,uete. La siguiente figura muestra un e-emplo de la definici$n de tareas
agrupadas en contenedores;

omo puede observarse en la figura% resulta


r esulta m=s sencillo representar el flu-o
de e-ecuci$n
e-ecuci$n de las tareas utilizando
utilizando contenedores
contenedores.. "#isten
"#isten tres tipos de
contenedores;

 Container: 0grupa tareas relacionadas entre s9. Las tareas


Se3uence Container: 0grupa
en el interior de este tipo de contenedor se e-ecutar=n en paralelo%
paralelo% a
menos ,ue se a'an definido precedencias
pr ecedencias entre ellas.

 Loop: "ste contenedor efect:a una iteraci$n a trav*s de los


6or &ac Loop: "ste
elementos de una colecci$n. "sta colecci$n puede provenir de diversas
fuen
fuente
tes;
s; la li
list
sta
a de arc
arciv
ivos
os de
dent
ntro
ro de una
una ca
carp
rpet
eta
a de
dell si
sist
stem
ema
a
opera
operati
tivo
vo%% una
una cocole
lecc
cci$
i$n
n de 0D5
0D5 .et
.et%% et
etc.
c. Las
Las ta
tarea
reass de
dent
ntro
ro de
dell
contenedor 7or "ac Loop repetir=n su e-ecuci$n% por cada elemento
encontrado en la colecci$n.


Loop:  "val:a una e#presi$n% ' repite la e-ecuci$n de las tareas
6or Loop: 
asta ,ue dica e#presi$n sea verdadera.
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    46

/.2. ) Deinir variables en SSIS

0 menudo% es necesario ,ue los pa,uetes SSIS utilicen valores ,ue deben
calcularse en tiempo de e-ecuci$n. Por e-emplo% una variable en un pa,uete
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 ser9a
necesario actualizar los connection managers o data sources en el pro'ecto
SSIS.

Las propiedades de los ob-etos de SSIS (data sources% connection managers%


tas/s%
tas/s% contai
containers
ners%% etc.)
etc.) pueden
pueden ser obteni
obtenidas
das desde
desde variab
variables
les.. "l uso de
variables resulta particularmente :til cuando se utilizan Script omponents o
Script &as/s.

Una variable en SSIS tiene siempre el =mbito o alcance del container  donde
container donde
fue declarada. Por e-emplo% si se declara una variable en el pa,uete SSIS%
dica variable ser= visible desde cual,uier lugar del pa,uete. Si la variable es
declarada
declarada en un contenedor 6or &ac Loop%Loop% ser= visible s$lo en las tareas
,ue se encuentren en dico contenedor.

"n el sisigu
guiient
ente e-e-er
erci
cic
cio
io%% lee
eere
remo
mos
s una
una se
seri
rie
e de arcrci
iv
vos de tete#t
#too
correspondiente a datos enviados por diferentes plantas% para ello definiremos
una variable var$erritor06ile
var$erritor06ile '  ' un contenedor del tipo 6or &ac Loop 
Loop  ,ue
no
nos
s pe
perm
rmit
itir
ir=
= recorr
recorrer
er cacada
da uno
uno de los
los ar
arc
civ
ivos
os ' ca
carg
rgar
arlo
los
s a la ta
tabl
bla
a
 ADespacos
 ADespacosB. B.
CI'&($&C

(% Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

 &9erci
&9ercici
cio
o 2: De
Dei
ini
nirr va
vari
riab
able
les
s en el pa
pa3u
3uet
ete.
e. Us
Uso
o "e
"ell
contene"or 6or &ac Loop.

1. 0bra
0bra el
el p
pa,u
a,uete
ete opiaP
opiaProdu
roducto
ctos.d
s.dts#
ts#%% ' sit:ese
sit:ese en la pestaK
pestaKa
a Control 6lo5.
6lo5.
!aga un clic sobre cual,uier parte de la ventana de diseKo% asegur=ndose de
no seleccionar ninguna tarea. 0 continuaci$n% seleccione el men: SSIS
SSIS%% ' eli-a
la opci$n 4ariables
4ariables..

. 0parecer= la
la v
ve
entana 4ariables en el lado iz,uierdo de la pantalla. Pulse el
4ariables en

bo
bot$
t$n
n pa
para
ra agre
agrega
garr una
una nueva
nueva vari
variab
able
le al pa,u
pa,uet
ete.
e. "s
"sta
tabl
blez
ezca
ca las
las
siguientes propiedades para la variable;
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    48

%ropie"a" 4alor
ame var&erritor'7ile
Scope opiaProductos
Data &'pe String
@alue

. 0bra el $oolbo7
$oolbo7%% seleccione el 9tem 6oreac Loop Container%
Container % ' arr=strelo
sobre la ventana
ventana de diseKo
diseKo del pa,uete. 4enombre el elemento
elemento creado como
 A0rcivos de despacos de plantaB%
plantaB% ' agr*guele una precedencia con origen en
la tarea A+orrar datosB. "l entorno de diseKo debe ,uedar de la siguiente
manera;
CI'&($&C

(& Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

F. "l bucl
bucle
e creado
creado en el pa,u
pa,uet
ete
e tiene
tiene como
como ob-e
ob-eti
tivo
vo recor
recorre
rerr el direc
directo
tori
rio
o de
traba-o de este cap9tulo% para encontrar los arcivos de te#to cu'o nombre
empiece con ADespacosPlantaB. Por cada arcivo encontrado% su contenido se
copiar= a una tabla de SQL Server.

G. !aga
!aga doble
doble clic
clic sobr
sobre
e el bucl
bucle
e A0rciv
A0rcivos
os de desp
despac
acos
os de planta
plantaB.
B. Se abri
abrir=
r=
su ventana de propiedades. "n la parte iz,uierda de la ventana% seleccione la
opci$n Collection
Collection.. "stablezca las siguientes opciones para acer ,ue el bucle
recorra el directorio de los arcivos de te#to con los datos de los despacos de
planta;

%ropie"a" 4alor

"numerator 7oreac 7ile "numerator

Seleccione la carpeta donde se encuentran


e ncuentran los arcivos
7older
 ADespacosPlantaLima.t#tB
 ADespacosPlantaLim a.t#tB ' ADespacosPlanta&ru-illo.t#tB 
ADespacosPlanta&ru-illo.t#tB 

7iles DespacosPlantaR.t#t
4ettri
4e riev
eve
e fil
file
e nam
name
e Sele
Selecc
ccio
ione
ne la opci
opci$n
$n 6ull0 Qualiie"
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    50

H. 0 continuaci$n$n%% se configurar= el bucle para ,ue% por cada vez ,ue


encuentre un arcivo% almacene su nombre en la variable var&erritor'7ile. "n
el lado iz,uierdo de la ventana de propiedades% seleccione la opci$n 4ariable
8appings.. "n la columna 4ariables
8appings 4ariables%% seleccione la variable var&erritor'7ile% '
as9gne
as9gnela
la al elemen
elemento to de posici
posici$n
$n 2 de la colecc
colecci$n
i$n de arciv
arcivos
os (el bucle
7oreac recorre colecciones% ' las colecciones tienen filas ' columnas? en el
ca
caso
so de una
una co
cole
lecc
cci$
i$n
n ,ue
,ue recor
recorre
re una
una lilist
sta
a de ar
arc
civ
ivos
os%% s$
s$lo
lo a
a'' una
una
columna% ,ue corresponde con la posici$n 2 de la colecci$n);

. Pulse el bot$n B para finalizar la edici$n del bucle.


B para

3. 0gre
0gregu
guee un nuev
nuevo o conn
connec
ecttio
ion
n mana
manage
gerr de tipo
tipo 6la
6latt 6ile
6ile Connec
Connection! '
tion!
establezca los siguientes valores para sus propiedades;

%ropie"a" 4alor
onnec
onn ecttio
ion
n man
mana
age
gerr nam
name
e Des
espa
pac
cos
os de
de pla
plant
nta
a
7ile name Seleccione el arcivo ADespacosPlantaLima.t#tB  
7ormat Delimited
&e#t ,ualifier M (comillas dobles)
olumn names in te first
Seleccionado
data roC

J. 5bs*rv
5bs*rvese
ese ,ue%
,ue% en
en el c
conn
onnect
ection
ion mana
manager
ger ,ue
,ue acab
acaba a de crea
crear%
r% la propie
propiedad
dad
6ile
6il name  apunta
e name apunta :nicamente
:nicamente al arcivo
arcivo ADes
ADespaco
pacosPla
sPlantaLi
ntaLima.t
ma.t#tB.
#tB. Para
a
ace
cerr ,ue
,ue di
dic
caa propi
propied
edad
ad obten
obtenga
ga su
suss valo
valore
res
s a part
partir
ir de la vari
variab
able
le
var&erritor'7ile% seleccione el connection manager ADespacos
A Despacos "e plantaB.
plantaB.
"n el men: 4ie5
4ie5%% seleccione la opci$n %roperties ?in"o5 para
?in"o5 para visualizar la
ventana %roperties
%roperties.. Seleccione la propiedad &7pressions
&7pressions..
CI'&($&C

$' Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

12. "n la
la pro
prop
pieda
edad &7pressions
&7pressions%% presione
presione el bot$n . Se abrir= el editor
editor de
e#presiones. "n la columna %ropert0%%
%ropert0 seleccione la propiedad
ConnectionString..
ConnectionString

11..
11 Pr
Pres
esio
ione
ne el bo
bot$
t$n
n al co
cost
stad
adoo de la co
colu
lumn
mna a &7pression
&7pression.. Se abrir= el
constructor de e#presiones. "n el lado iz,uierdo de la pantalla% e#panda el
nodo
no do 4ariables
4ariables%% selecc
seleccion
ione
e la variable
variable User::var$erritor06ile
User::var$erritor06ile   ' arr=strela
sobre la ca-a de te#to &7presiFn
&7presiFn.. 0l finalizar% la ventana debe ,uedar de la
siguiente manera;
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    52

1. Pulse el bot$n B B   pa


para
ra ce
cerra
rrarr el co
cons
nstr
truc
ucto
torr de e#pr
e#pres
esio
ione
nes.
s. Puls
Pulse
e
nuevamente el bot$n B  para cerrar la ventana del %ropert0 &7pressions
B para
&"itor.. Nuarde el pa,uete.
&"itor

1. Dentro
Dentro del bucle A0rci
A0rcivos
vos de
de despacos
despacos de plantaB%
plantaB% agregue
agregue un nuevo
nuevo Data
6lo5
6lo $as,  (aseg:r
5 $as, (aseg:rese
ese de arrastra
arrastrarr el Data
Data 7loC direct
directame
amente
nte desde
desde el
$oolbo7 ' colocarlo "entro de dell bucl
bucle)
e)..  4e
4en$
n$mb
mbrel
relo
o co
como
mo Aop
Aopia
iarr
DespacosB. 0l finalizar% la ventana de diseKo debe ,uedar de la siguiente
manera;
CI'&($&C

$3 Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

1F. !aga
!aga doble clic
clic sobre
sobre la tarea Aopia
Aopiarr Despaco
DespacosB
sB para diseK
diseKar
ar el flu-o
flu-o de
datos. Siga los siguientes
siguientes pasos;
pasos;

 Desde el $oolbo7
$oolbo7%% agregue un 6lat 6ile Source '
Source  ' ren$mbrelo como
 ADespacosB. 0s$cielo con el conne
connection manager   ADespaco
ction manager ADespacos
s de
plantaB.
 Desde el $oolbo7
$oolbo7%% agregu
agreguee un BL& D' Destination '
Destination ' ren$mbrelo
como A&abla de DespacosB. 0 continuaci$n% una ADespacosB con A&abla
de DespacosB.
 "dite las siguientes propiedades del destino
de stino A&abla de despacosB;

%ropie"a" 4alor
5L" D+
D+ o
onnection a
anager 06or/s artDemo
Data access mode &able or vieC < fast load
ame
ame of t
te
e ta
tabl
ble
e or te vie
ieC
C Pr
Pres
esio
ione
ne el bo
bot$
t$n
n Ne5  para crear una tabla%
Ne5 para
con la siguiente sentencia SQL;
4"0&" &0+L" ODespacos(
  OIdPlanta int%
  OIdProducto int%
  OIdliente car(11)%
  Oantidad smallint
)

 "n la parte iz,uierda del editor de propiedades del destino 5L"D+%


seleccione
seleccione la opci$n 8appings
8appings%% ' observe los mapeos de columnas ,ue
se an creado autom=ticamente.

0l finalizar% la ventana de diseKo debe ,uedar de la siguiente manera;

1G. 4egrese al
al Control 6lo5%
6lo5% ' edite la tarea A+orrar DatosB para efectuar un

D"L"&" sobre la tabla ADespacosB al inicio de la e-ecuci$n del pa,uete.


1H. Nrabe
Nrabe los cambio
cambioss ' pruebe
pruebe el p
pa,u
a,uete
ete..
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    54

/.G. Utilizar Loo,ups 0 Data Conversion

/.G.1 Utilizar Loo,ups

"n el e-erci
e-ercicio
cio n:mero
n:mero F% se utiliz
utiliz$
$ un Script
Script omponen
omponentt para
para traduc
traducir
ir los
c$digos num*ricos a nombres de regiones. "n dico e-emplo% debido a ,ue s$lo
e#isten cuatro regiones% basta con escribir una sentencia S"L"& 0S" en el
c$digo .et del Script omponent. Sin embargo% si la transformaci$n involucra
una cantidad
cantidad grande
grande de val
valores
ores distinto
distintos
s (por
(por e-empl
e-emplo%
o% los c$digos
c$digos de los
distritos de un pa9s)% el script puede acerse mu' e#tenso ' dif9cil de escribir.
Los Loo,ups
Loo,ups   implementan un mecanismo :til para efectuar transformaciones
utilizando tablas de e,uivalencia. La diapositiva superior muestra la utilizaci$n
de una tabla de b:s,ueda para convertir los c$digos de distritos de Lima en sus
respectivos nombres.
CI'&($&C

$$ Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

/.G.) Data Conversion

Los procesos "&L deben leer informaci$n de m:ltiples tipos de fuentes% '
transferirla a diversos destinos. "s mu' posible% por tanto% ,ue sea necesario
efectuar conversiones de datos. SSIS incorpora una transformaci$n llamada
Conversion% cu'a labor es efectuar conversiones de tipos de datos. De
Data Conversion%
esta forma% es posible convertir informaci$n de te#to de un formato a otro
(por
(por e-em
e-emplplo%
o% co
conv
nver
erti
tirr ca
caden
denas
as de forma
formato
to UI
UI5D
5D"" a noU
noUI
I5
5D"
D")%
)%
convertir tipos de datos de feca% o establecer la precisi$n de informaci$n
num*rica.

"n el siguiente e-ercicio% usaremos la transformaci$n Data Conversion para


Conversion para

transformar tipos
adicionalmente de datos UI5D"
implementaremos de un arcivo 0ccess
una transformaci$n a para
noUI5D"%
Loo,up para
Loo,up buscar la
e,uivalencia de c$digos de ciudades ' obtener sus descripciones.
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    56

 &9ercicio G: Utilizar las transormacio


transormaciones
nes Data Conversion
0 Loo,up.

1. "-ecut
"-ecute
e el siguien
siguiente
te blo,ue
blo,ue &rans
&ransact
act < SQL desde
desde el SQL
SQL Server
Server anage
anagemen
mentt
Studio;

2SE %W#kBMa#tDem
O

CE%TE T%7LE
T%7LE C
Ci'dade
i'dade
(IdCi'dad 3ha#(),
 De3#ip3i! ?a#3ha#(9))

. 0 trav*s
trav*s del SQL Server anage
anagemen
mentt Studio%
Studio% ingrese
ingrese los siguien
siguientes
tes registr
registros
os
en la tabla iudades;

I"Ciu"a" DescripciFn
0 00S!
0Q 04"QUIP0
T 0T0040
 U5
!U !U0U5
LI LI0
CI'&($&C

$% Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

. "n el prpro'
o'ec
ecto
to de In
Inte
tegra
grati
tion
on Servic
Services
es%% ag
agreg
regue
ue un nuev
nuevo
o Data Source 
Source  ,ue
utilice
utilice el proveedor
proveedor Native BL& D'8icrosot Het 2.; BL& D' %rovi"er%
%rovi"er %
apuntando acia el arcivo 0ccess llamado AU4S5 5L0P D"@"L5P"4.mdbB.

0seg:rese de ,ue el cec/bo# Save m0 pass5or" est*


pass5or" est* seleccionado.

F. "n el papa,u
,uet
ete
e Aop
Aopia
iaPr
Prod
oduc
ucto
tos.
s.dt
dts#
s#B 

agregue un nuevo connection
manager   ,ue apunte
manager apunte acia
acia el Data
Source   ,ue acaba de crea
Source rear. 0l
finalizar
finalizar la creaci$n
creaci$n del connection
manager%% se abri
manager abrir=
r= una
una vent
ventan
anaa
solicitan
solicitando
do el usuari
usuario
o ' contra
contraseK
seKaa
para el 0ccess. omplete la
informaci$n de la siguiente manera;

"l arcivo 0ccess AU4S5 5L0P D"@"L5P"4.mdbB contiene una tabla llamada
 AlientesPeruB% con los siguientes
siguientes datos;
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    58

5bserve ,ue la columna AiudadB contiene c$digos de ciudades (ALIB% ATB% etc.).

G. 0gregue
0gregue al pa,uet
pa,uete
e (con
(con cuidad
cuidado
o de NB  colocarlo dentro del bucle A0rcivos de
NB colocarlo
despacos de plantaB) un nuevo Data 6lo5 $as, '
$as, ' ren$mbrelo como Aopiar
clientesB. 0gr*guele una precedencia con origen en la tarea A+orrar DatosB.

H. Dentro de
del Da
Data
ta 6lo5 $as,  Aopiar clientesB% agregue un nuevo BL& D'
6lo5 $as,
 estableciendo las siguientes propiedades;
Source estableciendo
Source
CI'&($&C

$& Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

4enombre a este BL& D' Source como


Source como A0ccess lientesB.

. La inform
informac
aci$
i$nn de las colum
columna
nass de te#to
te#to en el ar
arc
civ
ivo
o 0cce
0ccess
ss se encu
encuen
entr
tra
a
almacenada en formato internacional (UI5D"). "n SQL Server% los tipos de
datos !04% @04!04% @04!04(ma#) ' &"& soportan este formato
de te#to. Sin embargo% en este e-ercicio la informaci$n del arcivo 0ccess ser=
transferida a una tabla con columnas !04 ' @04!04% ,ue no soportan el
formato UI5D". Por tanto% es necesario ,ue los datos del 0ccess pasen por
una conversi$n de tipo antes de ser copiados a SQL Server 223. La tarea
Conversion permite efectuar este tipo de operaci$n. "n el Data 6lo5
Data Conversion permite
$as,   Aopia
$as, Aopiarr lient
lientesB
esB%% agr
agregu
eguee desde
desde el $oolbo7
$oolbo7   el 9tem
9tem llam
llamad
ado
o Data
Conversion%% ' ren$mbrelo como Aonvertir a noUI5D"B. 7inalmente% una
Conversion
la salida del BL& D' Source A0ccess
Source A0ccess lientesB con la conversi$n Aonvertir a
noUI5D"B.
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    60

3. !aga doble
doble clic
clic en Aonverti
Aonvertirr a noUI5D"
noUI5D"BB para editar
editar las
las propiedades
propiedades de
de la
conversi$n de datos. Se abrir= el Data Conversion $ransormation &"itor.
&"itor .
"sta ventana muestra los inputs provenientes del origen A0ccess lientesB% '
permite efectuar conversiones de datos. "n el panel inferior% configure las
siguie
siguiente
ntes
s propied
propiedade
ades
s para
para conver
convertir
tir las column
columnas
as de te#to
te#to del 0cces
0ccess
s a
formato normal;

Input Column Butput Alias Data $0pe Lengt


omliente omlientenoU String OD&>S&4 G2
&elliente &ellientenoU String OD&>S&4 12
iudad iudadnoU String OD&>S&4 

"sto significa ,ue% al output proveniente de A0ccess lientesB% se agregan tres


column
columnasas adicio
adicional
nales
es llamad
llamadas
as omli
omlient
enten
enoU
oU%
% &elli
&ellient
enten
enoU
oU
 '
iudad
iu dadnoU
noU%
% ,ue contie
contienen
nen los datos
datos transf
transform
ormado
adoss a cadena
cadena normal
normal
(string).

J. Pulse el bot$n B B   pa


para
ra fi
fina
nali
liza
zarr la ed
edic
ici$
i$n
n del Data Conversion.
Conversion.   0
continuaci$n% agregue desde el $oolbo7  una transformaci$n de tipo Loo,up
$oolbo7 una Loo,up%%
' ren$mb
ren$mbrel
rela
a como
como ALoo/u
ALoo/upp iudad
iudadesB
esB.. 7i
7inal
nalmen
mente%
te% conect
conecte
e la salida
salida de
 Aonvertir a noUI5D"B con
con la transformaci$n ALoo/up iudadesB.
iudadesB.
CI'&($&C

)' Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

12. !aga un doble clic sobre ALoo/up


ALoo/up iudadesB
iudadesB para editar sus propiedades.
propiedades. Se
abrir= la ventana del Loo,up $ransormation &"itor. "n la parte iz,uierda
$ransormation &"itor.
de
dell edit
editor
or se
sele
lecc
ccio
iona
narr Connection
Connection%% la propiedad BL
BL&& D' Conn
Connececti
tion
on
 debe apuntar al connection manager A06or/s artDemoB. La tabla
8anager debe
8anager
de referencia debe ser Adbo.iudadesB;
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    62

11. Selecc
Seleccion
ionee en la opci$n
opci$n Columns de la ventana del Loo,up $ransormation
&"itor.. La tabla
&"itor tabla Available Loo,up Columns 
Columns  contiene las columnas de la
ta
tabl
bla
a dbdbo.
o.i
iud
udad
ades
es%% ,ue
,ue se
serv
rvir
ir=
= pa
para
ra re
rela
laci
cion
onar
ar el c$
c$di
digo
go de la ci ciud
udad
ad
(columna AIdiudadB) con el nombre de la ciudad (columna ADescripcionB). "n
la tabla Avail
Available
able Loo,up Columns%% sel
Loo,up Columns selecc
eccion
ione
e el ca
campo
mpo AIdiu
AIdiudad
dadBB '
arr=
arr=st
strel
relo
o so
sobr
bre
e el ca
camp
mpoo Aiu
Aiuda
dadn
dnoU
oU
BB de la tatabl
bla
a Avail
Available
able Input
Columns.. Luego% mar,ue el cec/bo# de la columna ADescripcionB de la tabla
Columns
Available
Avail able Loo,up Columns. 0l fina
Loo,up Columns finali
liza
zar%
r% la vent
ventan
anaa de
debe
be ,ued
,uedar
ar de la
siguiente manera;

De esta manera% la transformaci$n Loo,up  efect:a una operaci$n de -oin con


Loo,up efect:a
la tabla dbo.iudades% basada en la igualdad de las columnas AIdiudadB '
 AiudadnoUB. "l -oin efectuado permite obtener% para cada registro en la
tabla
tab la Alien
Alientes
tesPer
PeruB
uB del arciv
arcivo
o 0ccess
0ccess de origen
origen%% el valor
valor de la column
columnaa
 ADescripcionB ,ue le corresponde en la tabla
tabla dbo.iudades.

1. Pulse
Pulse el bot$n
bot$n B para confirmar los cambios.
B para

1.. Desd
1 Desdee el $oolbo7
$oolbo7%% en la pestaKa Data 6lo5 Destinations%
Destinations% agregue un nuevo
Destination% ' ren$mbrelo como A&abla lientesB. onecte la salida
BL& D' Destination%
de ALoo/up
ALoo/up iudad
iudadesB
esB con A&abla
A&abla lientes
lientesBB ' en la ventana
ventana Input Butput
Selection seleccione en Butput
Butput;; Loo,up 8atc Butput.
Butput.
CI'&($&C

)3 Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

1F. !aga un doble clic sobre


sobre el destino A&abla
A&abla cliente
clientesB
sB para abrir su ventana
ventana de
propiedades. Seleccione la opci$n Connection 8anager del lado iz,uierdo de
la pantalla% ' establezca los siguientes valores para las propiedades;
propiedades;

BpciFn 4alor
BL& D' Connection
Seleccione 06or/s artDemo
8anager
Data Access 8o"e &able or vieC < 7ast load
Name
Na me o te
te tabl
table
e or te
te Pulse
Pul se el bot$n
bot$n Ne5
Ne5   para crear una nueva tabla.
vie5 "scriba la siguiente sentencia SQL;
4"0&" &0+L" lientes
  (Idliente integer%
  ombreliente varcar(G2)%
  &elefonoliente varcar(12)%
  iudadliente varcar(2))

1G. Seleccione
Seleccione la
la opci$n
opci$n 8appings del lado iz,uierdo de la pantalla. "stablezca los
siguie
siguiente
ntes
s mapeos
mapeos entre
entre las columnas
columnas de ALoo/u
ALoo/up
p iudad
iudadesB
esB ' el destin
destino
o
 AlientesB;

idliente idliente
omlientenoU ombreliente
&ellientenoU &elefonoliente
Descripcion iudadliente
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    64

1H. Pulse
Pulse el bot$n
bot$n B para confirmar los cambios.

1.. 4egr
1 4egres
ese
e al
D"L"&" Control
sobre 6lo5
6lo5%
la tabla % ' edite
AlientesB la tarea
al inicio A+orrar
de la DatosB
e-ecuci$n para efectuar un
del pa,uete.

13. Nrabe los cambios ' e-ecute


e-ecute el pa,uete. 0l finalizar%
finalizar% efect:e una consulta sobre
la tabla AlientesB en la base de datos 06or/s>artDemo.
CI'&($&C

)$ Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

/.. %ac,age conigurations


conigurations

0 menudo% para aumentar la fle#ibilidad de un pa,uete SSIS% es necesario pasarle


ciertos valores de entrada. Por e-emplo% si una base de datos se mueve acia otro
servidor% es deseable ,ue el nombre del servidor pueda ser establecido en tiempo
de e-ecuci$n% sin necesidad de modificar el pa,uete SSIS.

Los
Los %ac,age Conigurations implementan
Conigurations implementan mecanismos para pasarle valores de
entr
en tra
ada a un papa,u
,uet
ete
e SSIS
SSIS.. Los
Los pac,
pac,age
age conigurations   permit
conigurations permiten
en definir
definir
informaci$n de entrada a trav*s de;

 J8L:  Los valores ,uedan almacenados en un arcivo


Un arcivo J8L: 
L. "l pa,uete SSIS cargar= estos valores al iniciarse su e-ecuci$n.
 4ariab
4ar iables
les "e entorn
entorno:o:   Los
Los valo
valore
res
s de entr
entrad
ada
a de
dell pa,u
pa,uet
ete
e se
obtienen de las variables de entorno de 6indoCs.
 &ntra"
&nt ra"a
a "e regist ro:   Los
registro: Los valo
valore
res
s de entr
entrad
adaa de
dell pa
pa,u
,uet
ete
e se
obtienen desde el registro de 6indoCs.
 variable:   Los valores de entrada del pa,uete se
%arent pac,age variable: 
encuentran definidos como variables% en un pa,uete de nivel superior ,ue
contiene al pa,uete actual.
 Server:  Los valores
SQL Server: valores de entrad
entradaa del pa,uete
pa,uete se encuen
encuentra
tran
n
almacenados en una tabla de SQL Server.

"n el siguiente e-ercicio% se agregar= un pac/age configuration ,ue almacenar= una


configuraci$n para determinar si el pa,uete debe e-ecutarse o no. Dico valor ser=
asignado
asign ado a una variable%
variable% ' evaluado
evaluado en una tarea de tipo Script $as, para
$as, para definir
si la e-ecuci$n del pa,uete debe interrumpirse.
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    66

 &9ercicio : Crear pac,age conigurations.

1. "n el papa,u
,uet
etee Aop
Aopia
iarP
rPro
rodu
duct
ctos
os..dt
dts
s#B agr
greg
egueue una var
aria
iabl
ble
e ll
llam
amad
ada
a
 AvarPa,uete0ctivoB% con las siguientes caracter9sticas;
caracter9sticas;

%ropie"a" 4alor
ame varPa,uete0ctivo
Scope opiaProductos
Data &'pe +oolean
@alue &rue
CI'&($&C

)% Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

. !aga
!aga un
un clic
clic sob
sobre
re la
la pest
pestaK
aKa
a Control 6lo5 
6lo5  en el
el entorno
entorno de diseKo.
diseKo. "n el
men: SSIS
SSIS%% seleccione la opci$n %ac,age Conigurations.
Conigurations.

. 0parecer= la ventana del %ac,a


%ac,agege Conig
Conigurati
urations Brganizer.. ar,
ons Brganizer ar,ue
ue el
cec/ bo# &na&nable
ble %ac,ag
%ac,agee Conig
Conigura
urations.. Para crea
tions rear una nueveva
a
configuraci$n% pulse el bot$n A""
A""..

F. 0pa
0parec
recer
er=
= la vent
ventan
ana
a inic
inicia
iall del %ac,
%ac,age
age Conigurati
Coniguration ?izar". Pulse el
on ?izar"
bot$n Ne7t
Ne7t..

G. "n la
la sigu
siguie
ient
nte
e venta
ventana
na%% en la prop
propie
ieda
dad
d Coniguration $0pe%
$0pe% seleccione la
op
opci
ci$n
$n J8L Coniguration 6ile.6ile. ar,
ar,ue
ue la opci$
opci$n
n Speci0 coniguration
"irectl0% ' utilice el bot$n 'ro5se para definir la ruta donde desea
settings "irectl0%
crear el arcrcivo de configuraci$n. $n. 0signe al arcivo el nombre
 Aonfiguraciones.dtsonfigB.
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    68

H. Pulse el
el bot$n Ne7t
Ne7t.. "n la siguiente ventana% en la lista Bb9ects
Bb9ects%% seleccione la
propiedad 4alue  de la variable AvarPa,uete0ctivoB.
4alue de

. Pulse el
e l bo
b ot$n Ne7t
Ne7t.. "n la vent
ventan
ana
a fi
fina
nall del asis
asiste
tent
nte%
e% en la pr
prop
opie
ieda
dad
d
name% escriba APa,uete0ctivadoB.
Coniguration name%

G. Pulse el
el bo
bot$n 6inis
6inis   para
para finali
finalizar
zar el asiste
asistente
nte.. Pulse
Pulse el bot$n
bot$n Close
Close   para
cerrar el %ac,age Conigurations Brganizer. 
Brganizer. 
CI'&($&C

)& Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

H. 5bserve
5bserve ,ue se a creado
creado un arcivo
arcivo L
L llamado
llamado Aonfi
Aonfigurac
guraciones.
iones.dsto
dstonfigB 
nfigB 
en la ruta seleccionada durante la e-ecuci$n del asistente. 0bra el arcivo
ut
util
iliz
izan
ando
do el In
Inte
terne
rnett "#
"#pl
plore
orer.
r. 5b
5bse
serv
rve
e la e#is
e#iste
tenc
ncia
ia de un el elem
emen
ento
to
Coniguration%% de tipo booleano% establecido a 1 (true).
Coniguration

. Desde el $oolbo7
$oolbo7%% agreg
agregue
ue al pa
pa,u
,uet
ete
e un
unaa ta
tare
reaa de tipo Scrip $as,% '
Scriptt $as,%
ren$mbrela
ren$mb rela como A@erificar
A@erificar activaci$nB.
activaci$nB. 0 continuac
continuaci$n%
i$n% agregue
agregue a la tarea
 A+orrar datosB una precedencia con origen en A@erificar
A@erificar activaci$nB.

3. !aga
!aga dob
doblle clic
clic en
en la
la tar
tarea
ea A4eriicar
A4eriicar ActivaciFnB.
ActivaciFnB. Se abrir= la ventana del
&"itor. "n la parte iz,uierda de la ventana% seleccione la opci$n
Script $as, &"itor.
Script.. "n la propiedad ScriptLanguage
Script ScriptLanguage   seleccione
seleccione 8icrosot 4isual 'asic
);;<%% luego en la propiedad (ea"Bnl04ariables
);;< (ea"Bnl04ariables%% escriba AvarPa,uete0ctivoB.
"s
"sto
to in
indi
dica
ca ,ue
,ue el scscri
ript
pt ti
tien
ene
e acce
acceso
so de s$s$lo
lo le
lect
ctur
ura
a so
sobr
bre
e la vari
variab
able
le
var%a3ueteActivo.
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    70

J. Pulse el bob ot$n &"i Script   pa


&"itt Script para
ra escr
escrib
ibir
ir el c$
c$di
digo
go .et
.et ,ue
,ue de
defi
fine
ne el
comportamiento de la tarea. "scriba el siguiente c$digo en el m*todo 8ain-
de la clase Script8ain
Script8ain;;
CI'&($&C

%' Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

12. Nuarde
Nuarde el scscrip
riptt ' cierre la venta
ventana
na de .et.
.et. "n la ventan
ventana
a del Script $as,
&"itor%% pulse el bot$n B
&"itor B..

11.. Nuar
11 Nuarde
de el pa
pa,u
,uet
ete
e ' e-
e-ec
ec:t
:tel
elo.
o. 5bse
5bserv
rve
e ,ue%
,ue% co
como
mo el valo
valorr de la variab
variable
le
 AvarPa,uete0ctivoB es &rue% el script tas/ finaliza notificando *#ito% ' da paso a
la e-ecuci$n de las tareas siguientes.

1. 0bra el arcivo Aonfigurac


Aonfiguraciones
iones.dts
.dtsonfigB
onfigB utilizand
utilizando
o el otepad.
otepad. odif9,uelo%
odif9,uelo%
para establecer el valor de la configuraci$n para la variable AvarPa,uete0ctivoB 
a 2 (7alse). 0l finalizar% el arcivo debe ,uedar de la siguiente manera;

1. "-ecut
"-ecute
e nuevam
nuevamentente
e el pa,uete.
pa,uete. 5bserve
5bserve ,ue% como el valorvalor de la variable
variable
 AvarPa,uete0ctivoB es 7alse% el script tas/ finaliza notificando fallo% ' todo el
pa,uete finaliza su e-ecuci$n.
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    72

/.K. La transormaciFn Derive" Column

La transforma
transformaci$n
ci$n Derive" Column se
Column se utiliza para generar nuevas columnas% con
ba
bas
se en las co collumna
umnass de inpu
inputt 'a e#i
e#ist
sten
enttes
es.. "s
"sto
to se ac
ace a trarav*
v*s
s de
e7presiones%% es decir% f$rmulas ,ue se aplican a las columnas de input para
e7presiones
generar un nuevo valor de output. "l lengua-e de e#presiones de SSIS posee un
vasto
vasto con-unto
con-unto de funciones
funciones ' operadores%
operadores% ,ue permite
permite efectuar
efectuar transforma
transformacione
ciones
s
avanzadas en la informaci$n de una fila.

"l Derive" Column es


Column es mu' :til para situaciones en las cuales se debe efectuar
concatenaciones% e#traer una porci$n de una cadena% obtener partes de una feca%
aplicar funciones matem=ticas% etc.

"n el siguiente e-ercicio% se crear= un Derive"Column  para concatenar los valores


Derive"Column para
de las columnas A7irstameB   ' ALastameB de la tabla Person.ontact% ' enviar el
resultado acia una nueva tabla llamada A4esumenontactosB.
CI'&($&C

%3 Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

 &9ercicio K: Utilizar la transormac


transormaciFn
iFn Derive" Column.

1. "n el pa,uetete
e AopiarPro
rProd
ductos.dts#B agregu
egue un Da
Data
ta 6l
6lo5 $as,%% '
o5 $as,
ren$mbrelo como Aopiar ontactosB.
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    74

. "n el da
datta fl
floC
oC Aop
Aopiiar ont
ontac
acto
tos
sB% agre
agrege
ge un ADB N&$ Source
Source   con las
siguientes propiedades;

%ropie"a" 4alor
ame ontactos
0D5.
0D5."
"&
& onn
onnec
ecti
tion
on ana
anage
gerr 0dve
0dvent
ntur
ure
e 6or/
6or/s
s
Data access mode SQL command
SQL command te#t Select ontactId% 7irstame%
Lastame
7rom Person.ontact

. "n el data
data floC
floC Aopiar
Aopiar ont
ontact
actosB
osB%% agrege
agrege una tran
transfo
sforma
rmaci$
ci$n
n de tipo
tipo Derive"
Column. onecte la salida del origen AontactosB con la transformaci$n ,ue
Column.
acaba de aKadir.

F. !aga
!aga doble
doble cl
clic
ic sobre
sobre la trans
transfo
form
rmac
aci$n
i$n ADeri
ADerive
ved
d olu
olumn
mnBB para
para editar
editar sus
propie
pro piedad
dades.
es. 0parecer
0parecer= = la ventan
ventana
a del Derive
Derive"" Column
Column $ransorma
$ransormation
tion
 "n el grid de la parte inferior% agregue nueva columna derivada% con
&"itor. "n
&"itor.
las siguientes propiedades;
CI'&($&C

%$ Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

%ropie"a" 4alor
Deri
Derive
ved
d o
olu
lumn
mn ame
ame omb
ombrereo
omp
mple
leto
to
Derived olumn Vadd as neC columnE
"#pression OLastame W A% B W O7irstame
Data &'pe Unicode string OD&>6S&4

G. Pulse el
el bo
bot$n B para confirmar los cambios. 0 continuaci$n% agregue un
Destination llamado A4esumen ontactosB. onecte la salida de la
BL& D' Destination llamado
transformaci$n ADerived olumnB con la transformaci$n A4esumen ontactosB.
!aga
!a ga do
dobl
ble
e cl
clic
ic so
sobr
bre
e A4es
A4esum
umen
enon
onta
tact
ctos
osBB ' esta
establ
blez
ezca
ca las
las si
sigu
guie
ient
ntes
es
propiedades;

%ropie"a" 4alor
5L" D+ onnection 06or/s artDemo
anager
Data 0ccess ode &able or vieC < fast load
ame of te table or Pulse
Pulse el bot$n
bot$n Ne5
Ne5%% ' cree una nueva tabla
te vieC con la siguiente definici$n;
4"0&" &0+L" O4esumenontactos(
  ontactID Integer%
  ombreompleto varcar(1G2)
)
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    76

H. "n la pa
part
rtee iz
iz,u
,uiierda
erda de la ve
vent
nta
ana
na%% sel
elec
ecci
cion
one
e la opc
opci$n
i$n 8appings
8appings%% '
establezca los siguientes mapeos de columnas;

. Pulse el
el bo
bot$n B para aceptar los cambios. Nuarde el pa,uete ' e-ec:telo.
B para
ompruebe los resultados.
CI'&($&C

%% Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

/.< La transormaciFn 6uzz0 Loo,up

0l igual
igual ,ue el Loo, up! la transformaci
Loo,up! transformaci$n
$n 6uzz0 Loo,up 
Loo,up  compara los datos de
entrada con una tabla de e,uivalencias. Sin embargo% en el 6uzz0 Loo,up no
Loo,up no es
necesario ,ue las e,uivalencias sean e#actas? basta con ,ue e#ista cierta similitud
para ,ue Integration Services decida ,ue e#iste una correspondencia.

La tran
transf
sform
ormac
aci$
i$n
n 6uzz
6uzz0 Loo,up   cre
0 Loo,up crea
a column
columnasas adicio
adicional
nales
es ,ue almace
almacenan
nan
in
indi
dica
cado
dore
ress num*
num*ri rico
cos
s de se
seme
me-a
-anz
nza.
a. "s
"sta
ta cacara
ract
cter
er9s
9sti
tica
ca peperm
rmit
ite
e ,ue
,ue el
desarrollador del pa,uete establezca pol9ticas de tipo Asi la seme-anza es ma'or
,ue J2X% la decisi$n tomada por Integration Services es correcta. Para las filas
restantes% el administrador tomar= la decisi$n finalB.
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    78

 &9ercicio <: Utilizar la transormac


transormaciFn
iFn 6uzz0 Loo,up.

"n este
este e-erci
e-ercicio
cio%% se implem
implement
enta
a el si
sigui
guient
ente
e escena
escenario
rio;; peri$di
peri$dicam
cament
ente%
e% los
vendedores remiten informaci$n en arcivos de te#to. "sta informaci$n consiste en
el nombre de cada cliente% ' la venta correspondiente. Sin embargo% es com:n ,ue
estos nombres contengan errores ortogr=ficos ' de digitaci$n.

0dicionalmente% se tiene una tabla llamada AlientesB% ,ue contiene la informaci$n


de los clientes de la empresa. "ste e-ercicio consistir= en construir un pa,uete de
Integra
Integratio
tion
n Servic
Services
es ,ue lea la inform
informaci
aci$n
$n de un arciv
arcivo
o de te#to%
te#to% ' efect:
efect:e
e
correctamente el mapeo entre los clientes en este arcivo ' los clientes en la tabla
 AlientesB% basado en la similitud de sus valores. Por e-emplo% en esta tabla se
tienen los siguientes registros;

Idliente ombreliente
 
 8arina Palacios 4amos
 Tessica Linares !idalgo

"n el arcivo de ventas%


ve ntas% la informaci$n viene en la siguiente forma;

liente% @entas
8arina Palasios 4amos% 1FG22
Tesica Linares !idalgo% 3J2H

5bs*rvese ,ue en el arcivo de te#to% el apellido en la primera fila es APalas


APala siosB en
lugar de APalac
APalaciosB. "n la segunda fila% el nombre es ATesicaB en lugar de ATessicaB.
"l pa,uete ,ue se construir= tendr= la capacidad de determinar el cliente correcto
para cada venta en el arcivo de te#to% con base en la simili
similitud
tud de su nombre con
los registros e#istentes en la tabla AlientesB.
CI'&($&C

%& Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

1. 0gregue
0gregue al
al pro'ect
pro'ecto
o un nuevo
nuevo pa,ue
pa,uete
te llama
llamado
do ADemo
ADemo 7uzz
7uzz'
' Loo/up
Loo/upB.
B.

. "n el pa,ue
pa,uete
te ADemo
ADemo 7uzz'
7uzz' Loo/u
Loo/upB
pB agregu
agregue
e un nuevo
nuevo connec
connectio
tion
n mana
manager%
ger%
basado en el data source A06or/s artDemoB.

. 0gregu
egue un nuevo 7lat 7ile onnec
ecttion anager con las siguientes
caracter9sticas;

%ropie"a" 4alor
ame @entas Sucio
0rcivo Seleccione el arcivo A@entassucio.t#tB  
&e#t Qualifier inguno
olumn names in te S9 
first data roC

F. "n el
el pa,u
pa,uet
ete%
e% cre
cree
e una
una tare
tarea
a de tip
tipo
o Data 6lo5 $as,.
$as,. 0s9gn
0s9gnele
ele el nombre
nombre
 ALimpiar Datos de @entasB.

G. Dent
Dentro
ro de la tarea
tarea ALi
ALimp
mpia
iarr Datos
Datos de @ent
@entas
asB%
B% agreg
agregue
ue un 6lat 6ile Source%
Source%
con las siguientes propiedades;

%ropie"a" 4alor
ame 0rcivo de @entas
7lat 7ile onnection Seleccione el connection manager A@entas
anager SucioB 

H. Dentr
entro
o de la tare
tareaa ALim
ALimpi
pia
ar Dato
Datoss
de @entasB% agregue una
transformaci$n de tipo 6uzz0
Loo,up%% ' establezca su nombre a
Loo,up
 Aorregir datosB. Luego% seleccione
el origen A0rcivo de @entasB creado
en el papaso
so ante
anteri
rior%
or% ' co
cone
nect
cte
e su
ftransformaci$n
leca de  Aorregir
transformaci$n  salida datosB.
 Aorregir con la

. !aga doble clic sobre la


tran
transf
sfor
orma
maci
ci$n
$n Aor
Aorreg
regir
ir dadato
tosB
sB..
Sele
Se lecc
ccio
ione
ne la pepest
staK
aKaa (eerence
$able.. "n la propiedad BL
$able BL&& D'
connection
conne manager% sel
ction manager selecc
eccion
ionee
el coconn
nnececti
tion
on mana
manage gerr A06o
A06or/ r/ss
artDemoB. "n la propiedad
(eerence
(eere nce table name% seleccione
table name%
la tabla
tabla Alien
Alientes
tesB.
B. 0l finali
finalizar
zar%% la
pa
pant
ntal
alla
la dedebe
be te
tene
nerr la si sigu
guie
ient
ntee
apariencia;
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    80

3. Seleccione
one la pepestaKa Columns
Columns.. 5bserve ,ue se muestran dos tablas; una
llamada A0vailable Input olumnsB% ,ue corresponde con el arcivo de te#to
 A@entasSucio.t#tB? ' otra llamada A0vailable Loo/up olumnsB% ,ue
corresponde con la tabla AlientesB. Siga los siguientes pasos;
a. Ligu
Liguee la cocolu
lumn
mnaa Ali
Alien
ente
teBB de A0va
A0vail
ilab
able
le In
Inpu
putt olu
olumn
mnsB
sB co
con
n la
columna AombrelienteB de A0vailable Loo/up olumnsB.
b. "n A0va
A0vail
ilab
able
le In
Inpu
putt olu
olumn
mnsBsB%% de
desm
smar
ar,u
,uee el c
cec
ec/
/ de la co
colu
lumn
mnaa
 AlienteB.
c. "n A0vail
A0vailab
able
le Loo/
Loo/up
up olu
olumn
mnsBsB%% mar,u
mar,ue e el c
cec
ec// de las
las co
colu
lumn
mnas
as
 AIdlienteB ' AombrelienteB.

0l finalizar% la ventana debe tener la siguiente apariencia;

J. Pulse el
el bot$n B
B..

12.. 0 contin
12 continua
uaci
ci$n
$n%% agregu
agregue
e un BL& D' Destination%
Destination% ' establezca su nombre a
 A@entas a lientesB. Seleccione la transformaci$n Aorregir datosB% ' conecte
su fleca de salida con el destino A@entas a lientesB. 0l finalizar% la ventana
6lo5 debe tener la siguiente apariencia;
Data 6lo5 debe
CI'&($&C

#' Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

11.. onf
11 onfig
igur
ure
e la
las
s propi
propieda
edades
des de
dell de
dest
stin
ino
o A@en
A@enta
tas
s a cl
clie
ient
ntes
esBB de la si
sigu
guie
ient
nte
e
manera;

%ropie"a" 4alor
5L" D+ onnection 06or/s artDemo
anager
Data 0ccess ode &able or vieC < fast load
ame of te table or Pulse
Pulse el bot$n
bot$n Ne5
Ne5%% ' cree una nueva tabla
te vieC con la siguiente definici$n;
4"0&" &0+L" O@entaslientes (
  O@entas @04!04(G2)%
  OIdliente I&"N"4%
  Oombreliente @04!04(G2)%
  O>Similarit' 4"0L%
  O>onfidence 4"0L%
  O>Similarit'>liente 4"0L
)
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    82

1.. "n el de
1 dest
stin
ino
o A@en
A@enta
tas
s a cl
clie
ient
ntes
esBB esta
establ
blez
ezca
ca los
los si
sigu
guie
ient
ntes
es mape
mapeos
os de
columnas;

1. Nuarde el pa,uet ete


e ' e-ec ec::tel
elo
o. onsulte los regregistros de la tabla
@entaslientes. @erifi,ue ,ue la limpieza de los datos provenientes del arcivo
de te#to A@entassucio.t#tB se a efectuado correctamente. 5bserve los valores
de las columnas A>Similarit'B% A>onfidenceB ' A>Similarit'>lienteB.
CI'&($&C

#3 Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

/.. Agrupar 0 or"enar inormaciFn: las transormaciones


  Aggregate 0 Sort

Una necesi
necesidad
dad com:n
com:n durant
durante
e las e#trac
e#traccio
ciones
nes de datos
datos consis
consiste
te en efectua
efectuarr
agrega
agr egacio
ciones
nes (s
(suma
umas%
s% promedi
promedios%
os% etc.)%
etc.)% ' ordenar
ordenar la informa
informaci$
ci$n.
n. "ste
"ste tipo
tipo de
operaci$n puede efectuarse desde la misma consulta de datos (usando operadores
como 54D"4 +Y% N45UP +Y ' SU). Sin embargo% e#isten varias circunstancias en
las
las cu
cual
ales
es se neces
necesit
itar
ar=
= efec
efectu
tuar
ar esta
estass op
opera
eraci
cion
ones
es dura
durant
nte
e el proce
proceso
so de
transferencia de datos% ' no en la consulta de origen;

 uando
uan do el orig
origen
en de dadato
tos
s no sosopo
port
rta
a op
oper
erac
acio
ione
ness de ag
agre
rega
gaci
ci$n
$n '
ordenamiento. Por e-emplo; arcivos de te#to% "#cel.
 Si se re,ui
re,uiere
ere agreg
agregar
ar ' orde
ordena
narr dato
datoss ,u
,ue
e pr
prov
ovie
iene
nen
n de op
opera
eraci
cion
ones
es
previas sobre m:ltiples or9genes de datos.
 "l uso de operadores 54D"4 +Y% N45UP +Y% etc.% acen ,ue la consulta
sobre el origen de datos sea mu' lenta.

Las transfor
transformac
macion
iones
es Aggregate
Aggregate   ' Sort
Sort   sirven
sirven para
para efectu
efectuar
ar agrega
agregacio
ciones
nes '
ordenaciones sobre la data presente en el flu-o de datos del pa,uete SSIS.
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    84

 &9ercicio
&9ercicio : Uti
Utiliz
lizar
ar las tra
trans
nsorm
ormaci
acion
ones
es Agg
Aggre
regat
gate
e 0
Sort.

"n este
este e-ercic
e-ercicio%
io% se efectu
efectuar=
ar= una agrega
agregaci$
ci$n
n sobre
sobre un arciv
arcivo
o de te#to
te#to ,ue
contiene informaci$n como *sta;

Id*a!ta, Id#d'3t, IdC*ie!te, Ca!tidad


1, 1-, "-1A8F911", 8
1, 1-F, "-G1A9F9118", 
H
8, 1-, "-1A8F911", F
8, 1-F, "-G1A9F9118", 

5bs*rvese ,ue cada cliente tiene informaci$n en dos plantas (1 ' F). Se desea
obtener el total de la columna AantidadB para cada cliente. Por e-emplo% el total de
 AantidadB para el primer cliente ser9a 1 (la suma de F ' J). La salida de datos
estar= ordenada descendentemente por cantidad.

1. 0gregue
0gregue al
al pro'ect
pro'ecto
o un nuevo
nuevo pa,uete
pa,uete llama
llamado
do ADemo
ADemo 0ggreg
0ggregate
ate ' SortB.
SortB.

. 0gregu
egue un nuevo 7lat 7ile onnec
ecttion anager con las siguientes
caracter9sticas;

%ropie"a" 4alor
ame Despacos Detallados
0rcivo Seleccione el arcivo ADetalle Despacos.t#tB  
&e#t Qualifier A (comilla doble)
olumn names in te S9 
first data roC

CI'&($&C

#$ Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

. ont
ontin
in:e
:e la edic
edici$
i$n
n de
dell conn
onnec
ecti
tion
on mana
anage
gerr ADes
ADespa
pac
cosos Deta
Detalllado
lados
sB%
se
sele
lecc
ccio
iona
nand
ndo
o la opci
opci$n
$n A"vance"
A"vance"   en el pane
panell iz,u
iz,uie
ierdo
rdo.. "s
"sta
tabl
blezc
ezca a las
las
siguientes propiedades para cada columna en el arcivo de te#to;

Columna %ropie"a"es
IdPlanta Data&'pe; fourb'te signed integer OD&>IF
IdProducto Data&'pe; fourb'te signed integer OD
OD&>IF
Idliente Data&'pe; string OD&>S&4
5utputolumn6idt; 11
antidad Data&'pe; decimal OD&>D"I0L

F. Pulse B
B   pa
para
ra fina
finali
liza
zarr la edic
edici$n
i$n de
dell co
conn
nnec
ecti
tion
on ma
mana
nager
ger ADes
ADespa
pac
cos
os
DetalladosB.

G. "n el
el pa,u
pa,uet
ete%
e% cre
cree
e una
una tare
tarea
a de tip
tipo
o Data 6lo5 $as,.
$as,. 0s9gn
0s9gnele
ele el nombre
nombre
 A0grupar ' ordenar despacos por clientesB.

H. Dent
Dentro
ro de la tarea
tarea A0gru
A0grupa
parr ' ordena
ordenarr despac
despaco
os
s por
por cl
clie
ient
ntes
esB%
B% agr
agregu
egue
e un
Source% con las siguientes propiedades;
6lat 6ile Source%

%ropie"a" 4alor
ame 0rcivo de despacos
7lat 7ile onnection Seleccione el connection manager
anager  ADespacos DetalladosB 
DetalladosB 

. Dentro
Dentro de la tarea
tarea A0grup
A0grupar
ar ' orde
ordenar
nar despa
despaco
cos
s por cl
clien
ientes
tesB%
B% agregu
agregue
e una
tran
transf
sfor
orma
maci
ci$n
$n de ti
tipo
po Aggregate
Aggregate%% ' esta
establ
blez
ezca
ca su nomb
nombrere a A0gr
A0grup
upar
ar
cantidadesB. Luego% seleccione el origen A0rcivo de despacosB creado en el
paso anterior% ' conecte su fleca de salida con la transformaci$n   A0grupar
cantidadesB.

3. !aga
!aga dob
doble
le cli
clic
c sobr
sobre
e la ttra
rans
nsfo
form
rmac
aci$
i$n
n AAgrupar
A Agrupar canti"a"esB
canti"a"esB para editar sus
propiedades.
propie dades. "n la tabla Avail
Available Columns% mar,ue el cec/bo# de
able Input Columns%
las columnas AIdlienteB ' AantidadB. "n la parte inferior del editor% establezca
el valo
valorr de Bperation
Bperation   para
para la columna
columna AIdlie
AIdliente
nteBB a Mroup b0.
b0. "stablezca
ta
tamb
mbi*
i*nn el valor
valor de Bperation
Bperation   pa
para
ra la co
colu
lumn
mna a Aan
Aanti
tida
dadB
dB a Sum
Sum.. "sto
significa ,ue la transformaci$n obtendr= la suma de la columna AantidadB%
agrupada por cada cliente. 0l finalizar% el editor debe
de be tener la apariencia ,ue se
muestra a continuaci$n;
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    86

J. Pulse el
e l bo
bot$n B
B   para
para finali
finalizar
zar la edici$
edici$n
n de la transf
transforma
ormaci$
ci$n
n A0grupa
A0gruparr
cantidadesB.

12.. 0 co
12 cont
ntin
inua
uaci
ci$n
$n%% agre
agregu
gue
e una
una tran
transf
sform
ormac
aci$
i$n
n de ti
tipo
po Sort
Sort%% ' establezca su
nombre
nom bre a A5rden
A5rdenar
ar por ca
canti
ntidad
dadB.
B. Selecc
Seleccion
ione
e la transf
transforma
ormaci$
ci$n
n A0grup
A0grupar
ar
cantidadesB% ' conecte su fleca de salida con la transformaci$n A5rdenar por
cantidadB.

11. !aga
!aga doble
doble cl
clic/
ic/ sobre la transf
transform
ormaci
aci$n
$n A5rden
A5rdenar
ar por canti
cantidad
dadBB para
para editar
editar
sus propiedades.

1.. "n la ta
1 tabl
bla
a Available Input Columns%
Columns% mar,ue el cec/bo# a la iz,uierda de la
columna AantidadB. "n la parte inferior del editor% establezca el valor de Sort
$0pe   a "escen"ing
$0pe "escen"ing   para
para la column
columnaa Aanti
Aantidad
dadB.
B. "sto
"sto signif
significa
ica ,ue esta
esta
tran
transf
sfor
orma
maci
ci$n
$n orde
ordena
nar=
r= lolos
s da
dato
tos
s de
desc
scen
enden
dente
teme
mentnte
e por
por la cocolu
lumn
mna a
 AantidadB. 0l finalizar%
finalizar% el aspecto del editor debe ser el siguiente;
CI'&($&C

#% Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

1.. Puls
1 Pulse
e el bot$n
bot$n B  para finalizar la edici$n de la transformaci$n. 0 continuaci$n%
B para
agregue un 6la 6latt 6il
6ile
e Destin
Destinati on%% ' esta
ation establ
blez
ezca
ca su nomb
nombrere a A0rc
A0rci
ivo
vo
ordenadoB. Seleccione la transformaci$n A5rdenar por cantidadB% ' conecte su
fleca de salida con el destino A0rcivo ordenadoB. 0l finalizar% la ventana Data
 debe tener la siguiente apariencia;
6lo5 debe
6lo5

1F.. !aga
1F !aga dobl
doble
e cl
clic
ic sobre
obre el de des
sti
tino
no A0rc
A0rc
ivo
ivo ord
rden
enaadoB
doB pa
para
ra ed
ediita
tarr sus
propiedades. "n el editor% pulse el bot$n Ne5  para crear un nuevo connection
Ne5 para

man
manage
Pulseager.
el r. "n la
bot$n ventana
venta
B.
B . na 6lat 6ile 6ormat%
6ormat % selecc
seleccion
ione
e la opci$n
opci$n Delimite"
Delimite"..
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    88

1G.. "n la vent


1G ventan
ana
a de edici
edici$n
$n del nuev
nuevo
o co
conn
nnec
ecti
tion
on ma
mana
nager
ger%% esta
establ
blez
ezca
ca las
las
siguientes propiedades;

%ropie"a" 4alor
onn
o nnec
ecti
tion
on ma
mana
nager
ger Despacos ordenados
name
7ile name Seleccione una ruta cual,uiera. "stablezca el
nombre del arcivo a
 ADespacos5rdenados.t#tB 
olumn names in te S9 
first data roC

0l finalizar% el editor debe ,uedar de la siguiente manera;

1H.. Puls
1H Pulse
e el bot
bot$n
$n B
B.. 0 continuaci$n% seleccione la opci$n 8appings en
8appings en el panel
iz
iz,u
,uie
ierd
rdo.
o. Los
Los mape
mapeosos de cocolu
lumn
mnas
as deben
deben ,ued
,uedar
ar co
como
mo se mues
muestrtra
a a
continuaci$n;
CI'&($&C

#& Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

1.. Pul
1 Pulse el bot
bot$n
$n B
B.. Nuarde el pa,uete ' e-ec:telo. "l pa,uete generar= un
arcivo
arcivo de te#to llamado ADespacos
ADespacos5rdena
5rdenados.t
dos.t#tB%
#tB% donde la informaci
informaci$n
$n
esta
estar=
r= su
suma
mari
riza
zada
da po
porr ca
cant
ntid
idad
ad ' agru
agrupa
pada
da por
por cl
clie
ient
nte.
e. @eri
@erifi
fi,u
,ue
e los
los
resultados.
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    90

/.1; Combinar ilas a travs "e la transormaciFn 8erge Hoin

La transformaci$n 8erge Hoin permite


Hoin permite combinar dos filas provenientes de or9genes
de datos distintos en una sola fila% con base en una o m=s columnas ,ue tengan
valores comunes. Por e-emplo% pueden tenerse las siguientes filas en un arcivo de
te#to;

1, G-999
, -999

Donde la primer
Donde primeraa column
columna
a represe
representa
nta el ID del cliente%
cliente% ' la segund
segundaa column
columnaa
representa
representa las ventas totales. Por otro lado% en una tabla de clientes
clientes se tienen
tienen las
siguientes filas;

Idliente ombreliente
1 Torge Nonz=les +arrera
 ar9a 7lores !errera

0 trav*s
trav*s de la transfor
transformac
maci$n
i$n 8erge Hoin%
Hoin% las filas provenientes del arcivo de
te#to pueden combinarse con las filas de la tabla% con base en los valores de las
column
columnas
as ,ue contiene
contienenn el ID del cliente%
cliente% par
para
a pro
produc
ducir
ir un :nico
:nico con-un
con-unto
to de
resultados con la siguiente estructura;

Idliente ombreliente @entas


1 Torge Nonz=les +arrera H222
 ar9a 7lores !errera 3222
CI'&($&C

&' Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

"n este caso% las columnas AIdlienteB del arcivo de te#to ' la tabla reciben el
nombre de Ho Hoin
in e 0s%% de
e0s debi
bido
do a ,ue
,ue son us usad
ada
as pa
para
ra de
deffinir
inir la reg
eglla de
combinaci$n.

La im
impl
plem
emen
enta
taci
ci$n
$n de una
una trans
transfo
form
rmac
aci$
i$n
n 8erge Hoin tie
tiene
ne las si
sigui
guient
entes
es
condiciones;

Las columnas ,ue cumplen el papel de Hoin e0s deben


de datos. e0s deben tener el mismo tipo

 Las
Las fi
fila
las
s ,ue
,ue ingr
ingres
esan
an a la tran
transf
sfor
orma
maci
ci$n
$n 8e
8erg
rge
e Ho in   debe
Hoin deben
n estar
estar
ordenadas con base en los valores de las columnas ,ue cumplen el papel de
e0s.
Hoin e0s.
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    92

 &9ercicio 1;: Utilizar la transorm


transormaciFn
aciFn 8erge Hoin.

"n este e-ercicio% se leer=n las filas e#istentes en un arcivo de te#to ,ue contiene
informaci$n como *sta;

IdSu
IdSubC
bCat
ateg
egor
oria
ia,, Ven
enta
tas
s
1, -F-G
, G-FG
A, F-8A

"stas filas se combinar=n con los registros


ros prov
oven
eniientes de la tabla
 AProduction.ProductSubategor'B% ,ue tienen la siguiente
siguiente estructura;
Prod
Produc
uctS
tSub
ubCa
Cate
tego
gory
ryID
ID Nam
Name
1 M'!tai! 7ike
 ad 7ike
A T'#i!J 7ike

La sa
sali
lida
da produ
produci
cida
da po
porr la tran
transf
sform
ormac
aci$
i$n
n 8erge Hoin  co
8erge Hoin cont
nten
endr
dr=
= el Id de la
subcategor9a% las ventas ' el nombre de la subcategor9a. Se utilizar= el Id de la
subcategor9a como condici$n de combinaci$n ( 9oin ,e0).
,e0).
CI'&($&C

&3 Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

Siga los siguientes pasos;

1. "n el pro'ec
pro'ecto
to A0dve
A0dvent
ntur
ure6
e6or/
or/s>
s>SS
SSIS
IS>D
>Dem
emo1
o1BB cree un nuev
nuevoo Data Source
con nombre A0dventure6or/s < 5L" D+B% con las siguientes propiedades;

%ropie"a" 4alor
Provider 0&I@" 5L" D+ZSQL ative lient 12.2
Server ame localost
Database ame 0dventure6or/s
ame 0dventure 6or/s < 5L" D+

. 0gregue
0gregue al
al pro'ect
pro'ecto
o un nuevo
nuevo pa,ue
pa,uete
te llama
llamado
do ADemo
ADemo erge
erge ToinB
ToinB..

. 0gregu
egue un nuevo 7lat 7ile onnec
ecttion anager con las siguientes
caracter9sticas;

%ropie"a" 4alor
ame 0rcivo de @entas
0rcivo Seleccione el arcivo A@entasSubategoria.t#tB  
&e#t Qualifier inguno
olumn names in te S9 
first data roC

F. ontin:e
ontin:e la
la edici$n
edici$n del connect
connection
ion manager
manager A0rcivo
A0rcivo de
de @entasB%
@entasB% selecciona
seleccionando
ndo
la opci$n A"vance"
A"vance"   en el pa pane
nell iz
iz,u
,uie
ierd
rdo.
o. "s
"sta
tabl
blez
ezca
ca las
las si
sigu
guie
ient
ntes
es
propiedades para cada columna en el arcivo de te#to;

Columna %ropie"a"es
IdSubategoria Data&'pe; fourb'te signed integer OD&>IF
@entas Data&'pe; decimal OD&>D"I0L

G. Pulse B para finalizar la edici$n del connection manager A0rcivo de @entasB.


B para

H. 0gregue
0gregue al pa,u
pa,uete
ete un nuevo
nuevo conne
connecti
ction
on manage
manager%r% basado
basado en el data
data source
source
 A0dventure6or/s < 5L" D+B% creado en el paso (1).

.  A5btener
"n el
el pa,u
pa,uet
ete%
e% cre
ventascpor
ree
e subcategor9aB.
una
una tare
tarea
a de tip
tipo
o Data 6lo5 $as,.
$as,. 0s9gn
0s9gnele
ele el nombre
nombre

3. Dent
Dentro
ro de la tarea
tarea A5bt
A5bten
ener
er venta
ventas
s po
porr su
subc
bcat
ateg
egor9
or9aB
aB%% agregu
agregue
e un 6lat 6ile
Source%% con las siguientes propiedades;
Source

%ropie"a" 4alor
ame @entas por Subcategoria
7lat 7ile onnection Seleccione el connection manager A0rcivo de
anager @entasB 
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    94

J. Dent
Dentro
ro de la ta
tarea
rea A5bt
A5bten
ener
er venta
ventas
s po
porr su
subc
bcat
atego
egor9
r9aB
aB%% agregu
agregue
e un BL& D'
Source%% con las siguientes propiedades;
Source

%ropie"a" 4alor
ame Subcategorias
5L" D+ onnection Seleccione el connection manager
anager  A0dventure6or/s  5L"D+B 
Data 0ccess ode &able or vieC
ame of te table or OProduction.OProductSubategor'
vieC
olumns ar,ue :nicamente las columnas
 AProductSubategor'IDB ' AameB.

0l terminar% el diseKador debe tener la siguiente apariencia;

12. "n la tarea A5btener


A5btener ventas
ventas por subcategor9a
subcategor9aB%
B% agregue una transform
transformaci$n
aci$n de
tipo Sort
Sort%% con nombre A5rdenar ventas por IdSubategoriaB. Luego% seleccione
el origen A@entas por subcategor9aB% ' una su salida con la transformaci$n Sort
,ue acaba de crear.
crear. onfigure
onfigure la transforma
transformaci$n
ci$n Sort para ordenar los datos
Sort para
ascendentemente por la columna AIdSubategoriaB.

11. 0gregue
0gr
de egue
tipo otra
otra transf
Sort
Sort% tra
% consform
connormaci
no aci$n
nomb $n
mbre
re
 A5rdenar subcategorias por
ID
IDB.
B. Lueg
Luego%
o% se sele
lecc
ccio
ione
ne el
orig
origen
en ASub
ASubcacatetego
gori
rias
asB%
B% '
una su salida con la
tr
tran
anssfo
form
rmaaci
ci$n
$n Sort ,ue
acaba de crear. onfigure la
tr
tran
ansf
sfor
orma
maci
ci$n
$n Sort Sort   para
ordenar los datos
as
asce
cend
nden
ente
temment
ente por por la
columna
 AProductSubategor'IDB. 0l
terminar% el diseKador debe
tener la siguiente
apariencia;
CI'&($&C

&$ Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

1.. 0gre
1 0gregu
gue
e una
una trans
ransfo
form
rmac
acii$n de ti
tip
po 8er
8erge Hoin. Lueg
ge Hoin Luego%
o% se
sele
lecc
ccio
ione
ne la
transforma
transformaci$n
ci$n Sort llamada A5rdenar ventas por IdSubategoriaB% ' una su
salida
salida con la transf
transforma
ormaci$
ci$nn 8e
8erg
rge
e Ho in ,ue acaba de crear. 0parecer= la
Hoin
ventana Input Butput Selection?
Selection? establezca el valor de la propiedad Input  a
Input a
 Aerge Toin Left InputB% como se muestra
muestra en la siguiente figura;

1.. Puls
1 Pulse
e el bot
bot$n
$n B
B.. 0 continuaci$n% seleccione la transformaci$n Sort llamada
Sort llamada
 A5rdenar subcategorias por IDB ' una su salida a la transformaci$n 8erge
Hoin.. 0l finalizar% el diseKador debe tener la siguiente apariencia;
Hoin

1F.. !aga
1F !aga do dobl
ble
e clclic
ic/
/ so
sobr
bree la tran
transf
sfor
orma
maci
ci$n
$n A8er
8erge HoinB. 5bse
ge Hoin 5bserv
rve
e ,ue
,ue la
condic
con dici$n
i$n de -oin
-oin con
consis
siste
te en el enlace
enlace entre
entre la column
columnaa AId
AIdSub
Subat
ategor
egoriaB 
iaB 
(prove
(provenie
niente
nte del arciv
arcivoo de te#to)
te#to)%% ' la column
columna a AProdu
AProductS
ctSub
ubate
ategor'
gor'IDB 
IDB 
(prove
(provenie
niente
nte de la tabla
tabla Produc
ProductSu
tSuba
bateg
tegor'
or').
). "ste
"ste enlace
enlace se a crecreado
ado
autom=ticamente% debido a ,ue estas son las dos :nicas columnas ,ue tienen
el mi
mism
smo o ti
tipo
po de da dato
to (Int
(Intege
eger)
r).. Si
Sin
n emba
embargo
rgo%% esta
esta relac
relaci$
i$n
n pu
pued
ede
e se
serr
cambiada por el desarrollador% si es necesario.
"n el editor% mar,ue los cec/ bo#es ,ue se encuentran a la iz,uierda de las
columnas AProductSubategor'IDB% AameB% ' A@entasB. 0l finalizar% el editor
debe tener la siguiente apariencia;
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    96

1G.. Puls
1G Pulse
e el bot$n
bot$n B para finalizar la edici$n.
B para

1H. 0gregue
0gregue al pa,ue
pa,uete
te un nuevo
nuevo Connection 8anager%
8anager% basado en el data source
 A06or/s artDemoB.

1.. 0greg
1 0gregue
ue al pa
pa,u
,uet
ete
e un desti
destino
no de titipo
po   BL& D' Destination%
Destination% con nombre
 A@entasB. Luego% seleccione la transformaci$n
transformaci$n Aerge ToinB% ' una su salida con
el destino ,ue acaba de crear. "stablezca las propiedades del destino A@entasB 
como se muestra a continuaci$n;

%ropie"a" 4alor
5L" D+ onne
5L" onnect
ctio
ion
n 06or/s artDemo
anager
Data 0ccess ode &able or vieC < fast load
ame of te table or Pulse
Pulse el bot$n
bot$n Ne5
Ne5%% ' cree una nueva tabla
te vieC con la siguiente definici$n;
4"0&" &0+L" O@entasSubcategoria (
  OProductSubcategor'ID I&"N"4%
  Oame @04!04(G2)%
  O@entas D"I0L
)
CI'&($&C

&% Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

13. Una vez finaliza


finalizada
da la edici$n
edici$n del destino
destino A@entasB%
A@entasB% el diseKador
diseKador debe tener
tener la
siguiente apariencia;

1J.. Nuar
1J Nuarde
de el pa
pa,u
,uet
ete
e ' e-e-ec
ec:t
:tel
elo.
o. omp
ompru
ruebe
ebe los
los resul
resulta
tado
dos
s aaci
cien
endo
do una
una
selecci$n de los registros en la tabla A@entasSubategoriaB de la base de datos
06or/s>artDemo.
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    98

/.11 'iurcar un lu9o "e "atos: la transormaciFn Con"itional


  Split

La transformac
transformaci$n
i$n Con"itional Split permite
Split permite bifurcar un flu-o de datos% con base
en condiciones l$gicas. Por e-emplo% es posible ,ue se re,uiera escribir las filas
pr
prov
oven
enie
ient
ntes
es de un :nic
:nico
o fl
flu-
u-o
o de dadato
tos
s en dos
dos o m=s
m=s dedest
stin
inos
os di
dist
stin
into
tos%
s%
dependiendo de los valores de ciertas columnas en cada fila.

"n una transf


transform
ormaci
aci$n
$n Con"i
Con"itiona Split% el desarro
tionall Split% desarrolla
llador
dor puede
puede defini
definirr varios
varios
outputs%% cada uno de los cuales tiene asignada una cierta condici$n l$gica. Por
outputs
e-emplo% al leer un arcivo de ventas por pa9s% se puede acer ,ue las filas cu'o ID
de pa
pa99s se
seaa APer
APer:B
:B se esesc
criba
riban
n en una tabl abla de SQL
SQL Se
Serv
rver
er%% ' las fi fila
las
s
correspondientes con otros pa9ses se escriban en una o-a de "#cel.
CI'&($&C

&& Dis
Diseño
eño e Imp
Implem
lement
entaci
ación
ón de Sol
Soluci
ucione
ones
s OL
OLAP
AP con
con Anal
Analsis
sis Servic
Services
es SQL
SQL Serv
Server
er !""#
!""#

 &9ercicio 11: Utilizar la transorm


transormaciFn
aciFn Con"itional Split.

"n este e-ercicio% se leer=n las filas e#istentes en un arcivo de despacos ,ue
contiene informaci$n como *sta;

IdPlanta, IdProducto, IdCliente, Cantidad


1, 1-, "-1A8F911", 8
1, 1-F, "-G1A9F9118", 
1, 1G8, "-G19FAAA", 19
8, 1-, "-1A8F911", 8
8, 1-F, "-G1A9F9118", 
8, 1G8, "-G19FAAA", F

"ste flu-o de datos ser= bifurcado con base en la siguiente condici$n; si el valor de
IdPlanta es 1% los datos se escribir=n en una tabla llamada ADespacosLimaB. Si el
IdPlan
IdPlanta
ta es F% los datos
datos se escrib
escribir=
ir=n
n en la tabla
tabla AD
ADesp
espac
acos&
os&ru-
ru-ill
illoB.
oB. Siga
Siga los
siguientes pasos;

1. "n el pr
pro'
o'ec
ecto
to A0dv
A0dven
entu
ture6
re6or/
or/s>
s>SS
SSIS
IS>D
>Dem
emo1B
o1B cree
cree un nu
nuev
evo
o pa,u
pa,uet
ete
e co
con
n
nombre ADemo onditional SplitB.

. 0gregu
egue un nuevo 7lat 7ile onnec
ecttion anager con las siguientes
caracter9sticas;
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    100

%ropie"a" 4alor
ame 0rcivo de Despacos
0rcivo Seleccione el arcivo ADetalleDespacos.t#tB  
&e#t Qualifier A (comilla doble)
olumn names in te S9 
first data roC

. ont
ontin
in:e
:e la edi
edici$
i$n
n de
dell conne
onnec
cti
tion
on manag
anager
er A0rc
A0rc
ivo
ivo de Des espa
pac
cosB
osB%%
se
sele
lecc
ccio
iona
nand
ndo
o la opci
opci$n
$n A"vance"
A"vance"   en el pane
panell iz,u
iz,uie
ierdo
rdo.. "s
"sta
tabl
blezc
ezcaa las
las
siguientes propiedades para cada columna en el arcivo de te#to;

Columna %ropie"a"es
IdPlanta Data&'pe; fourb'te signed integer OD&>IF
IdProducto Data&'pe; fourb'te signed integer OD
OD&>IF
Idliente Data&'pe; string OD&>S&4
5utputolumn6idt; 11
antidad Data&'pe; decimal OD&>D"I0L

F. Pulse B
B   pa
para
ra fi
fina
nali
liza
zarr la edic
edici$n
i$n del co
conn
nnec
ecti
tion
on mana
manager
ger A0rc
A0rci
ivo
vo de
DespacosB.

G. "n el
el pa,u
pa,uet
ete%
e% cre
cree
e una
una tare
tarea
a de tip
tipo
o Data 6lo5 $as,.
$as,. 0s9gn
0s9gnele
ele el nombre
nombre
 A&ransferir DespacosB.

H. Dent
Dentro
ro de la tarea
tarea A&ran
A&ransf
sferi
erirr Desp
Despac
aco
osB
sB%% agregu
agregue
e un 6lat 6ile Source%
Source% con
las siguientes propiedades;

%ropie"a" 4alor
ame Despacos
7lat 7ile onnection Seleccione el connection manager A0rcivo de
anager DespacosB 

. 0 continu
continuaci$n
aci$n%% en la
la tarea
tarea A&ransf
A&ransferir
erir Despac
DespacosB
osB agregue una transf
transformac
ormaci$n
i$n
de tipo Con"itional Split con
Split con nombre A4epartir despacosB. Luego% seleccione
el origen
origen ADespac
ADespacosBosB creado
creado en el paso
paso anteri
anterior%
or% ' una su salida
salida con la
transformaci$n A4epartir despacosB.
3. !aga
!aga doble
doble clic/
clic/ sobre la transf
transform
ormaci
aci$n
$n A4epart
A4epartir
ir despac
despacosB
osB.. "n el editor
editor de
la transformaci$n% cree los siguientes outputs;

Nombre Butput Con"iciFn


Planta Lima OIdPlanta [[ 1
Planta &ru-illo OIdPlanta [[ F
CI'&($&C

'"' Diseñ
Diseño
o e Im
Impleme
plementaci
ntación
ón de Soluciones
Soluciones OLAP con
con Analsis
Analsis Services
Services SQL Server
Server !""#

J. Pulse el
el bot$n B para confirmar los cambios.
B para

12. 0gregue
0gregue al pa,uete
pa,uete un nuevo
nuevo conn
connect
ection
ion manage
managerr basado
basado en el data
data source
source
 A06or/s artDemoB 

11.. "n la ta
11 tare
rea
a A&ra
A&rans
nsfe
feri
rirr de
desp
spac
aco
osB
sB%% agre
agregu
gue
e un dedest
stin
ino
o de ti
tipo
po BLBL& & D'
Destination   con nomb
Destination nombrre ADes
ADespa
paccos
os Lim
LimaB
aB.. Lueg
Luego%o% se
sele
lec
cci
cion
onee la
transformaci$n A4epartir despacosB ' una su salida con el destino ADespacos
Li
Lima
maB.
B. Se abr
abrir
ir=
= la
la vent
ventan
ana
a Input Butput Selection?? en la pr
Butput Selection prop
opie
ieda
dad
d
Butput%% seleccione APlanta LimaB% como se muestra a continuaci$n;
Butput
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    102

2.. Puls
2 Pulse
e el bo
bot$
t$n
n B para aceptar los cambios. Luego% aga doble clic/ sobre el
B para
destino ADespacos LimaB% ' establezca sus propiedades como se muestra a
continuaci$n;

%ropie"a" 4alor
5L"
5L " D+ onne
onnect
ctio
ion
n 06or/s artDemo
anager
Data 0ccess ode &able or vieC < fast load
ame of te table or Pulse
Pulse el bot$n
bot$n Ne5
Ne5%% ' cree una nueva tabla
te vieC con la siguiente definici$n;
4"0&" &0+L" ODespacosLima (
  OIdPlanta I&"N"4%
  OIdProducto I&"N"4%
  OIdliente @04!04(11)%
  Oantidad D"I0L
)

1. 7inali
7inalice
ce la edici$n
edici$n del destino
destino ADespa
ADespaco
cos
s LimaB.
LimaB. 0 contin
continuac
uaci$n
i$n%% en la tarea
tarea
 A&ransferir despacosB% agregue un nuevo destino de tipo BL& D'
Destination   co
Destination con
n nomb
nombre
re ADes
ADespa
pac
cos
os &r
&ru-
u-il
illo
loB.
B. Lueg
Luego%
o% se
sele
lecc
ccio
ione
ne la
transformaci$n A4epartir despacosB ' una su salida con el destino ADespacos
&ru-illoB
&ru-illoB.. Se abrir=
abrir= la ventan
ventanaa Input Butput Selection?? en la propiedad
Butput Selection
Butput%% seleccione APlanta &ru-illoB% como se muestra a continuaci$n;
Butput

1.. Puls
1 Pulse
e el bo
bot$
t$n
n B para aceptar los cambios. Luego% aga doble clic/ sobre el
B para
destino ADespacos &ru-illoB% ' establezca sus propiedades como se muestra a
continuaci$n;

%ropie"a" 4alor
5L"
5L " D+ onne
onnect
ctio
ion
n 06or/s artDemo
anager
Data 0ccess ode &able or vieC < fast load
ame of te table or Pulse
Pulse el bot$n
bot$n Ne5
Ne5%% ' cree una nueva tabla
te vieC con la siguiente definici$n;
4"0&" &0+L" ODespacos&ru-illo (
  OIdPlanta I&"N"4%
  OIdProducto I&"N"4%
  OIdliente @04!04(11)%
  Oantidad D"I0L
)

CI'&($&C

'"3 Diseñ
Diseño
o e Im
Impleme
plementaci
ntación
ón de Soluciones
Soluciones OLAP con
con Analsis
Analsis Services
Services SQL Server
Server !""#

1F. 0l finalizar%
finalizar% el diseKado
diseKadorr debe tener la siguiente
siguiente apari
apariencia
encia;;

1G. Nuarde
Nuarde el pa,uet
pa,uetee ' e-ec:t
e-ec:telo
elo.. Luego%
Luego% compruebe
compruebe los result
resultado
ados
s e-e
e-ecut
cutand
andoo
consultas de selecci$n sobre las tablas ADespacosLimaB ' ADespacos&ru-illoB 
de la base de datos 06or/s>a >artD
rtDemo. @erifi,ue ,ue a la tabla
 ADespacosLimaB s$lo an llegado registros cu'o IdPlanta es 1% mientras ,ue la
tabla ADespacos&ru-illoB a sido poblado por los registros
re gistros cu'o IdPlanta es F.
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    104

/.1) DistribuciFn -"eplo0ment "el pro0ecto SSIS

Una vez finalizado el desarrollo de los pa,uetes SSIS% *stos deben ser llevados a un
servidor ,ue est* corriendo los servicios de SQL Server Integration Services. 0 este
proceso se le denomina "istribuciFn  (deplo'ment).
"istribuciFn (deplo'ment).

Durante el "eplo0ment
"eplo0ment%% la definici$n del pa,uete SSIS se almacena en el servidor%
en alguna de las siguientes ubicaciones;

 7ile s'stem; "l pa,uete se graba en un arcivo% ubicado en una carpeta del
sistema de arcivos del servidor.
 SQL Server; La definici$n del pa,uete se almacena en la base de datos
ms"b! ,ue es una base de datos de sistema de SQL Server 223.

Una vez ,ue los pa,uet


pa,uetes
es an sido distri
distribui
buidos
dos%% pued
pueden
en ser e-ecut
e-ecutado
ados
s por el
administrador en cual,uier momento% desde la consola del SQL Server anagement
Studio.
Studio. "l administra
administrador
dor puede tambi*n programar la e-ecuci$n
e-ecuci$n autom=tica
autom=tica de los
pa,uetes% a trav*s de la creaci$n de  9obs  (traba-os) en el agente de SQL Server
 9obs (traba-os)
223.
CI'&($&C

'"$ Diseñ
Diseño
o e Im
Impleme
plementaci
ntación
ón de Soluciones
Soluciones OLAP con
con Analsis
Analsis Services
Services SQL Server
Server !""#

La distribuci$n de los pa,uetes SSIS puede efectuarse en una de las siguientes


formas;

 Distribuci$n manual; onsiste en copiar en el servidor el arcivo del pa,uete


(e#t
(e#ten
ensi
si$n
$n dt
dts#
s#)) ' cu
cual
al,u
,uie
ierr ot
otro
ro ararc
civ
ivo
o re
rela
laci
cion
onad
ado%
o% ' ca carg
rgar
arlo
lo
manualmente en los servicios de SQL Server Integration Services. 0 trav*s


de este
Depl
De plo'
o'memecanismo%
mentnt ututil
ilit';s$lo
it'; SSpuede
SSIS
IS pr distribuirse
prov
ovee una un
ee una epa,uete
err
rram
amie
ienta lapa
nta
a vez.
para
ra faci
facili
lita
tarr la
di
dist
stri
ribu
buci
ci$n
$n de lo los s pa
pa,u
,uet
etes
es ,ue
,ue se encuencuent
entra
ran
n un prpro'
o'ec
ecto
to SSIS
SSIS.. "l
"eplo0ment
"eplo0 utilit0   es un asistente% ,ue produce un arcivo ,ue puede
ment utilit0
e-ecutarse en el servidor para efectuar la distribuci$n con s$lo un clic. on
este utilitario% es posible distribuir varios pa,uetes a la vez.
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    106

 &9ercicio
&9ercicio 1): Dis
Distri
tribui
buirr el pa3
pa3uet
uete
e con el De
Deplo
plo0m
0ment
ent
Utilit0.

"n el siguie
siguiente
nte e-erci
e-ercicio
cio%% desple
desplegar
garemo
emos
s los pa,uet
pa,uetes
es desarr
desarroll
ollado
ados%
s% acia
acia el
Serv
Se rvid
idor
or SSIS
SSIS ututil
iliz
izan
ando
do el Ciza
Cizard
rd de dedesp
spli
lieg
egue
ue.. Lueg
Luego
o dedell de
desp
spli
lieg
egue
ue
e-ecutaremos los pa,uetes en el servidor.

1. "n su
su disco
disco de
de traba-o%
traba-o% cree una carpeta
carpeta llamada
llamada ASSIS
ASSISonfi
onfigurati
gurationsB.
onsB.

. "n la ventana del Solu


Soluti
tion
on &7pl
&7plorer%%
orer seleccione el pro'ecto
A"venture?or,s@SSIS@Demo1.. !aga clic/
A"venture?or,s@SSIS@Demo1 dereco% ' seleccione
%roperties..
%roperties
CI'&($&C

'"% Diseñ
Diseño
o e Im
Impleme
plementaci
ntación
ón de Soluciones
Soluciones OLAP con
con Analsis
Analsis Services
Services SQL Server
Server !""#

. Se abrir=
abrir= la
la ventana
ventana de propi
propieda
edades
des del pro'
pro'ect
ecto.
o. "n la parte
parte iz,ui
iz,uierda
erda de la
la
ventan
ventana%
a% selecc
seleccion
ione
e la opci$n
opci$n Deplo0
Deplo0ment Utilit0.. "stablezca la propiedad
ment Utilit0
CreateDeplo0mentUtilit0 a $rue
$rue;;

F. "n el men
men:
: del ent
entorn
orno
o de desa
desarr
rrol
ollo
lo%% selec
selecci
cion
one
e 'uil"
'uil".. !aga un clic sobre la
opci$n 'uil" A"venture?or,s@SSIS@Demo1;
A"venture?or,s@SSIS@Demo1;

G. 0l termina
terminarr la compil
compilaci$n%
aci$n% se abr=
abr= creado
creado una c
carpeta
arpeta llamada
llamada ADeplo'
ADeplo'mentB
mentB%%
en el directorio AbinB de la carpeta del pro'ecto. Dica carpeta contiene el
arcivo
arcivo A0dventure6o
A0dventure6or/s>SS
r/s>SSIS>Dem
IS>Demo1.SS
o1.SSISDep
ISDeplo'men
lo'mentanif
tanifestB%
estB% ,ue es el
instalador del pro'ecto SSIS. 0dem=s% contiene el arcivo
 AopiaProductos.dts#B% ,ue contiene el pa,uete% ' el arcivo de configuraci$n
 Aconfiguraciones.dtsconfigB%
 Aconfiguraciones.dtsconfigB% creado en el e-ercicio (H).

H. Pa
Para
ra in
inic
icia
iarr la di
dist
stri
ribu
buci
ci$n
$n de
dell pa
pa,u
,uet
ete%
e% a
aga
ga dobl
doble
e cl
clic
ic so
sobr
bre
e el ar
arc
civ
ivo
o
 A0dventure6or/s>SSIS>Demo1.SSISDeplo'mentanifestB.
 A0dventure6or/s>SSIS>Demo1.SSISDeplo'mentan ifestB. Se iniciar= el
%ac,age Installation ?izar". Pulse el bot$n Ne7t de la primera ventana del
?izar".  Pulse el bot$n Ne7t
%ac,age Installation ?izar". Pulse  de la primera ventana del
Ne7t de
asistente.

CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    108

. La siguie
siguiente
nte ventan
ventanaa permite
permite estable
establecer
cer el tipo de instal
instalaci
aci$n.
$n. Selecc
Seleccion
ione
e la
opci$n SQL Server "eplo0ment.
"eplo0ment. De esta manera% el pa,uete se almacenar=
en la base de datos ms"b  del servidor destino.
ms"b del

3. Pulse el
el bo
bot$n Ne7t
Ne7t.. 0 continuaci$n% establecer= el servidor destino para la
instalaci$n del pa,uete. "stablezca las siguientes propiedades;

%ropie"a" 4alor
Server name (local)
Use
Use 6ind
6indoC
oCs
s 0u
0ut
ten
enti
tica
cati
tion
on Sele
Selecc
ccioiona
nado
do
Pac/age pat \
CI'&($&C

'"& Diseñ
Diseño
o e Im
Impleme
plementaci
ntación
ón de Soluciones
Soluciones OLAP con
con Analsis
Analsis Services
Services SQL Server
Server !""#

J. Pulse el
el bo
bot$n Ne7t
Ne7t.. La siguiente ventana permite determinar la ubicaci$n de
los arcivos adicionales ,ue el pa,uete necesita para correr (por e-emplo% los
arcivos de configuraci$n del pro'
ro'ecto). Seleccione la carpeta
 ASSISonfigurationsB creada en el paso (1). De esta forma% el arcivo de
configuraci$n se copiar= en esta carpeta al finalizar la instalaci$n del pa,uete.

12.. Pul
12 Pulse el bot$
bot$n
n Ne7t
Ne7t.. 0parecer= la pantalla de confirmaci$n de la instalaci$n.
Pulse nuevamente el bot$n Ne7t.

11.. La si
11 sigu
guie
ient
nte
e vent
ventan
ana
a pe
perm
rmit
ite
e esta
establ
blec
ecer
er valo
valores
res inic
inicia
iale
less en el ararc
civ
ivo
o (o
arcivos)
arcivos) de configurac
configuraci$n.
i$n. "n la propiedad Coniguration ile% ile% seleccione la
co
conf
nfig
iguuraci
raci$n
$n Aconfi
onfigu
gura
raci
cion
ones
es..dt
dtsc
scon
onfi
figB
gB.. "n el gr griid Conigurations
Conigurations%%
seleccione la propiedad AvarPa,uete0ctivoB% ' establezca su valor a $rue $rue.. De
esta manera% antes de finalizar la instalaci$n% el arcivo de configuraci$n es
modificado de acuerdo a lo ingresado en esta pantalla% ' copiado al servidor
por el asistente de instalaci$n.

1.. Pul
1 Pulse el bot$
bot$n
n Ne7t
Ne7t.. 0parecer= la pantalla final del asistente. Pulse el bot$n
6inis..
6inis
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    110

1.. 0 co
1 cont
ntin
inua
uaci
ci$n
$n se obse
observ
rvar
ar=
= el pa
pa,u
,uet
ete
e inst
instal
alad
ado.
o. 0bra
0bra el SQL Server
Server
8anagement
8anag Stu"io. "n la pa
ement Stu"io pant
ntal
alla
la de co
cone
ne#i
#i$n
$n ingr
ingres
ese
e la si
sigu
guie
ient
nte
e
informaci$n;

%ropie"a" 4alor
Server t'pe Integration Services
Server name Vescriba el nombre de su estaci$n de
traba-oE

1F. Pulse el bot


bot$n Connect
Connect.. "n la ve
vent
ntan
anaa de
dell Bb9ec &7plorer%% e#pa
Bb9ectt &7plorer e#pand
nda
a el
se
serv
rvid
idor
or.. "#
"#pa
pand
nda
a el nodo
nodo Store
Store" %ac,ages.. "#panda el nod
" %ac,ages nodo 8SD'
8SD'..
Seleccione el pa,uete AopiaProductosB% aga un clic dereco ' seleccione la
opci$n (un pac,age;
pac,age;
CI'&($&C

''' Diseñ
Diseño
o e Im
Impleme
plementaci
ntación
ón de Soluciones
Soluciones OLAP con
con Analsis
Analsis Services
Services SQL Server
Server !""#

1G. 0parecer=
0parecer= la ventana
ventana de e-ecuci$n
e-ecuci$n de pa,uetes
pa,uetes.. Pulse el bot$n
bot$n &7ecute
&7ecute..

1H. 0parec
0parecer=
er= la ventan
ventana a %ac,age &7ecution %rogress! indicando el progreso de
la e-ecuci$n. 0l finalizar% e#amine la informaci$n mostrada por esta ventana.

1.. Puls
1 Pulse
e el bot
bot$n
$n Close para cerrar la ventana de progreso. Pulse nuevamente el
Close para
bot$n Close para cerrar la ventana de e-ecuci$n de pa,uetes. ierre el SQL
Server 8anagement Stu"io.
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    112

/.1/ AutomatizaciFn "e la e9ecuciFn "e los pa3uetes SSIS

Una vez desplegados% los pa,uetes SSIS pueden ser e-ecutados ba-o demanda. Sin
embargo% en la ma'or9a de los casos% los pa,uetes deben e-ecutarse de acuerdo
con una programaci$n peri$dica% sin intervenci$n de ning:n usuario.

La automatizaci$n de la e-ecuci$n de pa,uetes se efect:a a trav*s del servicio SQL


Agent. "ste servicio es responsable por todas las tareas automatizadas ,ue
Server Agent.
deben correr en el servidor de datos.
datos. Para programar
programar la e-ecuci$n
e-ecuci$n peri$dica
peri$dica de un
pa,uete de Integration Services% deben seguirse los siguientes pasos;

 rear un traba-o ( 9ob


 9ob)) en el 0gente de SQL Server 223.
 0gregar al traba-o un paso (step
( step)) de tipo Integration Services %ac,age.
 Seleccionar el pa,uete ,ue se desea e-ecutar% ' los par=metros de e-ecuci$n
del pa,uete (or9genes de datos% arcivos de configuraci$n% etc.).
 0gregar al traba-o una nueva programaci$n (sce"ule
(sce"ule).
).

Debe tenerse en cuenta ,ue% para ,ue los traba-os se e-ecuten peri$dicamente% es
necesario ,ue el servicio SQL Server Agent est*
Agent  est* iniciado.

"n el siguiente e-ercicio% procederemos a automatizar la e-ecuci$n de pa,uetes


SSIS aciendo uso de Tobs SQL Server 223.
CI'&($&C

''3 Diseñ
Diseño
o e Im
Impleme
plementaci
ntación
ón de Soluciones
Soluciones OLAP con
con Analsis
Analsis Services
Services SQL Server
Server !""#

 &9ercicio 1/: %rogramar la e9ecuciFn "e un pa3uete "e


SQL Server Integration Services.

1. 0 tr
trav*s de
del SQL Server
Server 8anagement Stu"io% con
8anagement Stu"io% con*ct
*ctese
ese con el servic
servicio
io
Database
Datab &ngine% us
ase &ngine usan
ando
do aute
autent
ntic
icac
aci$
i$n
n 6ind
6indoCs
oCs.. "#
"#pa
pand
nda
a el seserv
rvid
idor.
or.
"#pand
"#p andaa el nodo SQL Server Agent.
Agent . !aga clic dereco
dereco en el folder
folder Hobs
Hobs%% '
seleccione la opci$n Ne5 Hob%
Hob% como se muestra a continuaci$n;

. 0par
0parec
Nameecer=
Name   er=
dell la-o
de vent
ventan
b a ana
-ob a-ecu
A"-e
A" de
cutacreac
cre
r aci$
tar i$n
pa n ete
pa,u
,uetde
e un nuevo
nu
SSISB.evo
SSISB. -ob.
-ob
Luego%. "s
Luego% "sta
entabl
blezc
elezca
paanel
panelal propi
propied
iz,u edad
iz,uie ad%
ierdo
rdo%
seleccione la opci$n Steps
Steps..

CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    114

. Pulse el
e l bo
bot$n Ne5
Ne5%% ,ue se encuentra en la parte inferior de la ventana.
0parecer= la ventana Ne5 Hob Step
Step.. "stablezca las siguientes propiedades;

%ropie"a" 4alor
ame "-ecutar carga de productos
&'pe SQL Server Integration Services Pac/age
Pac/age source SSIS Pac/age Store
Server Localost
Pac/age Pulse el bot$n "ll
"llipsis ( ) ' seleccione
one el
pa,uete AopiaProductosB.

0l finalizar% el editor debe tener la siguiente apariencia;

F. Pulse el
el bot$n B
B.. 0 continuaci$n% en el panel iz,uierdo del editor de traba-os%
seleccione la opci$n Sce"ules
Sce"ules.. "s posible ,ue se abra la siguiente ventana;

"n este caso% pulse el bot$n Ees


Ees..
CI'&($&C

''$ Diseñ
Diseño
o e Im
Impleme
plementaci
ntación
ón de Soluciones
Soluciones OLAP con
con Analsis
Analsis Services
Services SQL Server
Server !""#

G. Para
Para crea
crearr una nuev
nuevaa progr
program
amac
aci$
i$n%
n% puls
pulse
e el bot$n
bot$n Ne5 ,ue se encuentra
Ne5 ,ue encuentra en
la parte inferior del editor. ree una nueva programaci$n con las siguientes
propiedades;

%ropie"a" 4alor
ame Diario
Scedule &'pe 4ecurring
5ccurs Dail'
4ecurs ever' 1 d9a
5ccurs once at "li-a una ora tres o cuatro minutos m=s
tarde ,ue la ora indicada por el relo- interno
de su computadora

0l finalizar% el editor de programaciones debe tener la siguiente apariencia;

H. Pulse el
el bot$n B para finalizar la edici$n de la programaci$n.
B para

. Pulse el
el bot$n B para finalizar la edici$n del traba-o.
B para

3. Para
Para moni
monito
torea
rearr la e-ec
e-ecuc
uci$
i$n
n del tra
traba
ba-o
-o%% en el Bb9ect &7plorer seleccione
&7plorer seleccione el
traba-o A"-ecutar pa,uete SSISB% aga clic dereco ' seleccione la opci$n 4ie5
*istor0.
CI'&($&C

Utilizar SQL Server Integration Services para poblar el Datamart    116

J. "n la ventana
ventana de istorial%
istorial% observe
observe las e-ecucione
e-ecuciones
s del pa,uete
pa,uete (si a:n no
no se a
cumplido el tiempo de arran,ue de la programaci$n% ver= esta ventana vac9a.
4efres,ue la ventana cuando la programaci$n establecida en el paso (G) se
a'a cumplido.

También podría gustarte