Home / MAKALELER / İş Zekası / ODI Workshop I-Paket Dizayn

ODI Workshop I-Paket Dizayn

Merhaba,

 

Uygulama ağırlıklı yazılarla, önceki makalelerimize devam edelim. Biraz daha detay bilgilerle ilerliyor olacağız. 2 Interface çalıştıralım ve Tablo özelliklerine, bu makale için Rows Num’a değinelim.

 

Not olarak, Şunu bilmemizde yarar var; yazdığım makalelerde konu bağımlı olmadan anlatmayı istiyorum. Sadece bundan önceki makaleler birbirine bağlıdır ve bundan sonra yapacaklarımızda aslında bu ilk dört makaleyi yapabiliyor , yani ODI a bağlanabiliyor olmalıyız. Sonraki makaleler için bağımsız olmalarını öncelikle hedeflememden dolayı bir kaç adım diğerleriyle benzerlik gösterebilir.

 

Senaryomuz şöyle: Bir paket yapacağız ve bu paket için iki interface oluşturarak, ilk interface in Target Table’ı, ikince interface de Source Table olarak kullanılacak.

ODI’ı açıyoruz. Ve bağlantımızı kurarak yeni bir proje oluşturuyoruz.

 

1)new_project1

 

Proje adını girerek kaydet diyoruz. Sol tarafa Designer altına yeni projemizin geldiğini görebiliriz.

 

2)proje_name

 

Öncelikle interface lerimizi oluşturalım. Oluşan paket altından first_folder>interfaces>New Interface diyoruz.

 

3)interface_new

 

Interface için adını girdikten sonra mapping ekranına geçiyoruz. Şimdi senaryomuzda biraz daha detaya inelim. Employees tablosundan employee_id leri  150 den büyük olan 25 kayıtın employee_id,ad,soyad,

Ülke, şehir, bölge ve maaşlarını alalım.

 

 

Table create scriptini paylaşıyorum:

 

 

CREATE TABLE TBL_INTERFACE

(

employee_id    NUMBER (6),

first_name     VARCHAR2 (20 BYTE),

last_name      VARCHAR2 (25 BYTE),

country_name   VARCHAR2 (40 BYTE),

city           VARCHAR2 (30 BYTE),

region_name    VARCHAR2 (25 BYTE),

salary         NUMBER (8, 2)

)

 

 

Commit ledikten sonar reverse etmeyi unutmuyoruz. Nasıl reverse edildiği:

 

 

Bakınız:

 

Şimdi Target alanımıza bu tablomuzu atabiliriz. Soruce kısmına da , Employees, Regions, Countries, Locations ve EMP_DETAILS_VIEW

view ini atmalıyız. Bu View da nereden çıktı diyebilirsiniz ama zaten tabloları attıkça, bunları hangi kolonlar üzerinden Join’e sokuyoruz diye düşüneceksiniz

ve cevap bu View da..:)

 

Tabloları ekledikçe otomatik mapping de ayarlanıyor olacak.

 

Sonuç olarak gelinecek şekil aşağıdaki gibi.

 

4)interface_son

 

 

Görüldüğü gibi View en ortada ve zincirleri hep onun üzerinden kuruyoruz. Şimdi bir kaç filtre ekleyelim.

Öncelikle şu employee_id>150 için ve bunlardan da 25 kayıt.

 

5=employee_idPNG

 

 

Employees tablosuna gelerek employee_id  kolonunu tutup sürüklüyoruz ve filtre mizi yazıyoruz.

Satır_no kolonumuzun implementation kısmına ‘ROWNUM’ yazıyoruz ve artık her atılan satır için bir numara otomatikman tanımlanmış oluyor.

 

6)Rownum

 

şimdi de 25 kayıta düşürmek için bu interface den sonra çalışacak olan bir interface daha yapalım.

Buradaki Target Table ı bu interface de Source kısmına atıyoruz.  Ve yeni bir tablo oluşturarak Reverse ediyoruz.

 

CREATE TABLE TBL_INTERFACE_2

(

Satir_no  number(6),

employee_id    NUMBER (6),

first_name     VARCHAR2 (20 BYTE),

last_name      VARCHAR2 (25 BYTE),

country_name   VARCHAR2 (40 BYTE),

city        VARCHAR2 (30 BYTE),

region_name    VARCHAR2 (25 BYTE),

salary         NUMBER (8, 2)

)

 

New Interface den isim vs verdikten sonra Source a Önceki tablomuzu, Target’a da yeni create ettiğimiz tablomuzu atıyoruz.

Kaydederek çalıştırabiliriz.(IKM control u seçmeyi unutmadan:)

 

7)new_table

 

 

TBL_INTERFACE_2 deki datalarımıza baktığımızda 25 kayıt olduklarını görebiliriz.

 

8)new_table

 

Şimdi bu iki interface in arka arkaya çalışmalarını istediğimizi düşünelim.Önce hepsini alacak ve sonra da 25 kayıtı getirecek.

New Package diyoruz. Ve bir paket Create ediyoruz.

 

9)new_Package

 

Açılan ekrana Paket adını girdikten sonra Alt segmentlerden Diagrama geliyoruz. Ve bu iki interface imizi süreklerek bırakıyoruz.

 

9)paketdizayn

 

İnterfaceleri attıktan sonra işaretli yeşil oku seçerek aradaki bağlantı kurulur.

Ve paket kaydedilir. Tabloları öncesinde truncate etmemizde yarar var. Paketi çalıştırdığımızda en nihai hedef tablomuzun

aynı şekilde dolduğunu görebiliriz.

 

Uzmanlık alanımla ilgili her konuda sorularınızı mail yoluyla sorabilirsiniz.

 

Teşekkürler.

About Mustafa Aksoy

Sakarya Üniversitesi Bilgisayar Mühendisliği mezunuyum. DWH/ETL ve Microstrategy Developer olarak çalışma hayatıma devam etmekteyim. İlgi alanlarım ve bildiğim teknolojiler; PL/SQL, ODI, ETL Circle, Data Guard,Reporting,Microstrategy ve Talend(ETL Tool)

İlginizi Çekebilir

Informatica Ile Incremental Süreçlerin Yönetimi-2 (SCD Type-2 Current Flag Column)

Merhabalar, Önceki yazımda Incremental süreç nedir, nasıl bir ihtiyaç sonucu uygulamaya başlarız, SCD Type ların …

Bir Cevap Yazın