Home / İş Zekası / Microsoft SQL Server Analysis Services (SSAS)

Microsoft SQL Server Analysis Services (SSAS)

DW veya DM verisini (tabi online veriler üzerinden de yapılabilir) çok boyutlu olarak analiz edilmeye hazır hale getirmek için kullanılır. Bu işi yapabilmek için 3 seçenek vardır:

  1. Çok boyutlu(multi dimensional) model. Bu modelde Visual Studio ile SSAS Multidimensional projeler yapıp, projede veri küpleri oluşturarak bu Analysis Services üzerine kullanıcılara sunulur Bu, özellikle küplerin üzerinde birçok kullanıcı analiz yapıyorsa ve küplere ilişkin gelişmiş özellikler isteniyorsa iyi bir yöntemdir. Ancak bu yöntem zahmetlidir ve bu işle uğraşacak profesyonel bir ekip gerektirir.
  2. Sql server 2012 ile ikinci bir model daha gelmiştir. Bu model Semantic modeldir. Bu modelde Visual Studio ile SSAS Tabular projeer yapıp, projede veri excelde pivot tablolarla analiz edilmeye hazır hale getirilir. Oldukça basit bir yapıdır ve basit bir bilgi işlem ekibi ve altyapısı gerektirir. Hatta Excelde powerpivotta yapılmış veri yapısı buraya import edilebilir.
  3. Doğrudan Excel ve powerpivot kullanmak. Birçok işletmede az sayıda(belki tek) kullanıcının kullanacağı bir yapı aslında yeterlidir, karmaşık küp üretme veya daha az karmaşık olan tabular model üretme sürecine gerek yoktur. Bu ihtiyacı karşılamak üzere bir excel eklentisi olarak powerpivot geliştirilmiştir. Aslında Excelde bir pivot bileşeni her zaman mevcuttu. Ancak standart pivot table işleyebileceği satır sayısı ve işlem hızı açısından ciddi bir veri analizi yapmak için eksik kalmaktadır. Bu ihtiyacı SelfService BI yaklaşımının bir parçası olarak powerpivot yerine getirmektedir.

Çok Boyutlu (Multi Dimensional) Model

Bunun için DW veya DM verileri üzerinden OLAP(Online Analytical Processing) veritabanı oluşturulur. OLAP veritabanlarında veri küpleri, mining modelleri ve KPI(Key Performance Indicator) lar bulunur.

OLAP(ONLINE ANALYTICAL PROCESSING)

DW veya DM verileri ilişkisel veritabanı yapısındadır. İlişkisel veritabanları OLTP işlemleri için çok elverişlidir ve çok yaygın olarak kullanılmaktadır. İlişkisel yapıda veriler tablolarda saklanılır. Verinin tutarlılığının bozulmasının önlenmesi için veri tekrarı yapılmaz. Bunun yerine tekrarlanacak veri ayrı bir tabloya konulur ve ilk tablodan bu tabloya ilişki kurulur. İlişki kurulmasının nedeni ilk tabloya, ikinci tabloda bulunmayan bir verinin eklenmesini engellemek içindir. Ancak İlişkisel veritabanları çok boyutlu analiz için uygun değillerdir. Sonuçların hızlı dönmesi için OLAP veritabanlarında veri tekrarı normaldir.

OLAP YAPILARI

OLAP verileri, analizi yapacak kullanıcının ihtiyaçlarına uygun şekilde sunulmalıdır. İşte bunun için bir takım yapılar kullanılır. Örneğin alt yönetim veri üzerinde ayrıntılı ve çok boyutlu analiz yapacaktır. Bu yüzden alt yönetime veriler veri küpleri şeklinde sunulur. Üst yönetim ise sadece genel gidişatla ilgilidir, bu yüzden üst yönetime KPI lar ile analiz imkanı sunulmalıdır.

DATA CUBE

Bir veya daha fazla ölçülecek değeri(measure), çeşitli kategorilerle(dimension) analiz etmek üzere oluşturulmuş OLAP yapılarıdır.

KPI(KEY PERFORMANCE INDICATOR)(TEMEL PERFORMANS GÖSTERGESİ)

Kurumların  iş durumlarına ilişkin temel bir takım göstergelerin, çok özetlenmiş olarak (genellikle) en tepe yöneticilere sunulmak üzere görsel bir şekilde(trafik lambası, hız göstergesi vs) sunulduğu OLAP yapısıdır.

DATAMINING

Verinin içinde bulunan örüntüleri(patterns), ilişkileri, gruplamaları vs birtakım karmaşık matematiksel hesaplamalarla bulan OLAP yapılarıdır.

VERİ KAYNAĞI (DATA SOURCE)

Bir projede bir veya daha fazla veri kaynağı tanımlanmalıdır. Veri kaynağında DW veya DM a bağlanılmak için gereken bilgiler girilir. “Solution Explorer”de “Data Source” üzerinde sağ mouse tuşunu tıklayıp “New Data Source” seçilerek eklenebilir.

Bu ayarlar o andaki bağlantı için geçerlidir. Ayrıca ileride Olap yapılarına veri doldurulması(Process) sırasında kullanılmak üzere gerekli bir kullanıcı adı(impersonation user) bildirilmelidir. Aslında ilk bağlantı sırasında bir Sql hesabı bildirildiyse bunun bir önemi yoktur. Ancak windows hesabı girildiyse alttaki ekranda uygun ayar seçilmelidir. Bir windows kullanıcı adı veya şifresi verilerek bu kullanıcının kullanması sağlanabilir, SSAS servisinin çalışırken kullandığı service account seçilebilir veya o anki kullanıcının hesabının kullanılması sağlanabilir.

Veri kaynağı bir isim verilerek kaydedilir.

VERİ KAYNAĞI GÖRÜNÜMÜ(DATA SOURCE VIEW)

OLAP yapılarımız için Veri kaynağındaki nesnelerin(tablo, görünüm) seçilmesi ve özelleştirilmesi için bir arabirim sağlar. “Solution Explorer”de “Data Source View” üzerinde sağ mouse tuşunu tıklayıp “New Data Source View” seçilerek eklenebilir. Bu durumda öncelikle hangi veri kaynağının kullanılacağı seçilir.

Sonra eğer veri kaynağında FK lar yoksa bunların otomatik olarak oluşturulması için bir ekran gelir.

Burada FK ilişkisinin kurulması için 2 tablodaki kolonların adlarına göre nasıl eşleştirileceği seçilir.

İlk seçenekte 2 tabloda kolon isimleri aynı ise ilişki kurulacağı seçilir.

İkincide fact tablosundaki kolon ismi dimension tablosunun adıyla aynı ise,

Üçüncüde fact tablosundaki kolon ismi dimension tablosunun ve dimension tablosunun PK kolonunun adıyla aynı ise ilişki kurulur.

Bir sonraki ekranda veri kaynağındaki nesneler listelenir.

Gerekli nesneler seçilip sağ tarafa eklenir. Sonrasında bir isim verilerek Data Source View kaydedilir.

Wizard sonuçlandığında tablolar ekranda görüntülenecektir. Artık bu tablolar üzerinde eksik olan PK lar ve ilişkiler tanımlanabilir. Bu işlemler tablo üzerinde sağ mouse tuşuyla ve sürükle bırak yöntemleriyle gercekleştirilir. Örneğin PK sı olamayan bir tabloya PK eklemek için tabloda ilgili kolon sağ mouse tuşuyla tıklanır ve “Set Logical Primary Key” seçilir. İlişki tanımlamak içinse önce fact tablosundan FK kolonu seçilip, sürüklenerek dimension tablosundaki PK nın üzerine bırakılır.

DSV da istenirse birtakım hesaplamalarla yeni kolonlar eklenebilir. Bunun için tablo sağ mouse tuşuyla tıklanıp “New Named Calculation” seçilmelidir.

Bu durumda gelecek ekranda eklenecek kolon adı ve bu kolonun hesaplamasında kullanılacak deyim(Expression) verilmelidir. Bu deyim veri doldurulması aşamasında veri kaynağına gönderileceği için veri kaynağının tipine göre yazılmış bir sql deyimi olmalıdır. Örneğin bir tarihten yıl hanesin döndürüp bunu “Yil” kolonu olarak DSV ye ekleyen ekran aşağıdadır. Burada DW un üzerinde bulunduğu DBMS(Database Management System) SQL Server olduğu için deyim Sql Serverin anlayabileceği bir sql deyimidir.

Bir Named calculation sağ mouse tuşuyla tıklanıp tanımı değiştirilebilir.

Named calculationlar dsv de yanında bir hesaplama ikonuyla bir kolon olarak gözükür.

Named Query

DW da var olan tablo ihtiyacımızı karşılamıyorsa ve DW de bir değişiklik yapma durumuz yoksa, DSV de DW daki tablo/tabloları kullanarak bir select cümlesi yazabiliriz. Bu bir tablo gibi işlev görecektir. Relational  db lerdeki görünümlere benzer.

ÖLÇÜM(MEASURE)

Fact tabloların ölçülmek istenen veridir. Örneğin satış tutarı, satış adedi vs.

BOYUT(DIMENSION)

Ölçümlerin ayrıntılarına inebilmek için kullanılan veridir. Örneğin Satış tutarına İl boyutunda ve/veya satış elamanı boyutunda ve/veya Yil, Ay, Gün boyutlarında bakılabilir.

ÖZETLEME(AGGREGATION)

Ölçüm(Measure) lerin  gösterilirken, olası tüm ayrıntılar için gruplandıklarında, grupları oluşturan verilerin toplanması(sum), ortalamasının alınması(avg), satırların sayılması(count) vb işlemlerdir. Kullanıcılar çeşitli boyutlarda veriyebakarken özetlemelerin çabuk dönmesi için, özetleme işlemi process sırasında yapılır ve bu veri veritabanında tutulur.

KÜPLERİN OLUŞTURULMASI

Solution Explorer de Cubes üzerinde sağ mouse tuşu ile “New Cube” ile yeni küp sihirabzı başlatılır. “Use existing tables” seçilir.

Measure lerin bulunduğu tablo/tablolar(fact tablosu/tabloları) seçilir.

Hesaplanacak measure ler seçilir. Bunlar fact tablosundaki nümerik kolonlardır. Tablodaki kolonlar dışında ayrıca satır sayısının döndürülmesi için bir “count” measure da otomatik olarak oluşturulur. Burada istenmeyen kolonların check boxları temizlenmelidir.

Daha sonra kullanılacak dimensionlar seçilir. Fact tablosundan da dimensionlar oluşturulabilir. Buradaki liste “data source view” daki tablolar arasındaki FK ilişkilerine bakılarak otomatik oluşturulur. İstenmeyen dimensionların check boxları temizlenmelidir.

Daha sonra küpe bir isim verilerek kaydedilir.

Ancak küpe henüz veri doldurulmamıştır.

PROCESS

Küplerin, KPI ve Mining modellerinin DW daki veriyle doldurulması işlemidir.  düğmesiyle veya ilgili nesne üzerinde sağ mouse tuşu ve “Process” seçilerek işlem başlatılabilir. Bu durumda önce projenin Analaysis Server e deploy edilmesi gerekir

Daha sonra çıkan ekranda Run seçilerek işlem gerçekleştirilir.

Eğer dimension datasında hatalar varsa bu hatalar Process işlemi sırasında çıkacak ve işlem sonuçlanmayacaktır. “Dimension key errors” sekmesinde “Ignore errors count” seçilerek hatalı kayıtların işlemi durdurması engellenebilir.

Daha sonra Ok ve Run seçilerek işlem gerçekleştirilir.

Process sonrası küp design ekranının en solundaki “Browser” sekmesi ile küp datası görüntülenebilir.

Dimension key hataları ignore edilerek geçilse de, DW daki bu hatalı kayıtları bulup düzeltilmesi uygun olacaktır. Bu hatalar ilki fact tablosunda olan bir verinin dimesion tablosunda bulunmaması “Key not foud” hatasıdır. Örneğin Fatura tablosunda geçen bir müşteri no sunun Musteri dimensionunda olmaması; diğeri de Dimension tablosunda aynı keyden birden fazla satırın olmasıdır.

Process sonrası küp design ekranının en solundaki “Browser” sekmesi ile küp datası görüntülenebilir.

Measure İşlemleri

Yeni bir measure eklemek için cube tanım ekranında Cube structure sekmesinde  Measures penceresinde herhangibir yer sağ tıklanarak New Measure seçilir. Bu durumda açılan ekranda gerekli fact tablosu, kolon ve uygulanacak aggregation fonksiyonu seçilerek  Measure eklenir. Measure nin adı default olarak kolon adı gelir, bu sağ mouse tuşu iletıklanarak değiştirilebilir.

Measure eklendikten sonra ismi uygun bir isimle değiştirilebilir.

Dimension İşlemleri

Wizard ile küp oluşturulduğunda dimensionlar sadece dimension keyi ile en basit halde oluşturulmuştur. Yani Müşteri tablosu bu şekilde dimension olarak eklendiğinde cube üzerinde analiz yapılırken sadece müşterinin no su kullanılabilir. Örneğin müşterinin adı, bulunduğu şehir vs diğer bilgiler ile(dimension attribute) analiz yapılacaksa bunlar dimensionun tanımına girilerek attribute olarak eklenmelidir.

Dimensionda kullanılacak diğer attributeler dimension çift tıklanıp açılarak “Dimension Structure” sekmesindeyken “Data Source View” bölümünden Attributes bölümüne sürüklenip bırakılarak eklenilmelidir.

Yeni Boyut(Dimension) Ekleme

Solution Explorer de Dimensions üzerinde sağ mouse tuşu ile “New Dimension” ile yeni boyut sihirabzı başlatılır.

“Use an existing table” seçilerek ilgili veri kaynağı görünümü ve tablo seçilişr. Tablodaki PK ve dimension kullanılırken Pk genelde kullanılmaz onun yerine görünecek isim seçilir.

Ama şimdilik böyle yapmayalım “Name column” u da PK seçelim.

Daha sonra hangi kolonların küp sorgulanırken kullanılacağı seçilir. Bunlara boyutun özellikleri(attribute) denir.

Ve boyuta bir isim verilerek kaydedilir.

Bu boyut daha sonra küp tanımına girilerek “Cube Structure” sekmesinde Dimensions üzerinde sağ mouse tuşuyla küpe eklenir.

Dimension ların genel ve attribute ayarları vardır. Bunlar ihtiyaca göre düzenlenebilir.

Dimesion Genel Ayarları

AttributeAllMemberName: Tüm dimension üyelerinin hangi ad altında gösterileceğini belirler. Bu ayar dimensiondaki tüm attribute ler için genel bir isimdir. Bu ayar değiştirlmediği müddetçe üyeler ‘All’ altında görünecektir. Örneğin Müşteri dimensionunda tüm müşterilerin ‘Tüm Müşteriler’ adı altında görünmesini isteyebiliriz.

UnknownMember: Dimensiona ilişkin Process sırasında Unknown(Bilinmeyen) olarak dönüştürülen hatalı veya boş kayıtların nasıl görüntüleneceğini belirler. ‘None’ görüntülenmemesini, ‘Visible’ ise görünmesini sağlar. Örneğin Satış küpünde bir satışın müşterisi null olarak gelmişse veya gelen müşteri no su Müşteri dimensionunda yoksa, yine de bu satışın küpte görünmesini istiyorsak ‘Visible’ yapmalıyız.

UnknownMemberName:  UnknownMember in ‘Visible’ yapıldığı durumlarda hangi isim altında görüneceğini belirler. Default ‘Unknown’ dur. Örneğin Müşteri dimensionu için ’Bilinmeyen Müşteri’ yapılabilir.

UnknownMember  konusu mümkünse DW ye veriyi alırken yoksa en azından DSV de halledilmeli; çünkü DW a aktarımda bir hata olsa aslında promosyonu olan satışlar da Promosyonsuz olarak gözükecektir.

Dimension Attributeleri ayarları

Cube Wizard ile küp oluşturulduğunda sadece dimension keyleri için attribute oluşmaktadır. Yeni attributeler eklemek için Dimension ayarlarına girilip DataSource View dan istenen kolonlar Attribute ekranına sürüklenip bırakılmalıdır. Daha sonra her bir attribute ün ayarları yapılabilir. Bu ayarlar şunlardır:

AttributeHierarchyDisplayFolder: Bir dimensionda çok fazla attribute varsa bunlar değişik folder name leri altında gösterilebilir. Attribute ün hangi kapsam altında görüneceği buradan belirlenir.

AttributeHierarchyEnabled : Default ‘true’ dur.  Attribute herhangi bir hiyerarşide kullanılmayacaksa ‘false’ yapılmalıdır.

AttributeHierarchyVisible : Attribute ün Kullanıcı uygulamalarında görünüp, görünmeyeceğini belirler. False yapılması durumunda Attribute sadece sorgularda kullanılabilir.

DefaultMember : Küp üstüne bir dimension sürüklenip bırakıldığında default olarak tüm üyeleri gelir. Örneğin Tarih dimensionunda yıl niteliği(attribute) sürüklenip bırakıldığında tüm yıllar için veri görüntülenecektir. Biz bunun yerine sadece 2012 yılının görünmesini istiyebiliriz. Bu veri sabit girilebileceği gibi bir mdx sorgusu da olabilir.

DiscretizationBucketCount : Ardışık veriler üzerinde analiz yapılacaksa kullanılır. Kaç değişik seçenek olacağını belirler. Örneğin ürün fiyat aralıklarına göre satış başarısını ölçmek istersek Ürün  dimension unda FiyatAralığı adında bu şekilde bir attribute yaratabiliriz ve bu seçeneği 10 vererek, 10 fiyat grubu için analiz yapmayı seçebiliriz.

DiscretizationMethod :  Discretization ın metodunu belirler:

None – Discretization yapılmaz

Automatic – Değerleri  otomatik olarak belirler

EqualArea – Değerleri eşit aralıklarla belirler

Cluster – Değerleri  K-Means algoritmasıyla belirler.

Orderby: Attribute ün neye göre sıralanacağını belirler. Seçenekler: Name, Key, AttributeName ve AttributeKey

Parent-Child Dimensionlarda Naming Template ile her bir level e isim verilebilir.

Cube ler istenildiğinde yeni dimensionlar eklenebilir. Yeni bir dimension eklemek için cube tanım ekranında Cube structure sekmesinde  Dimensions penceresinde herhangi bir yere sağ tıklanarak “Add cube dimension” seçilir.

Mavi ise Best Practices Analyzer (BPA) uyarıları

SSAS projelerinde yapılan bir takım işlemler sonrası örneğin yeni bir dimension eklendiğinde dimension adı üzerinde mavi veya kırmızı renkte tırtıllı bir çizgi görünür. Çizginin üzerine gelince bir açıklama görünecektir. Bu çizgi,

Mavi ise Best Practices Analyzer (BPA) uyarısıdır. Daha iyi bir sonuç için uyarı dikkate alınmalıdır.

Kırmızı ise hatadır, proje build edilirken hata verir, düzeltilmesi gerekir.

Rate this post

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Mualla Premium Chocolate