Sunteți pe pagina 1din 11

Popularea depozitului de date.

Definirea proiectului SQL Server Integration


Services pentru transferal datelor din sursele
operationale
in depozitul de date
Sursa de date si depozitul se regasesc in SQL Server
Management Studio.
User: SIADnrgrupa (exemplu: SIAD641)
Password: SIADnrgrupa (exemplu: SIAD641)
Sursa de date se regaseste la fiecare grupa sub
forma, ca exemplu, #SIAD2014_641_VanzariSursa
Pentru fiecare grupa se genereaza mai multe
depozite de date care se regasesc sub forma:
#SIAD2014_641_VanzariDepozit1
Se lanseaza in executie instrumentul SQL Server Data
tools (Start> Programs>Microsoft SQL Server Data
Tools
>
New
Project>Business
Intelligence>
Integration Services

Se creeaza un nou proiect tip Integration Services


Project (in Visual Studio). Se introduce numele

proiectului in rubrica Name si se defineste directorul


unde se vor stoca toate fisierele proiectului
New Project
Integration Services Project
Name
Location
Solution Name
Se salveaza in folder-ul dedicat (ca exemplu pe
Desktop).

La nivelul unui proiect tip Integration Services Project


toate operatiunile de transfer a datelor sunt grupate
in pachete.
Se definesc operatiunile de transfer a datelor si
succesiunea acestora. Ordinea de transfer a datelor
trebuie sa fie urmatoarea:
1. Se alimenteaza cu date tabelele dimensionale
2. Se alimenteaza cu date tabela de fapte
Operatiunile de transfer a datelor de la nivelul unui pachet
Integration Services sunt denumite sarcini (task) si pot fi
definite in sectiunea Control Flow a pachetului.

Dintre toate tipurile de sarcini care pot fi utilizate pentru a


transfera date cel mai utilizat tip este Data Flow Task.
Se defineste cate o sarcina (task) de tip Data Flow pentru
fiecare tabel din depozit, in succesiunea stabilita anterior.
Sarcinile din Toolbox vor fi plasate in zona de lucru Control
Flow prin operatiuni Drag and Drop.

Fiecare obiect de tip Data Flow Task poate fi


redenumit (De ex, Data flow Task 1 Populare dim
timp).

Se definesc conexiunile catre sursele de date si catre


depozitul de date
In fereastra Connection Manager - din meniul
contextual selectati New OLE DB Connection pentru
sursa de date

Server name : s-win-sql-cig\cig


Sursa: #SIAD2014_vanzarisursa
User: SIADnrgrupei
Password: SIADnrgrupei
Se verifica conexiunea: Test Connection

In fereastra Connection Manager - din meniul


contextual selectati New OLE DB Connection pentru
depozitul de date
Server name : s-win-sql-cig\cig
User: SIADnrgrupei
Password: SIADnrgrupei
Se verifica conexiunea: Test Connection
Destinatia: #SIAD-nrgrupa vanzaridepozit
(1-15)

Se verifica conexiunea: Test Connection


Sursa si destinatia in Connection Managers

In general, orice sarcina tip Data Flow Task trebuie sa


includa cel putin urmatoarele componente:
Una sau mai multe surse de date
Optional, se pot define si transformari
care se aplica datelor transferate
(prelucrari intermediare)
Una sau mai multe destinatii
Popularea unei dimensiuni:
- Din fereastra Data Flow se aleg destinatia si sursa
pentru dimensiunea respectiva

Exemplu de implementare a unei sarcini


popularea dimensiunii Timp
Meniul contextual > Edit
Se alege conexiunea definita anterior cu baza de
date sursa
Data access mode : SQL command ( se indica faptul
ca sursa de date este o interogare SQL)
In rubrica SQL command text se defineste comanda
SQL propriu-zisa

Se selecteaza butonul preview pentru a vizualiza


primele inregistrari returnate de aceasta interogare

OK
In zona de lucru Data Flow aferenta sarcinii populare
dimensiune Timp se adauga destinatia pentru datele
din sursa de date
Data Access Fast Load
Table or view
Name DimTimp (numele tabelului asa cum apare in
depozitul de date)
In sectiunea Mappings se verifica corespondentele
dintre campurile sursa si campurile destinatie

Pentru transferul efectiv al datelor:


Se alege optiunea Execute Task (din fereastra
Control Flow, meniul contextual al Sarcinii Populare
dim Timp

sau

Se implementeaza toate sarcinile corespunzatoare


pachetului si acesta se executa in intregime la final
(Execute Package din meniul contextual)
Dupa finalizarea executiei operatiunii sau, dupa caz,
tuturor operatiunilor din pachet se va selecta butonul Stop
Debugging din bara cu instrumente.
(Finalizarea executiei cu succes a unei sarcini este
marcata prin culoarea verde, iar in cazul aparitiei unor
erori in procesarea unei sarcini se utilizeaza culoarea rosu)
Definirea unor prelucrari intermediare
De cele mai multe ori, este necesara efectuarea unor
transformari asupra datelor ce urmeaza a fi transferate in
depozit (ETL).
Pentru a defini aceste transformari, in zona de lucru Data
Flow:
Se sterge legatura directa intre sursa si destinatie
Se adauga o noua sursa
Se sadauga componenta/componentele
corespunzatoare transformarii/transformarilor
respective
Exemplu: Repopularea dimensiunii timp trebuie aduse
in depozit doar acele date care nu exista deja.
Este necesara deci o transformare intermediara intre sursa
si destinatie.
In zona de lucru Data Flow pentru popularea dimensiunii
Timp:
Se sterge legatura directa intre sursa si destinatie
Se adauga o noua sursa (Source Assistance> Add
new source> Depozit). Selectam din depozit direct
dimensiunea timp pentru o a doua sursa de date
Cele doua seturi de date (datele de transferat si cele
deja existente in depozit) trebuie sortate fiecare dupa
campurile care vor defini conditia de jonctiune .
Selectez componenta Sort o data pentru sursa

initiala (baza de date Vanzari) campul de sortare data


facturarii si o data pentru sursa depozit (tabela timp)
campul de sortare data.
Se adauga componenta Merge Join si se conecteaza
cele doua componente de tip Sort la component
Merge Join astfel incat sa se realizeze jonctiunea
dintre cele doua seturi de date optiunea left join pe
campul data din depozit
Setul de rezultate trebuie filtrat (componenta
Conditional Split campul data din depozit trebuie sa
aiba valoarea NULL ) astfel incat doar acele date
care sunt inexistente in depozit sa fie transferate
Se creeaza legatura cu sursa finala (depozitul de
date)

S-ar putea să vă placă și