-

SSIS- Sql Server Intergration Services (Sql Server Entegrasyon Servisleri) Uygulama Örnekleri

Microsoft’un sunduğu İş Zekası çözümlerinde kullanılan teknolojilerin bir kısmı aşağıdaki gibidir;

  • Sql Server veri tabanı motoru (database engine), uygulama veri tabanı ve veri ambarları için kullanılır,
  • ETL işlemleri, Microsoft Sql Server Integration Services (SSIS) ile yapılır,
  • Veri temizliği, Data Quality Services (DQS) ile,
  • Veri yönetimi (Master Data Management), Master Data Services (MDS) ile,
  • Depolama ve sorgu (query) işleme, Sql Server Analysis Services (SSAS) ile,
  • Rapor yayınlama ve gönderme, Sql Server Reporting Services (SSRS) ile

yapılır.

Sql Server Entegrasyon Servisleri Uygulama Örnekleri

Entegrasyon Servisleri ETL işlemlerini gerçekleştiren servistir. Günlük veri tabanından Veri Ambarı’na geçilme aşamasında SSIS ile oluşturulan paketler çalıştırılır. Bu yazıda  verilen Entegrasyon Servisleri ile ilgili senaryo örnekleri aslında bu geçiş esnasında çalıştırılan paketlerdir. Hangi paketlerin oluşturulacağı ise şirket verisinin analiz edilmesi ve sık ihtiyaç duyulan raporlardan yola çıkılarak karar verilir.

Entegrasyon servisleri için gösterilen örneklerde veri tabanı olarak Microsoft’un ücretsiz kullanıma sunduğu veri tabanı, AdventureWorks kullanılmıştır. AdventureWorks uluslararası bisiklet ve bisiklet aksesuarları satan bir şirketin satış, ürün, kullanıcı gibi bilgilerini tutan ilişkisel veri tabanıdır

Entegrasyon Servisleri 1.Senaryo

Senaryo:  AdventureWorks  veri tabanındaki Product tablosu üzerinde bulunan ürün renklerini farklı diller ile ifade edilmesi.

Bu örnekteki amaç Veri Ambarı’nda çok dilli olma özelliğinin nasıl katılabileceğini göstermektir.

Sql Server Data Tools üzerinde spesifik işler yapmak üzere tanımlanmış task adı verilen yapılar mevcuttur. Bu senaryo için “Oledb Source” ismindeki task eklenir, bu task’a kaynak olarak AdventureWorks veri tabanı verilir.

Oledb Source task için aşağıdaki Sql komutu kullanılır:

Select ProductID, Name, Color, Size, and ListPrice from Production.Product

Bu senaryo için renkleri farklı dillerde ifade etme işlemi için farklı dillerdeki renk bilgilerini tutmak üzere bir lookup tablosuna ihtiyaç duyulur. ColorTranslation ismindeki aşağıda gösterilen bilgileri içeren tablo oluşturulur.

ID İngilizceRenk TürkçeRenk  İspanyolcaRenk
1 Red Kırmızı Roje
2 Black Siyah Negro
3 Blue Mavi Azul
4 White Beyaz Blanco
5 Null Renksiz No Color

Renkleri eşleştirme ve ürün rengini farklı renklerde gösterme işlemini yapmak üzere araçlar içerisinden “Lookup” ismindeki task eklenir. Product ve ColorTranslation tablolarını bağlamak üzere iki tabloda bulunan, ortak bir kolona ihtiyaç duyulur. Bu kolon aşağıdaki şekilde görüldüğü gibi EnglishColor dır.

kolon

Aşağıdaki şekilde verinin akış diyagramındaki tek yönlü oklar bir task’dan diğerine bilgi taşımaktadır. Eşleşen ve eşleşmeyen renkleri göstermek üzere araçlar içerisinden iki adet “Audit” ismindeki task eklenir. 504 üründen 414 tanesinin rengi lookup tablosundaki renklerle eşleşirken 90 adet ürün renginin tablodaki renklerden farklı renkte olduğu anlaşılmaktadır.

diagram

Aşağıdaki şekildeki senaryo çıktısında görülebileceği gibi İngilizce renklere karşılık gelen Türkçe ve İspanyolca ürün renkleri eklenmiştir.

result

Entegrasyon Servisleri 2.Senaryo

Senaryo: AdventureWorks  veri tabanındaki Product tablosundaki ürünleri mavi ve kırmızı renk ve pahalı ürünler olarak ayrıştırma işleminin gerçekleştirilmesi.

Tablodaki verileri belirlenen özelliklere göre ayırmak mümkündür. Bu senaryo için ayırma işlemini yapmak üzere “Conditional Split” ismindeki task kullanılır. Bu işlemden önce boş (null) alan temizliğinin yapılması gerekir. Bu işlem için “Derived Column” ismindeki task eklenir. Bu taskta yapılması gereken işlem için REPLACENULL(Color,”No Color”) fonksiyonu kullanılır, Color kolonu için Null görünen yerleri “No Color ” olarak güncellemiş olur.

Şartlı  ayrıştırma (conditional split) işlemi için şart faktörleri aşağıdaki gibidir:

•          Pahalı Ürünler: ListPrice > 1500,

•          Kırmızı Ürünler: Color == “Red” ,

•          Mavi Ürünler: Color == “Blue”

Aşağıdaki diyagramdan görülebileceği üzere, veri kaynağı devamında null temizliği ve şartlı ayırma işlemi yapılır. Şartlı ayırma işlemi sonrasında ürünler kırmızı, mavi, pahalı ürünler ve bunlar dışında kalan ürünler olarak ayrıştırılmış olur.

conditionalSplit

Aşağıdaki şekilde kırmızı renkli ürünlerin çıktısını göstermek üzere eklenmiştir.

kırmızı

 Kaynaklar

  1. Bt Akademi’den aldığım Sql Server 2012 ile İş Zekası Uygulamları Eğitimi

Your email address will not be published. Required fields are marked *

*