Está en la página 1de 31

INTERMEZZO BUSINESS INTELLIGENCE

SQLSERVER INTEGRATION SERVICES 2008



LABORATORIOS

Alberto Rivera Tavera 7/19/2010

laboratorios sobre SQl Server Integration Services 2008

Tabla de Contenidos

LABORATORIO 1: Exportaclon de datos desde SQL Server hacia Excel 15 minutos 3

LABORATORIO 2: Preparaclon de datos en Excel para futuras practlcas de limpieza de datos 5

minutos 10

LABORATORIO 3: Creaclon de un nuevo proyecto de integration services, asignando un nombre al

proyecto y otro a la soluclon, 5 minutos 12

LABORATORIO 4: Ingreso ala soluclon desde el archivo .sln asociado con ella 5 minutos 13

LABORATORIO 5: Creaclon de un paquete para limpieza de datos 40 minutos 14

LABORATORIO 1: Exportacion de datos desde SQL Server bacia Excel 15 minutos

1. Ingrese a Microsoft Excel 2007

2. En un nuevo libro de Excel, en la primera fila escriba dos titulos para dos columnas con las cuales deseamos trabajar, la primera puede ser "lD" y la segunda "Tipo de Negocio"

_j_ _j

~[EjH!D 100% --I ...

3. Asignele lID nombre ala hoja de Excel, por ejemplo: ''ListaDeTiposDeNegocio''

4. Guarde ellibro de Excel en una ubicaci6n facil de acceder, como C:\ y asignele un nombre senci1lo como TipoNegocio.x1sx (Formato 2007)

5. Cierre Microsoft Excel 2007

6. En SSMS, Conectado a la instancia de motor relacional de SQL Server 2008; En ''Object Explorer" Expanda la carpeta de bases de datos.

~)[!;iI..,.r- . .;~ Bookl_MicrosoftE:<c.1 _~x

~Inse~geLaYOut Formulas D"ta Review View DatoMining "" ~ ~X

10 ~ I""", -In ·11K2l'~ ~~ I~w"""" III"",,' • te e e ;Jj=;< W ~: tg ~

Po<t, ~]~~[<tt.43!II[I~ ~ ~Iq~~ ~Merge&cente';II~$· % ,I ~~'Il Conditional Format ce".llln"rt Delde Format >ort&. Flnd&

.,¥~~ ~ ~Fo'matting.asTabl'.Styl" •••• ()_TFilter·S,lect·

Clipb~"rd r; Font r; Alignment Number fi Style< (,11< Editing

, M

--+------j- _j_ _j_ -I-

~ (mprFillOO% A W

7. Expanda la base de datos AdventureWorksDW2008, alli mire las tablas ybusque la tabla DimReseller

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

I:l dbo.DimDep t:l,ew Table ...
~ dbo.DimEmp De:.;ig_n
~ dbo.DimG.eo Select Top 1'000 R.o~:s
~ dbo.DimOrg
~ dbo.DimPro f,dit Top 200 Rows
~ dbo.DimPro I ~crlpt T eble as • I
1m dbo.DimPro
rn dbo.DimPro yie ....... Dependencies-
~~ Full- Iext index
~ dbo.Dim5ale
I"l dbo.DimSale Storage
§] dbo.DimSc8
C"l dba.Focte.1 PQlicies
rn cbo.reccu f2cets
~ dbo.FadFin
rn dbo.Foctrnt St.:irt PowerSb_ell
rn doc.Fettlnt
~ dbo.FactRe ReQ,orts
I"l dba.FactSal Rename
~ dbo.Fat:tSur
!ill cbc.pcslble Qelete
61 dio.prcspe Relj'esh

Properties <:REATETo

8.L TER To !l.ROP To

D~OP And CREATE To

2_ElECT To

~ II (jQ; New Query Editor Window

~I File ... rn Clipboard Eli AQent lob

!NSERT To UPDATE To

DE!:_ETE To

~XECUTE To

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

log LOCHS ~IIIUUW ~UIIIIIIUllil Y Dt:I~

~

LJ

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

VSQlQuery1.sql -mistrator (52»+ lL ----'

El SELECT DISTINCT [BU5 ine55Type]

L

, E"ecute ~

SQlQuery1.sql- ... istrator (52»+ ):

L- ~

El SELECT DISTINCT [BU5 ine55Type] IW

L I FROM [AdventurelJork5DlJ2008]. [dbo] . [DimRe5eller]

GO

FROM [AdventurelJork5DlJ2008]. [dbo] . [DimRe5eller]

GO

11. Copie en algun lugar esta sencilla sentencia, puede ser en un archivo de notepad; mas adelante la va a necesitar.

12. En ''Object Explorer" haga c1ic derecho sobre la base de datos AdventureWorksDW2008 y seleccione Tasks yalli ''Export data"

EI t'J ·=:mD.-Ol!.!I<l-~~~~~ ~ r-o GO

I±I f:] Derab (:!ew Database."

EI tables New Query

I±J LJ 5y "I

IE §] db '2:cript Database as: " I

I±J rndblrl--==~==========~If_i~~----------------~

I±J 1m dblL. ~~la",s======",''''!1 !/_etach".

I±J I;;] db ·1· P~li"., :IO-:;ke-:-:O:;;ff;::lin~e----------I-~~~

I±J ~ db

[!] ~ db F~(ets Brlng Online I

I±J G db Start PowBlSb.ell -h-k------------F~---'

I±J ~ db ;l. rtn

I±J ~ db

I±J El db I±J c;] db I±J El db I±J J:!I db

I±J Id db Rejresh

[±] !;'§] db Plopertle::s

I±J Id db ..... ~ ------1

!!ockup".

8,estme

Rename Q.eleb::

!::J.irror".

Launch Databa,e Mirroring MQnito, ... Ship Transaction logs ...

G~nBrate Srripts , ••

py_blish using Web 'Service- .. , Impor+Dete..

[±] §1 dbn.Dmfiales'l'ertfnrv I±J Id dbo.DimScena'io

I±I ld dbo.FadCaliCenter

~ m dbo.Pectcwrencvgete IE rnl dbc.Pectslnence

E~ort Dete.v.

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

1!i£.iii;;;g'.W'MiYM

.. Welcome to SQl Server Import and Export Wizard

T his wizard helps you to create simple packages that import and export data between many popular data formats including databases, spreadsheets, and text files. The wizard can also create the destination database and the tables into which the data is inserted

D Q.o not show this starting page again.

lielp

< .6_ack II ::::::::E~~"i"·> ::::.:;1 finish »1 I

Cancel I

,4

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

I C~OOS8 a Date Source Select the source from which to copy data

L Server Import and EHport Wizard

.Qata source

I ~ SQL Server Native Client 10.0

8

ierver name:

Authentication -----------------------,

rE Use YLindows Authentication

!,I_ser name

,Eassword:

Database

8 _ _;;R;_el_res_h_--,

tlelp

<,[ack II Ne:-:t>

Eirlis..h»1

Cancel I

d

15. Ahora seleccione como destino "Microsoft Excel" escriba la direccion y nombre del archivo de Excel que creo y asegurese de chequear el campo que indica que en el documento, la primera :fila indica el nombre de las cohunnas. Haga clic en ''Next''

~lliil;.llH;;gi-.I.tM ggj_Q

'I Choose fi Destination

I S pecity where to copy dala 10. t~

Q_estination: I~ Microsoft Excel If]

Excel connection settings

I_s_\ TipoNegocio.xlsx Excel version:

Egcel file path:

I~crosoft Excel 2007

R:i first row has column names

!j_etp

< ,[ack

.!iext )-

Cancel I

_a

16. Seleccione la opcion para escribir una consuha, haga c1ic en ''Next''

iOO1ii19g'9;;"i.i.i;m'MCM

Specify Table Copy or Query

S pecfy whether to copy one or more tables and views or to copy the results of a query from the data source.

r ~opy data hom one or more tables: or views

Use this option to copy all the data from the existing tables or views in the source database.

Use this option to write an S Q L query to manipulate or to rest riet the source data for the copy

operation.

Help

< Back II Next>

Finish »1 I

Cancel I

.e

17. Pegue alli la senteneia que creo unos pasos atras, esta senteneia va a traer los 3 tipos de negoeio que existen en la base de datos. Raga clie en ''Next'' 1i5it'Mm,WNiMtiM

Provi d e a. Source Query T}pe the SQL statement that will select data from the source database.

2QL statement:

SELECT DISTINCT [Bueiness lype]

FRO M [AdventureWorhDW2008]. [dbo]. [DimR eseller] GO

.E.arse

Browse ...

!j_elp

< ,6_ack II tlext>

~ I

Cancel I

d

18. En ''Destination'', seleeeione la hoja de Excel en la eual usted puso las dos eolumnas al eomienzo de este laboratorio. Luego haga clie en ''Edit Mapping"

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

~~

@.iii;;'§'Mfifiijm,.'2W

Select Source Tables end Views Choose one or more tables and views to COP}!.

lables and views:

p: S ouree Destination

!Etfl.Jg.~~~~) !~ Lieteli e T iposD eN egocio$'

r Qptim~e for man}' tables r Run in a transaction

~dit Mappings ...

.E.review ...

!j_elp < ]l_ack II tie,1 > I

A

Column Mappings

Source:

Destination:

[Iluety]

"ListaD e T iposD eN eooclos"

r Create destination table

r" Delete r01:is in destination table

r. AQPend rows to the destination table M.appings·

Edil.iQL ...

r Q_rop and re-create destination table

Source

Business Type

Source column

Business'lype varchar (20) NOT NULL

OK

Cancel I

A

20. Seleccione la ope ion para ejecutar inmediatamente el paquete de SSIS ere ado. Y haga clic en ''Next''

II. SQL Server Import and Export Wizard '

21. Observe el listado de las aeeiones que va a realizar el asistente euando usted :6naliee, luego haga c1ie en ''Finish''

Save and Execute Package

I ndicate whether to save the S SIS package.

P' .E_xecute immediately

o [a;~S$i$packaiie:

r. SQ.L Server c Eile system

Package protection level:

I E ncrypt sensitive data with user key

E.assword:

Ret_ype password:

< _[ack II tlext >

[jnish »1

Cancel I

.e

!j_elp

i, SQL Server Import and Export Wizard

Complete the 'Mzard

verity the choices made in the wizard and click Finish.

T he package will not be saved.

The package will be run immediately.

~Iick Finish to perlorm the lollowing actions:

Eopy rows from [Q uery 1 to 'ListaD e T iposD eN egociot' T he new rows will be appended to the existing table

Help

Next> II Finish

Cancel I

.e

< Back

22. Observe que se eopiaron 3 filas, ahora haga c1ie en ''Close''

The execution was successful

@·'i'g"g'tMiti1jd'MifutHi

Ic~ Success 12 Total
12 Success
Details:
II Action II Statu,
~ Initializing Data Flow Task Success
~ Initializing Connections Success
~ Setting S Q L Command Success
~ Setting Source Connection Success
~ Setting Destination Connection Success
~ Validating Success
~ Prepare for Execute Success
~ Pre-execute Success
~ Executing Success
CD Cop}'ing to Lietelr e T ooeli eN egociof Success
~ Post-execute Success
~ Cleanup Success
~
,. 5.top o Error

o Warning

II Message

3 rows transferred

Ii

Report .1

I: "Clo;·:l1 A

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

LABORATORIO 2: Preparaclon de datos en Excel para futuras practicas de limpieza de datos 5 minutos

1. Ingrese al docurrento de Excel que cargo en ellaboratorio anterior

rE] Microsoft Excel - TlpoNegoclo.:H:ls

: ~ Eile ~dit ~iew Insert FQrmat jools Q.ata ~indow ~ube Analysis t:!elp

iu 13r.>11 ~~I~ IAI'7f11il ~ ~~'<!I""II!, E ·UI~ ~~Jl: •• @l-

I~ @i Ii ~ C!? -

B5 ~ fol
A B C D E F ~
1 ID Tipo de Negocio
2 Specialty Bike Shop
3 Value Added Reseller
4 Warehouse
5 I !
6
7
8
9
10
11 2. Este documento va a ser utilizado para una prueba de limpieza de datos mas adelante, por esa razon vamos a "ensuciarlo" en este laboratorio, para empezar, Ilene al campo ID con nfuneros desde 1 basta 20

llC'#WMSM.WI.iO'

;~Eile !;:dit lools Qata 'Mindow C;;ubeilnalysis t!elp

,0 ""iii ~""," 1il,1':?1!l,1~ "lo[!!,.«II "')·II!, ".UIi!lliIlll ,,,,, .. iii iii ~m

~!l~IT!~

A 0
1 ID Tipo de Negocio
1 Specialty Bike Shop
3 2 Value Added Reseller
_±_ 3 Warehouse
+
6
10
11 10
12 11
13 12
14 13
15 14
16 15
17 16
18 17
19 18
20 19
,?t, " 20
ListaOeTi osOeNe o(io
RMdy Type a question for help ~ _ Ii' X

~10 ~IB I gl~~~~I$ %I~~I ~&~.4.~ I

.~M _

.o iElrBl ceBII§j~liflflld6 ~1B~ql"'J~I@; L ~UIOOi~I!ilrial '''''''iiliiI~m

'i';J~2!lgIT!~

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

A

1 ID Tipo de Negocio

1 Specialty Bike Shop

2 Value Added Reseller

3 Warehouse

4 Specialty Bike Shop

5 Value Added Reseller

stwerenouse

7 Specialty Bike Shop

Type a question fo'help

~ 10 ~ I B I u I ~ ~ ~ WI s % I ~~ I ~ (;:). ~.a. ~ m

10 9 Warehouse

11 10 Specialty Bike Shop

13 12 Warehouse

14 13 soeclefv Bike Shop

16 15 Warehouse

17 16 Specialty Bike Shop

18 17 Value Added Reseller

Aca tenemos informacion valida, ahora elimine el dato de tipo de negocio de algunas filas y reemplacelo por otro tipo de negocio que no baga parte de los que estan en la base de datos; por ejemplo

En la fila 6 cambielo por "pet shop" ~!:!,&:@!1i cambielo por ''Light shop"

~ Eile ~dit Insert Fg_rmat lools Qata 'Mindow C;;ubeAnalysis t:!elp

.u '" iii 10 ~ I EH:>'I '!> I'll " "lo 11>. '" I"" ·It!. " • II I ill IiIl ~ ''IilJkiiliil~ll

'''" q, !lg IT!!l

i"'"""617 ... X..J ,..jLightShop

4.

a. b.

19 18 Warehouse

20 19 Specialty Bike Shop ~~Li.t"D"Ti ~~De~~I~~ioA Sheet2 Sheet3

Ready

J.

Type a Question for help

~1O ·IB I gl~~~~I$ %I~~I ·&;,.a.;__ll

A B

1 ID Tipo de Negocio

1 Specialty Bike Shop

2 Value Added Reseller

arwerenouse

4 Specialty Bike Shop

5 Value Added Reseller

-:

10

11

12

13

6 Pet Shop

7 Specialty Bike Shop

8 Value Added Reseller

atwerenouse

10 Specialty Bike Shop

11 Value Added Reseller

14 13 Specialty Bike Shop

tztwerenouse

15 14 Value Added Reseller

19

~I------~~~~II~~~;~~~~~~~~~~----~-----~----~----+-----t-----r-----~--~-----+----~I

~------~'7"~ve~'~~e~A~dd~ed7R~e-ee~"e-,--i'-----+-----+-----+----~----~----~----+-----+---~I

tarwerenouse

20

19 Specialty Bike Shop

5. Ahora simulemos errores de escritura, para datos correctos, para ello modifique algunos registros de tal manera que sean registros correctos pero con errores de escritura; por ejemplo:

a. En la fila 5 escriba Value Aded Reseller (Added)

b. En la fila 10 escriba Specialty Bike Shoop (Shop)

c. En la fila 15 escriba W arehuose (Warehouse)

d. En la fila 20 escriba Value Added Reseler (Reseller)

~

:~ o- !;;dit ~ubel\n~ly'i' t:!elp

'D E'19 ~~la~I':'I'l,I~ "'1l','''I~'I!!'" ,ull:I@lIl;"'" ;ll~ •• 0!!

~ ~g cq ~ {x Value Added Res eler

Type a question for help • _ is' x

.10 ·ID I !!I§':§'§~I$ %I-;;~I .~.~. I

1 Specialty Bike Shop

A

1 ID Tipo de Negocio

2 Value Added Reseller

3 Warehouse

4 Specially Bike Shop

5 Value Aded Reseller

6 Pet Shop

7 Specialty Bike Shop

9 8 Value Added Reseller

10 stwcrehouse

11 10 Specialty Bike Shoop

12 11 Value Added Resejer

13 12 Warehouse

14 13 Specialty Bike Shop

15 14 Value Added Reseller

16 15Warehuose

17 16 Light Shop

18 17 Value Added Reseller

19 talwcrehouse

20 Special! Bike Shop

Ready

J.

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

LABORATORIO 3: Creaclon de un nuevo proyecto de integration services, asignando un nombre al proyecto y otro a la solucion. 5 minutos

1. Entre a "Business Intelligence Development Studio" (BIDS) Y seleccione ''New Proyect"

w0

~roject types: rI8_m:_plo_te...,s_: ----: __ ::-:_---:- ~~__'E=~::.,E

r···IBusiness Intelligence Projects I I Visual Studio installed templates I

Hl- Other Project Types

I@Analysis Services Project r!f1l Integration Services Project II] Report Model Project

My Templates

[jJj Search Online Templates ..

~Import Analysis Services 9.0 Deteb .. ~Report Server Project Wizard

~ Report Server Project

I Create a new SQL Server Integration Services project.

r:iame: 1~,p;=ro:.:.ye:..:c:..:to:..:ss.::Is-------;============:....---j:;=;~

[ocetlcn I,C:\ L:J 6_rowse"

Solution Name: 1~lucionpSIS

,JI P' Create directory for solution

OK Cancel

2. Seleccione un proyecto de Integration Services, Llame al proyecto ''ProyectoSSIS'' y a la soluci6n ''Soluci6nSSIS ", haga clie en OK

FS" or' MFW; OM Ii "liftH ' =t®!ii

Eile «n ~uild Qebug D,,-ta 2:515 IDOls \/iindow ~ommunity t!elp

i!W. m.a Iillill ~ "" 1lo1'" I" ·1 , 10'"'oom''' ·1 'll ~;l'!>I D· JiJ c::==:3c:::==::::Jc:::::::J1 B I u I." .. (,1 '" ·1 .= ;= I a I~"_--~'I "" ~

"110 ~ 011"''' "'1""n[i3@1~l';~l':I:! ,:Il'.:IEiBI1lI .... IIiIiIEi-

Right-di<khe,eto,ddaMWLonneLtioo",~nage'tothe5515p,d,age

Ready

3. Cierre BIDS

LABORATORIO 4: Ingreso a Ia solucion desde el archivo .sIn asociado con ella 5 minutos

1. Vaya a C:\

File Edit vew Favorites Tools Help

161

Ao;jdress..,c:\

iaBIPQrtal bDemosS52005 [ODemostraCiOrJe$

T,

File Felder File Folder Fjle Polder File Folder File Folder Fjle Polder File Folder File Folder

bDo(uments and Settings lEIFPSE_search !EJHotfixes

blnetpub

~ModelSamples bMSOCache lEJProgramFile, [OReportS-3mples bSIlF2 lE:::JSoluciorJde las nerrostrecores 1D50lu~ionSSIS

bWINDOWS

[:)wmpub

IiS)TipoNegocio,xl,

r-r- --,FileFolder

I Size: 1.44MB I File Folder I File$: Adventure Work:;,smdl, Readme ModelSamples,htm File Folder

File Folder

File Folder

File Folder

File Folder

File Folder Micro,oFtExceIWor",

Date Modified Attributes

6114120062:27 PM 61111200610:32PM

611112006 10:29 PM 71131200611:S6PM

411112006 11:52 AM 719!20068:S3PM

411112006 11:53 AM 5126120069:27 AM 4/11120064:34 PM

21281200710:20PM R

S126120069:2SAM 7/1312006 11:39 PM 41261200612:37PM 3/1912007 10:03 PM 3119120077:51 PM 12!12!200SI1:13PM 3119120078:27 PM

2. Observe que alli habra un directorio con el nombre de la soluci6n, mgrese a ese directorio.

j Eile ~dit J::iew F~yorites 10015 Help

18t

jMdre~~ ~C:\50Iucion5515

Date ModiFied Attributes

File Folder

3!19!200710:03PM

3!19/200710:03PM A

1 KB Micro~oft visualStu.

7KB \li~u<l15tudio Solutio" 3!19!200710:04PM HA

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

LABORATORIO 5: Creaclon de un paquete para limpieza de datos 40 minutos

1. Asegurese que Microsoft Excel se encuentre cerrado

2. Abra la so1uci6n ue creo en ellaboratorio 5

Ri~hHliLkheretoaddanew'onMLtioo""nage'tothe5515pa,kage

3. En el panel ''Connection managers" (parte inferior del Control Flow) haga c1ic derecho y seleccione ''New Cormection"

1·",·ft$'}iLi •. i.i.ii·m;iji.Fi.Li-

Select the type of connection manager to add to the package.

~onnection manager type:

ADO, NET

Connection manager for ADO connections Connection manager for ADO. NET connections

EXCEL Connection mana er for Excel files

FILE FLATFILE FTP

HTTP MSMQ MSOLAP90 MULTIFILE

MUL TIFLATFILE ODBC

OLEDB SMOServer SMTP SQLMOBILE WMI

Connection manager for files

Connection manager for flat files

Connection manager for FTP connections

Connection manager for HTTP connections Connection manager for the Message Queue task Connection manager for Analysis Services connecti ... Connection manager for multiple files

Connection manager for multiple flat files

Connection manager for ODBC connections Connection manager for OLE DB connections Connection manager for SQL Server transfer tasks Connection manager for the Send Mail task Connection manager for SQL Server Mobile connec ... Connection manager for the WMI tasks

!l_dd" , Cancel

4. Seleccione EXCEL y haga elie en "Add" fj '.13.1.1, §Uf!ffl§Fi.Fi.l§

I~ TipoNegocio. xis

Connection to an Excel file

Excel connection settings ----------------------,

E:s.cel file path

Excel :iersion:

I~rosoft Excel 97-2005

P E.irst row has column names

5. Escriba la ubicacion del archivo de Excel que creo en laboratorios anteriores, revise que la version de Excel sea ''Microsoft Excel 2007" y que este chequeada la opcion para que la primera :fila traiga el nombre de las colurrmas. Luego haga elic en OK.

"Wxecute Package. ;LJ Execute Process T .. ~ Execute SQL Task rTIl File System Task ~ FTPTask

I~ Message Queue T .. ~ Script Task

,~ Send Mail Task

GtJ! Transfer Detebes .. ~ Transfer Error Me .. ~ Transfer Jobs Task

~ Transfer Logins Task ... IL$ Error List I

Ready

. ..!J... Connection Managers I

I

6. Nuevamente haga clie derecho en ''Connection Managers" pero ahora seleccione ''New OLEDB Connection"

•.• w.i.iii;;.i".li, •. i.i.i9·m;Si·Fi.i9W

To create a connection manager based on previously defined connection information! select a data connection! and then click OK, To create a new connection manager! click New,

Q.ata connections:

Data connection properties:

EMO\S L2005 AdventureWorks

Value

DEMO\SQL2005 AdventureWorks SSP] SQLOLEDB.j

7. Raga cIie en ''New''

J_ connecnon Manager

I Native OLE DB\SQL Native Client

.~

N~w" Delete
OK Cancel
.e
~
G
El getresh Provider'

Sgrver name:

l~mo\sqI2005

Connection

Test Connection I

All

Log on to the server-------------------, r. Use ~indows Authentication

rUse SQL Server Authentication

r-------------------------

!::!.ser name: I

r-------------------------

~assword: I

r 2ave my password

Help

Connect to a database-----------------,

8. Eseriba el nombre de 1a instaneia de SQL 2008 y seleeeione 1a base de datos AdventureWorksDW2008, luego haga c1ie en '"Test Connection"

r. Select or enter a !database name:

l2IdMWiiiIIWJ

r AttacQ a database file:

I

~ogical name;

Browse"

I

OK

Cancel

rcnnecuon Manager '

Test connection succeeded,

9. Raga cIie en OK, y luego nuevamente en OK

Data connection properties:

To create a connection manager based on previously defined connection information, select a data connection! and then dick OK. To create a new connection manager! dick New.

Qata connections:

DEMO 5 L2005. Adventureworks

Property

Value

dernctsqlznns AdventureWorksDW SSP]

SQLNCLI,j

Data Source

II Initial Catalog

II Integrated Se ..

Provider

........... ~.~~ ;:;·:::·::::::-::]1 Delete

OK Cancel

10. Asegurese de tener seleeeionada la eonexi6n a AdventureWorksDW que aeaba de crear y haga c1ie en OK

,~ ~Execute SO[ lasK

DID File System Task ~ FTPTask

,~ Message Queue T, , , ~ Script Task

,Gil Send Mail Task

El~ Transfer Databas", ~ Transfer Error Me", ~ Transfer Jobs Task

~ Transfer Logins Task ';l 1J;;,,=======================i

I LCI Error List I Ready

=s= I

,ill, Connection Managers

1

~~, Excel Connection Manager

.!.[, demo\sqI2005, AdventureWorksDW

11. Arrastre, desde "Toolbox" una tarea ''Data Flow Task"

% 50luclon5515 - MIcrosoft Yisual 5tudio

Eile ~dit ILiew E_roject !l_uild Qebug Do_ta Fg_rmat ~SIS lools I,Iiindow <;;ommul

iI!iJ'~IiJI,l!; ~~lot)T(IoTI ~ I Development TI~~~m

,-----------,,1 ' c::::=:::J I B I n I .f... ..f.. I ~ , lEi:: I

<II} ,~j I ~ ~O E~3 @ 10{la ~ ~ ~ I i *1 8; ~t I 88 I

-~

Pointer

'tJ For Loop Container fJ Foreach Loop Con ..

~ Sequence Container

~ ActiveX Script Task

~ Analysis Services ...

~ Analysis Services" , (Yl BulkInsert Task IW Data Flow Task

~ Data Mining Query, ,

c:iiI Execute DTS 2000"

12. Raga c1ie dereeho sobre esta tarea y seleeeione ''Rename'' , carmiele el nombre a ''Limpieza de Datos"

~ Data Flow Task

Limpieza de Datos

13. Arrastre una tarea ''File System Task" y ubiquela debajo de la tarea limpieza de datos

:6 ActiveX Script Task ~ Analysis Services, ~ Analysis Services, ~'l Bulk Insert Task QJl Data Flow Task ~ Data Mining Query, , , ~ Execute DTS 2000", :@ Execute Package, , , =IJ Execute Process T

~ Execute SQL Task

1]j) File System Task I

''S C

~ Limpieza de
Datos

[] File System G
Task 14.Arr

"

1

llad d la d

astre un equence ontamer y ponga 0 a 0 e s os tareas
I~(ontrol Flow Items~r ..... y raL .... aylC.u'-~" L .... IC~lyIIJ r"'-o
I 8'" Control Flow I QJI Data Flow I ~ Event Handlers I 'Ell Package Explorer
It
Pointer
~ For Loop Container
[l Poreech Loop Con, ,
I ~ Sequence Container I
:6 ActiveX Script Task
~ Analysis Services , ILl Sequence :::
~ Analysis Services , Container
I~ 1
W:~1 Bulk Insert Task Limpieza de
Qj1 Data Flow Task Datos
~ Data Mining Query, ,
~ Execute DTS 2000 "- IDJJ 01
=iJ Execute Package, File System
Task
~ Execute Process T, ,
~ Execute SQL Task
1J] File System Task
~ FTPTask
1~ Message Queue T, , ...................................... 1 .....
- 15. Renombre la tarea ''File System Task" como "Movimiento del Archivo" y el "Sequence Container" como ''Proceso Completo"

Proceso Completo

Limpieza de Datos

Movimiento del Archivo

16. Raga dob1e cIic sobre ''Movimiento del Archivo"

~ ConFigure the properties required to perform File system operations J such as creating, moving, or L_JJJ deleting files or directories,

False TipoNegocio.MI§

General Expressions

El Destination Connection IsDestinationPathVariable

false 50lucion55I5 false

Destinetionconnection

OverwriteDestination EI General

Name

Description

EI Operation

MOYimiento del Archivo File System Task

Operation

Moye file

El Source Connection IsSourcePathVariable SourceConnection

nesnnauonronnecuon

Specifies the connection of the destination directory,

OK

Cancel

t::!elp I

A

17. Modifique las conexiones, en "DestinationConnection" busque la carpeta de la soluci6n (Folder Existente) yen "SourceConnnection" busque el archivo de Excel, (Archivo Existente), Modifique tarrhien la operacion a realizar, seleccione ''Move File". Raga cIic en OK

18. Conecte la tarea "Limpieza de datos" con ''Movimiento del Archivo" (de la misma manera que 10 hacia en los planes de mantenimiento)

Proceso Completo

19. Seleccione las dos tareas y arrastrelas dentro de "Proceso Completo"

lLJ Proceso A A Completo

.• """"""""""""""""."""'J""""'"""""" •. """"""""""""""",0"""11."""""",,"""0

:::: ~ Movimiento del :::: UJJU Archlvo

20. Ahora haga doble clie sobre "Limpieza de datos"

rsuel studio

~uild Q.ebug D~ta FQrmat 2_SIS IDols ~indow ~ommunity t!elp

~ Package Explorer ~ Execution Results

To build a Data Flow, drag objects here from the Data Flow I terns toolbox. ? tart ~!th ,~ s ~urc: c~~p~.n:~t.

21. Arrastre una fuente de fuYo de datos ''Excel Source"

~ .... - ...... - ... -.- ..... - ... -- ........ - .... -- .... ~..;;;;;;;;

It Pointer

~ DataReader Source I~ Excel Source

I 8- Control Flow IVJl Data Flow I 1m Event Handlers I 'Ell Package Exp

Data Flow Task:

IJW Limpieza de Datos

OLE DB Source

§ Flat File Source

ma Raw File Source

• _j. XML Source

18' Data Flow Tran§f ••. -.

_! Pointer I

22. Renombre 1a fuente de datos de Excel como "Archivo a Limpiar" y luego haga doble c1ic sobre e11a.

~~m. -=====~=====---~~ .. ~~

Iiil~ Excel ~ Source

23. Seleccione 1a tabla dellibro de Excel donde se encuentra 1a tabla. Luego haga c1ic a 1a izquierda en ''Cohnnns''

~~----------~========--~

;;E~====~::""=. ,-========~

~I

24. Observe que aqui estan 1as cohunnas que usted creo, Raga c1ic en OK

25. Ahora arrastre un destino de flujo de datos "Data Reader destination" y pongalo justo debajo de "Archivo a Limpiar", luego conectelos.

'Ell Package Explorer ~ Execut

Archive a Limpiar

26. Raga c1ic derecho sobre el conector que une la fuente con el destino y seleccione ''Data Viewers"

ID1 View and edit path properties, view column metedete, and add or remove data viewers from the path

::, General I

[jj Netedete r;-----------;.,----------

tD _ I'- "'N''''m''-- __ __JI'- __ '''D''''t''-'v''''iew:::''-''T.llyp;::.'_,

Data~.iewers

27. Raga clic en "Add"

~ Configure Data Viewer

General I Grid

The data viewer displays data flowing through a path during execution and can be configured to display data in numerous formats,

r:iame:

IExcel Source Output Data Viewer 1

Description:

IA. Histogram

l& Scatter Plot (x!y) ld.t Column Chart

j ... I 2' """'" [--., [Feo["=""'t&

__ 'II:! ~"'" ..... , ~

~,~r""",,I_"'.' _

ilil :II II ... s-....~ , ~

oR! !IJ6o ..,."",. I _

.iiJ'" , """'"

- '-

Data records appear as rows in a grid, The columns used in the grid can be

OK

Help I

A

28. Vaya a la pestafia "Grid " I 5ltlt!ft1';'iii;§tMW;G I§

ID

II

General Grid I

Columns to display ---------------------; Unused columns:

Q.isplayed columns:

Column Name

Column Name

II

"

OK

Cancel

Help I

A

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

30. Raga c1ic derecho sobre la superficie de trabajo y seleccione ''Execute Task"

31. Alli aparece el "Data Viewer" mostrando los datos que estan pasando por alli, esta caracteristica de SSIS nos va a ser de gran utilidad mas adelante, en el proceso de funpieza de datos.

32. Attached ITO tal rows: 20) buffers: 1 IROWS displayed = 20 ...a

33. Raga c1ic en el boron "run" (el boton verde en 1a parte superior izquierda del Data Viewer)

34. Cierre el ''Data Viewer"

Excel Source Output Data Viewer 1 at nrchrvc a Umpiar.Excel Scurce Out~ut

Q_etach

(;opy Data

T ipo de N egocio

Specialty Bike Shop Value Added Reseller Warehouse

Specialty Bike Shop Value Aded Reseller Pet Shop

Specialty Bike Shop Value Added Reseller Warehouse

Specialty Bike Shoop

..:.J

10

F&,WHLji·M!tiI'g_".Liffl .

Eile !;;dit \o:iew ~roject !l_uild Qebug D1ta FQrmat 2:515 lools \liindow ~ommunity t!elp

'flil-Oiollil!ill~ ""r.I.,-t"-I'Ic:::==:3I"lo!i'~!>lD-,"" no [ii].Il"ICO- .. 'c::==::::JC===,C:::::J1 B I '1.~ .. e.I"'-I'" i=I&ICCCC -II"'I~-,"

! f¢ I I~ .$ ~I I itii <II} ~ I ~ ?D E~3 ~ I *" ~ ~ Pi I f *: ~; €I: I Btl ~ I , I!?. I a II::o~bUggingl

I!YlLimpiezadeDatos

18 General

ackage.dts><[Design]

l~i1IEyentHandlersl'!gpackageEXplorerl?progreS5

1!"connectionManagersl

Ready

35. El pequefio flujo de datos se ba ejecutado, sin embargo basta aca solamente hemos visto que podemos sacar los datos del archivo de Excel

36. Detenga el paquete, para ello, en la parte superior esta el boton "Stop Debugging", baga c1ic sobre el,

~,~"~~~~-=~="a, ='~~~",.~., •. ~"~~,.,~" •• ~",._.~"~"""""~~========~~~~

J)-a)JJ'QrlIKIIII"I"'-'C"" ~ ~ .. - .:'iil~*IiIEl-.il

c===?====-:::3c::=::3 II , u . .:.. I_ e . 1 ;;:;;;: "I -I"" II iiJ

~I'" ~ :II~ Of wi::: H i€# -~ ~ ~ I f:l:1 ~j ~+II!l[±lI"" .I~l_ /hd ..... ~!P~fL__

i P~ckage execution completed, Clickhereto.witchtode.ignmode or.electStop Debugging From the Debug menu

_j

1d~"'_1r...., .. ;"i It~ ~Aon'«I. l-J-.

BlalT=pSi.o!"Il "uIffioT""1"''''~ IItfUWI.e<MiI'LIJIffl C>oII·<a<i:&.lr...",,,LIH65oi1ili

:~;=:a:MI1O>

9(101;~M.Tio>CM<y l-J [>orr..d~oI.m!l ~E.....tColJrn

, [ "'ml<><ll.Jo> .(;,fh'..,-t~

J~=

~~I!nm'"

-'"

100000t"."~......-..cti:onM'",'" JTWoi."""",.xIs

1t.~~.~dYOfIiJ.tcW""'-'!)W.J..SI>Wun5S~

I

37. Raga c1ic derecho sobre "DataReaderDestination" y Borre 10, En cambio de el, arrastre una transforrracion Fuzzy Lockup, y renornbrela como "Corrparacion", no olvide conectar 1a fuente con 1a transfbrmacion,

I

38. Raga dob1e cIic sobre "comparaci6n"

wuifBhjitifii"'F',1# ,

It Pointer {1f)1 Aggregate m.m Audit

"1; Character Map c;~ Conditional Split 1}J1 Copy Column

,it Data Conversion 'i& Data Mining Query ~ Derived Column ~ Export Column

, '" Fuzzy Grouping

I _, .. '~ Fuzzy Lookup

ConFigure the properties used to perform a lookJJp operation betwe en an input dataset and a reference dataset using a best-match al gorithm

Specify the connection manager to the reference table and the opti ons for the index that the transformation uses

Temporary objects will be created using the speciFied connection ,ThespacerequiredforthetemporaryobjectsisproportionaltothereFerencetable,butmaybeQreater,Thetablemaintenancefeaturerequires the installation of a trigger on the reference table

OLEDB'Qnnectionm~mger: demo\sqI2005.AdventureWorksDW

(i""eneratenewindex

I~MaPIOOkJJPjOinCOIUmn5and5ele(tIOOkJJPoutPutcolumnsontheCOlumnspage

39. Busque la tabla dbo.DimReseller como tabla de referencia y luego vaya al tab ''Cohnnns "

~;~';'=~...J

·~·~-'·'·~'·-~-~·-"-'-~-·---~·------._.L_'.' .. .. ~~.:':

r'lu<tt'~ .:J

~~" ~

40. Raga clic sobre Tipo de Negocio yarrastre basta Bus iness Type, luego chequee el campo BusinessType. Y haga clic en OK

41. Observe que hay un mensaje de advertencia sobre ''Comparaci6n'', debido a la diferencia en el tarnaiio del campo "Tipo de negocio" y el tarnaiio del campo "Bus iness Type ". Ahora arrastre de nuevo un "DataReaderDestination" y ubiquelo debajo de la transfurrnaci6n, conectelos,

42. Agregue un DataViewer entre la transforrnaci6n y el destino, agregue unicamente los campos ID, Tipo de negocio, Business!ype,_y _Similarity_Tipo de Negocio. 2.QJ0

III Configure Data Ylewer

Column Name

Column Name

General Grid I

Columns to display --------------------, !::!.nused columns:

Q.isplayed columns:

_Similarity _Confidence

JD ,

':h'p·~ de Negocio BusinessType

_Similarity _Tipo de Negocio

OK

Cancel

Help I

A

43. Raga c1ic derecho sobre la superficie de trabajo yejecute la tarea,

44. Observe muy bien el Data Viewer, se ha generado una columna adicional que nos muestra que tan parecido es (entre 0 y 1) un campo con el otro. Observe que los campos 6 y 16 estan por debajo del 50 % de similaridad, mientras que los campos 5, 10, 15 y 20, en los cuales el problema es un error de digitaci6n, pero son datos correctos se encuentran por encima de 75 % y la mayoria de ellos muy cercanos al 100%; el proceso de limpieza de datos deberia recibir a estos datos como correctos y ademas deberia corregir los errores de digitaci6n que hay en ellos. Raga clic en el bot6n ''Run''del dataViewer y luego cierrelo.

jiMHtifilmtjltTliifflluftWi4 14'1ft1',j"i.&i6" ,!,Utij'fiti1ilMfijlfT(ffifijl lZl
...tJ Detach Copy Data
10 II Tipc de Negocio Business Type II. Similarity Tipo --J
i Specialty Bike Shop Specialty Bike Shop 1 ~
2 .... ~ elue Added Reseller II alue Added Res ..
Warehouse Warehouse
Specialty Bike Shop Specialty Bike Shop
Value Aded Reseller Value Added Res .. 0,9312659
Pet Shop Specialty Bike Shop 0,418708
Specialty Bike Shop Specialty Bike Shop
Value Added Reseller Value Added Res ..
Warehouse Warehouse
10 Specialty Bike Shoop Specialty Bike Shop 0,932471
11 Value Added Reseller Value Added Res"
12 Warehouse Warehouse
13 Specialty Bike Shop Specialty Bike Shop
14 Value Added Reseller Value Added Res"
15 Werebuose Warehouse 0,7709482
16 Light Shop Specialty Bike Shop 0,349603B
17 Value Added Reseller Value Added Res"
IS Warehouse Warehouse
19 Specialty Bike Shop Specialty Bike Shop
20 Value Added Reseler Value Added Res" 0,9577599
Attached IT otal rows: 20 J buffers: 1 IRows displayed = 20 IL 45. Detenga el proceso

46. Elimine el DataReaderDestination y reemplacelo por ''Conditional Split", conectela debajo e cornparacion ''Correctos-Incorrectos'', luego haga doble c1ic sobre ella.

una transformaci6n y ren6mbre la como

I

SpeciFy the conditions used to direct input rows to specific outputs. IF an input row matches no condition, the row is directed to a deFault output.

MmnM'1N'Mu@eij" 'tTh]!EI

I±l ~Variables El ~ Columns mo

m Tipo de Negocio m Business Type m _Similarit}'

m _Confidence

m _Similarity_lipo de Negocio

I±l ~ Mathematical Functions EEl ~ String Fu-ctiore

I±l ~ Dale/Time Functions I±l ~ NULL Functions

I±l ~ Ijoe Cests

I±l ~Operators

Description'

I~o",rd:.:;er,--, l...:;;ou",tD:.:;ut",N",om",e +" Ico;;,;;nd;;.;;iti;;;;.on'-- ...... I '

:

-

Configure ~rror Output, ..

Qef ault output name:

47. Expanda ''Columns'' y de alli arrastre el campo _Similarity_Tipo de Negocio bacia 1a parte inferior, donde dice ''Condition''.

Conditional Split Transformation Editor ~~

Specify the conditions used to direct input rows to specific outputs, If an input row matches no row is directed to a default output,

m Variables Mathematical Functions
El Columns String Functions
m ID D ate!T ime Functions
m T ipo de N egocio NULL Functions
m Business Type Type Casts
m _Similarity Operators
m Confidence
m _Similarity _ T ipo de N egocio Case 1

Condition

Output Name

[_Similarity _Tipo de Negocio]

48. Edite el texto de 1a condicion escribiendo a 1a derecha del campo que acaba de arrastrar el siguiente texto: ">0.7 ", observe que si usted escribiera una expresion erronea, esta tomaria un color rojo automiticamente.

L = Ir[ I
Order 'l Output Name Condition
1 Datos Correctos [_Similarity _ Tipo de Negocio] > 0.7
i I
- , -- - --
- 49. Cambie el texto ''Case 1" y escriba en vez de el ''Datos Correctos", Luego cambie el campo "Default output name" y escriba alli "datos incorrectos". Luego haga c1ic en OK

50. Arrastre dos destinos "DataReaderDestination" y p6ngalos debajo de ''CorrectosIncorrectos"; Conecte el primero de ellos como 10 ha hecho siempre

!Kl

r- Input Output Selection

The source or the destination component contains multiple inputs or outputs. Select an input and an output to connect the components.

Qutput:

l.rn DataReader Destination Input

lnput:

OK Cancel

51. Aparecera una ventana para que seleccione emil de las salidas de la transformaci6n de sea enviar a ese destino, seleccione ''Datos Correctos" y haga c1ic en OK, luego conecte elotro destino ala otra salida de la transformaci6n

52. Ejecute de nuevo la tarea como 10 habia hecho anteriormente.

53. Detenga el proceso

54. No ejecute la tarea como siempre 10 habfa hecho, recuerde que el paquete no es solamente el flujo de datos "Limpieza de datos" en el que estamos, vaya en la parte superior al tab ''Control Flow"

~~~~~----------------~

ILl PrOC8SO :R
Complete
1M Limpieze de &1
Datos
1
I il '";m;,,to d,1 I
Archlvo 55. Raga c1ic derecho sobre el contenedor "Proceso Completo" y seleccione "Execute Container"

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

57. No olvide guardar los cambios en la soluci6n

Alberto Rivera http://www.intermezzo-bLcom/alberto