Sunteți pe pagina 1din 4

Setare pachete ETL astfel incat datele sa se incarce pe ultimele X zile fata de data sistemului

Pentru aceste setari este necesara crearea unor variabile la nivel de pachet si crearea unor task-uri de
tipul Execute SQL Task care sa faca inainte stergerea din fiecare tabela destinatie, ca mai jos:

Pas 1: creare variabile

Click pe pachet, click dreapta in Control flowdesigner, se alege optiunea Variables

Variabilele se definesc la nivel de pachet; in coloana Scope trebuie sa apara numele pachetului (test
in cazul meu):

Se definesc 3 variabile apasand butonul :

1
1) i_delta, de tip int16, cu valoarea egala cu numarul de zile din trecut pe care se face incarcarea
(3310 in cazul meu); se defineste doar o data la nivel de pachet;

2) s_delta, de tip string, cu valoarea egala cu numarul de zile din trecut pe care se face incarcarea (la
fel la i_delta); se defineste doar o data la nivel de pachet;

3) pmin_date, de tip string; nu se trece nimic la valoare, se va popula altfel; se defineste cate o
variabila pentru fiecare tabel destinatie populat in pachet (variabilele se vor numi de ex p_tab_dest1,
p_tab_dest2....)

Pas 2: Configurare variabila pmin_date

Click pe variabila pmin_date, apoi click pe fereastra de proprietati.

Setare EvaluateAsExpression = True

La proprietatea Expression se apasa butonul si se deschide fereastra Expression Builder

2
Se introduce expresia de jos (prin care se sterg datele din tabela dbo.test_var2 pe ultimele X zile) apoi
se apasa butonul Evaluate expressions pentru a ne asigura ca nu contine erori:

"delete from dbo.test_var2 where TransactionDate >= getdate() - " + @[User::s_delta]

Pas 3: Adaugare Execute SQL Task cu proprietatile:

3
Pas 4: Modificare obiect OleDB Source, prin care extrag date din tabela sursa:

Data acces mode va fi SQL command;

Fraza SQL va fi de genul:

Select p.* from tabel_sursa WHERE (camp_Data >= GETDATE() - ? )

Automat in loc de p.* vor apare campurile din tabel.

Se apasa butonul Parameters si parametrul ? se mapeaza cu variabila i_delta

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