Makale Özeti

Bu makalemizde SSIS 2008 le birlikte yeni özellikler kazanan lookup componentini detaylı bir şekilde inceleyeceğiz.

Makale

İş zekası projelerinde sıklıkla karşılaştığımız durumların başında veri akışı içerisinde gelen  bir satır verisinin yanına ilişkisel bir başka veri ekleme ihtiyacı gelmektedir. Yani personel tablosu üzerinde çalıştığımızı varsayalım. Bu tabloadaki verilerin yanında personel maaşlarının da gö rüntülenmesi istenmekte olduğunu dü şünürsek,bunun için personel tablosundaki personelid, personeladı gibi bilgilerin yanına personel maas bilgisini çekerek kaydetmemiz gerekebilir.

Bu tarz işlemler için lookup component kullanılmaktadır. Daha öncede bahsedildiği gibi lookup component, referans tablolarla bağlantı kurup buradan ilgili bir ya da birkaç kolonu veri akışınıza katma işlemini gerçekleştirmektedir.Bu işlemleri yapmasıyla join,sub query gibi işlemlerde bize kolaylık sağlamaktadır. Hatta yukarıda düşünmüş olduğumuz personel senaryosunda,personel tablosuyle personel maaş tablolarının ayrı veri tabanlarında olduğunu düşünürsek bizi linked server gibi farklı işlemler yapmaktanda kurtarmaktadır. Lookup componenti incelemeye başlayalım;

 Şekil 1. SSIS 2008 Lookup Transformation Editor

Şekil 1 ‘de görüldüğü üzere;

Cache mode: SSIS lookup işleminde referans tabloyu getirmeden önce referans olarak belirlediğimiz tabloyu  hafızaya alarak önbellekleme yapması işlemidir. Eğerreferans olarak belirlediğimiz tablonun hepsinin ön bellekleme yapılmasını istiyorsak “Full Cache” modunu,kısmı olarak önbellekleme için “Partial cache” yada hiç ön bellekleme yapılmasını istemiyorsak “No cache “ seçeneğini seçiyoruz.

Connection Type:Verilerimizin tutulduğu yerin tipini seçiyoruz.Verilerimizin tutulduğu yer ilişkisel veri tabanı mı?Yoksa dosya sisteminde tutulan özel önbellek dosyaları mı?

No Matching Entries:SSIS lookup işlemi sırasında referans tabloda aradığı veriyi bulamazsa ne yapsın sorusunun yanıtını burada belirliyoruz. Ignore:Verilen hatayı yok sayarak o değere null atar, Redirect Rows to Error Output:Hata verir ve hatalı satırları ayıklar, Fail Component: Hatanın dataflow tarafından verilmesi ile dataflowun durması, Redirect Rows to no match output : Bulunamayan kayıtların ayrıştırılmasını sağlar.

Şekil 2.SSIS 2008 Lookup Transformation Editor

Şekil 2 ‘de görüldüğü üzere;

OLE DBConnection Manager kısmında bağlanacağımız veritabanını,  sonra referans olarak bir tabloyu tamamiyle ya da bir sql sorgusunumu kullanacağımızı seçiyoruz.

Şekil 3.SSIS 2008  Lookup Transformation Editör

Şekil 3’de görüldüğü üzere eşleştirme işleminin nasıl yapıldığını burada belirliyoruz. Bizim senaryomuza göre Employee tablosundaki EmployeeId, referans tablosundaki EmployeeId  ile eşleştikten sonra bize Salary yani ücreti yeni bir kolon olarak getirecek.

Yukarıdaki işlemlerde Lookup Transformation Editörün özellikleriyle beraber bazı ayarlamaları yapmış bulunmaktayız.Buradan veri akışımızın bulunduğu ekrana dönersek;senaryomuzun tüm işlemler sonunda geleceği durumu görmüş olmaktayız.

Şekil 4.SSIS Lookup Transformation Kullanımı

Yukarıda görüldüğü üzere lookup component   verilerin nerede ve nasıl tutulduğu,eşleştirmelerin nasıl yapılacağı ve eğer bir veriye ulaşamazsak nasıl ulaşacağımız konusunda bizlere koley ve hızlı çözümler sağlamaktadır.