24
KONU 14: ANALYSIS SERVICES SQL Server Analysis Servisleri bir şirketin içerdiği büyük ölçekli verileri, veri tabanı yoluyla insanların çeşitli iş kararları vermesinde yararlı olmak ve insanlar için veri tabanından anlamlı veriler getirmek ve getirilen bu verileri çeşitli yollarla mevcut bilgileri insanların analiz etmesini sağlamaktır. SQL Server Analysis Servisleri bu büyüklükte veri depolayan şirketlerin depolanan verilerini işlemesine yardımcı olur. Şirketler genellikle büyük miktarlarda veri oluşturur. Bu datalar mevcut aktiviteleri ve bilgileri yansıtır ve bunlar şirket için yararlı olacaktır. Bu veriyi kullanmak amacıyla, şirketlerin toplam iş bilgilerini analiz etmeye ihtiyaç duymalarıdır. Sonuç olarak; Şirketin iş performans ölçümlerini anlamak, Şirketin trendlerini ve performanslarını tespit etmek ve Şirketin ihtiyaçlarını akıllı modelleme kullanılarak tahmin edebilmek gerekir. Veri Kaynağı (Data Sources) İş zekası için ihtiyaç duyulan verilerin kaynağına Microsoft SQL Server Analiz servisleri içindeki veri kaynağının bağlanmasına olanak sunuyor, ve analiz servisleri de bu yolla bir veya birden fazla olan veri kaynaklarına erişimi sağlıyor. Analiz servisleri olap veya veri tabanı madenciliği sorguları iş zekası tarafından gereklidir ve bu yapıyı analiz servisin kullanmasına izin vermektedir. Veri Kaynağı Görünümleri ( Data Source View) Analiz Servisleri içindeki olap ve veri tabanı projeleri bir veya birden fazla veri kaynağındaki sorguları , görünümleri ve ilgili tabloların veri modeli için tasarlanmıştır. Bu mantıksal bilgiler data source view adı altında adlandırlılır. Data source view'lar doldurulan veri ambarımızdaki alt tabloları tanımlamamıza izin verir. Datasource viewların içinde seçilen veri kaynağının metadata bilgileri tutulur , bu veri kaynağını ile ilgili tabloların bilgileri ya tanımlı olan veri kaynağında yada veri kaynağı görünümünde tutulur. Veri kanakları bunlar üzerine kurulmuştur ve gelen bir veri kaynağını ön belleğe alır. Ön belleğe alınan bu bilgiler siz Analiz Servisleri geliştirirken sizin sürekli veri kaynağına aktif bir bağlantı olmamasını sağlar. Analiz Servisleri Veri Kaynağı Görünümlerini Nasıl Kullanır? Analiz servisleri tasarım araçları veri kaynağı görünümün içindeki bilgileri almak ve ilişkisel metadata bilgilerini ön belleğini korumak için veri kaynağı görünümü kullanır. Veri kaynağı içindeki tanımlanan bu bilgiler OLAP ve veri tabanı madenciliği için gerekli ve kullanılabilir olan tabloları görüntüler.Veri kaynağı görünümü tabloların düzenini, filtrelerini ve SQL ifadelerini elinde tutar, bu sayade veri kaynağı görünümü analiz servisleri küplerine , boyutlarına(dimension) bağlantılarını ve veri kaynağı görünümü içindeki tabloları ve kolonlarına veri madenciliği modelciliğini sağlar.

Hayrettin kunuk

Embed Size (px)

Citation preview

Page 1: Hayrettin kunuk

KONU 14: ANALYSIS SERVICES

SQL Server Analysis Servisleri bir şirketin içerdiği büyük ölçekli verileri, veri tabanı yoluyla insanların çeşitli iş kararları vermesinde yararlı olmak ve insanlar için veri tabanından anlamlı veriler getirmek ve getirilen bu verileri çeşitli yollarla mevcut bilgileri insanların analiz etmesini sağlamaktır. SQL Server Analysis Servisleri bu büyüklükte veri depolayan şirketlerin depolanan verilerini işlemesine yardımcı olur. Şirketler genellikle büyük miktarlarda veri oluşturur. Bu datalar mevcut aktiviteleri ve bilgileri yansıtır ve bunlar şirket için yararlı olacaktır. Bu veriyi kullanmak amacıyla, şirketlerin toplam iş bilgilerini analiz etmeye ihtiyaç duymalarıdır. Sonuç olarak;

Şirketin iş performans ölçümlerini anlamak, Şirketin trendlerini ve performanslarını tespit etmek ve Şirketin ihtiyaçlarını akıllı modelleme kullanılarak tahmin edebilmek gerekir.

Veri Kaynağı (Data Sources)

İş zekası için ihtiyaç duyulan verilerin kaynağına Microsoft SQL Server Analiz servisleri içindeki veri kaynağının bağlanmasına olanak sunuyor, ve analiz servisleri de bu yolla bir veya birden fazla olan veri kaynaklarına erişimi sağlıyor. Analiz servisleri olap veya veri tabanı madenciliği sorguları iş zekası tarafından gereklidir ve bu yapıyı analiz servisin kullanmasına izin vermektedir.

Veri Kaynağı Görünümleri ( Data Source View)

Analiz Servisleri içindeki olap ve veri tabanı projeleri bir veya birden fazla veri kaynağındaki sorguları , görünümleri ve ilgili tabloların veri modeli için tasarlanmıştır. Bu mantıksal bilgiler data source view adı altında adlandırlılır. Data source view'lar doldurulan veri ambarımızdaki alt tabloları tanımlamamıza izin verir. Datasource viewların içinde seçilen veri kaynağının metadata bilgileri tutulur , bu veri kaynağını ile ilgili tabloların bilgileri ya tanımlı olan veri kaynağında yada veri kaynağı görünümünde tutulur. Veri kanakları bunlar üzerine kurulmuştur ve gelen bir veri kaynağını ön belleğe alır. Ön belleğe alınan bu bilgiler siz Analiz Servisleri geliştirirken sizin sürekli veri kaynağına aktif bir bağlantı olmamasını sağlar.

Analiz Servisleri Veri Kaynağı Görünümlerini Nasıl Kullanır?

Analiz servisleri tasarım araçları veri kaynağı görünümün içindeki bilgileri almak ve ilişkisel metadata bilgilerini ön belleğini korumak için veri kaynağı görünümü kullanır. Veri kaynağı içindeki tanımlanan bu bilgiler OLAP ve veri tabanı madenciliği için gerekli ve kullanılabilir olan tabloları görüntüler.Veri kaynağı görünümü tabloların düzenini, filtrelerini ve SQL ifadelerini elinde tutar, bu sayade veri kaynağı görünümü analiz servisleri küplerine , boyutlarına(dimension) bağlantılarını ve veri kaynağı görünümü içindeki tabloları ve kolonlarına veri madenciliği modelciliğini sağlar.

Page 2: Hayrettin kunuk

Analysis Services yapısını, çok geniş verilerin bulunduğu veri tabanı yapılarımızda; sorgulamayı daha güçlü bir şekilde gerçekleştirmek için kullanabiliriz. Aynı zamanda bu karışık yapıları sorgularken daha az çaba harcamamızı da sağlar. Kısacası işlerimizi oldukça kolaylaştırır.

Farklı kaynaklardaki verileri hızlı ve doğru bir şekilde sorgulamak istediğimizde başvuracağımız bir servistir.

OLAP yapıları için oldukça kullanışlı bir servistir. Buradaki verileri bir web ara yüzünde veya Microsoft Excel programında da kullanabiliriz.

Karmaşık data ilişkilerinin tanımlanması, OLAP ile ilişkili kaynakların birarada kullanılması ve performans dengelenmesi için kullanacağımız bir servistir.

Kurulum sırasında yukarıdaki servisi kurmak ve gerekli ayarları yapmak gereklidir. ANALYSİS SERVICES ile BAĞLANTIYA GEÇMEK:

Kurulum gerçekleştikten sonra aşağıdaki adımları takip ederek Analysis Services ile bağlantıya geçmemiz gerekir. Eğer bunları yapamıyorsanız Analysis Services kurulmamış veya hatalı kurulmuş demektir.

1) SQL Server Management Studio açılır.

Page 3: Hayrettin kunuk

2) Server type kısmından Analysis Service seçilerek Connect butonuna basılır.

3) Varsayılan olarak Databases klasörünün altının boş olduğunu gözlemleyelim.

Page 4: Hayrettin kunuk

4) Eğer açık olan SQL Server Management Studio içinden aynı zamanda Analysis Services ile bağlantıya geçeceksek bu sefer; Object Explorer kısmından Connect kısmı açılarak Analysis Services seçeneğine tıklanır.

5) Connect butonuna basınca şekildeki gibi Analysis Services ile bağlantıya geçilmiş olunur.

MULTIDIMENSİONAL ANALYSIS SOLUTIONS:

Analysis Services ile birlikte kullanılan Business Intelligence Development Studio(BIDS) kullanılarak oluşturacağımız Data Source ve Data source Vievvs yapıları ile büyük kaynaklara ulaşabiliriz. Verileri farklı boyutlarda analiz etmek için Measures ve Dimensions yapıları da ilave edilebilir.

Bu yapıyı iki şekilde kullanabiliriz.

Online Mode: Bir Analysis Services veri tabanı içinde direkt olarak değişiklik yapılabilir. Burada SOL Server Analysis Services ile ilişkiye geçilir ve değişiklikler veri tabanına anında yansır. Bu yapıda bir proje oluşturulmaz.

Project Mode: Her şey ilk önce bir Analysis Services projesinde oluşturulur ve test edilir. Proje deploy edilmediği sürece değişiklikler veri tabanına yansımaz.

Page 5: Hayrettin kunuk

DATA SOURCE OLUŞTURMAK:

Business Intelligence Development Studio(BIDS) içinde bulunan Data Source Wİzard kullanarak bir Analysis Services projesi için bir veya birden fazla Data Source oluşturabiliriz.

Yeni bir bağlantı için kullanılan varsayılan provider Native OLE DB\SQL Server Native Client provider olup, diğer destekledikleri ise aşağıdaki gibidir.

• SQL Server 7.0 using the SQL OLE DB Provider or the .NET native OLE DB provider (x86, x64, and ia64).

• SOL Server 2000 using the SOL OLE DB Provider or the .NET native OLE DB provider (x86, x64, and ia64).

• SOL Server using the SOL OLE DB Provider or the .NET native OLE DB provider (x86, x64, and İa64).

• Oracle 9.0 using the Microsoft OLE DB Provider for Oracle or the .NET native OLE DB provider (x86 only).

•IBM DB2 8.1 using Microsoft OLE DB Provider for DB2 (x86, x64, İa64) only available for Microsoft SOL Server 2005 Enterprise Editi'on or Microsoft SOLServer 2005 Developer Edition and dovvnloadable as part of the Feature Pack for Microsoft SOL Server Service Pack 1.

• Microsoft Access® with Microsoft Jet 4.0 OLE DB provider (x86 only).

• Teradata v2R6 with OLE DB 1.3 provider from NCR (x86 only). Şimdi bir uygulama ile bu

yapıyı daha iyi anlamaya çalışalım.

UYGULAMA:

Yeni SOL Server Kullanıcısı Oluşturmak: ilk olarak uygularımızda kullanabileceğimiz ve daha öncede değindiğimiz yeni bir kullanıcı

oluşturalım.

1) Lokal olarak dikmen isimli bir kullanıcı oluşturalım. Bunu lokal veya Active Directory içinde oluşturabileceğimizi tekrar hatırlatmak isterim.

Page 6: Hayrettin kunuk

2) Ardından bu kullanıcıyı SQL Server içinde tanıtmak için Database Engine bağlantısı sağlanır.

3) Security kısmından Logins klasörü üzerinde sağ tuşa basılarak New Login seçeneğine tıklanır.

Page 7: Hayrettin kunuk

4)Login name kısmından Search butonu yardımı ile dıkmen kullanıcısını bularak onaylayalım.

5) Databases klasörü altından veri tabanımızı bulalım ve bunun altındaki Security klasörü üzerinde sağ tuşa basarak New/ User seçeneğine tıklayalım.

6) db_owner ve db_securityadmin seçeneklerini her iki alanı da doldurarak kullanıcımızı ekleyelim.

Page 8: Hayrettin kunuk

UYGULAMA:

Yeni bir Analysis Projesi Oluşturmak: Şimdi de bundan sonra kullanacağımız Analysis Services projesini nasıl oluşturacağımızı bir uygulama ile görelim.

1) SQL Server Data tools seçeneğine tıklayalım.

2) File/ New/ Project seçeneğine tıklayalım.

Page 9: Hayrettin kunuk

4) Templates kısmından Analysis in ilk seçimi yaptıktan sonra kadirOLAP adını vererek OK butonuna basalım.

Veri tabanımız için bir veri kaynağı(Data Source) oluşturmak: Artık bu Analysis Services

projemiz içinde bir Data Source oluşturabiliriz.

Page 10: Hayrettin kunuk

4) Sağ taraftaki Solution Explorer altındaki Data Sources üzerinde sağ tuşa basarak New Data Source seçeneğine tıklayalım.

5) İlk ekranı Next

butonu ile geçelim.

6) Gelen ekranda New butonuna basalım.

7) Server name kısmından sqlserver adını seçelim ardından Windows Authentication seçili iken

Select or enter a database name kısmından veri tabanımız seçerek OK butonuna basalım.

8) Next butonuna basalım.

Page 11: Hayrettin kunuk

9) Use the service account seçimi yaparak Next butonuna basalım

Page 12: Hayrettin kunuk

,

Page 13: Hayrettin kunuk

11) İşlemimiz bitmiştir.

DATA SOURCE VIEW OLUSTUMAK:

Veri tabanımızla ilişkisel olarak oluşturulan Data Source Vievv yapısını VVizard yapısı ile basitçe oluşturabiliriz. Kaynak olarak daha önce tanımladığımız data source kullanılabileceği gibi, yeni bir data source da tanımlanabilir. Kaynak olarak tablo ve vievv kullanılabilir. Tanımlandıktan sonra da tablo ve sütunlar eklenebilir.

Data Source Vievv oluşturduktan sonra, tasarım kısmında aşağıdaki işlemler gerçekleştirilebilir;

*** Tablo ve sütunların isim değişikliğinin yapılması.

*** Named Oueries ve Named Calculations oluşturulabilir. Bu oluşumda orijinal veri kaynağının etkilenmemesi sağlanabilir.

*** Logical Primary Key ve Relationships oluşturulabilir. Bu da performansı arttırır.

*** Kolay izleme yapmak için yeni diyagramlar oluşturulabilir.

UYGULAMA:

Data Source Vievv Oluşturma: Bu kısımda ilk olarak Data Source Vievv oluşturacağız. Bu yapıda kullanacağımız daha önce oluşturduğumuz satis tablomuzun tasarımı ve içindeki kayıtları şekildeki gibidir.

Page 14: Hayrettin kunuk

Artık oluşumu gerçekleştirebiliriz.

1) Data Source Vievv üzerinde sağ tuşa basarak New Data Source Vievv seçeneğine tıklayalım.

2) Next butonu ile ilk ekranı geçelim.

3) Veri tabanı bilgilerimizin doğru olduğunu kontrol ederek Next butonunâ basalım.

Page 15: Hayrettin kunuk

4) Şekildeki tabloları ekleyerek Next butonuna basalım. 5) Finîsh butonu ile sonlandıralım. Data Source View Yapılandırma: Bu kısımdan itibaren tasarım kısmında oluşturduğumuz yapı

üzerinde değişiklikler gerçekleştirmeye çalışalım.

6) Zoom'u %50 yapalım.

7) İstenilen tablo seçilerek ismi Properties penceresinden değiştirilebilir. Ben tüm tablo isimlerinin sonuna 1 koydum.

8) satisl tablosu üzerinde sağ tuşa basarak New Named Calculation seçeneğine tıklayalım.

9) Column name kısmına basit tarih yazarak Expression kısmında aşağıdaki ifadeyi yazarak OK butonuna basalım.

DATENAME(dd, alistarih) + " +

DATENAME(mm, alistarih) + " +

DATENAME(yy, alistarih) 10) Ara sıra yaptıklarımızın kaydedilmesi için File menüsünden Save Ali seçeneğine tıklayalım.

11) satis altında oluşan basit tarih üzerinde sağ tuşa basarak Explore Data seçeneğine tıklayarak kayıtları görelim.

Page 16: Hayrettin kunuk

12) Chart kısmına geçtiğimizde ise görünüm, şekildeki gibi olacaktır.

13) Kendi grafiğimizi tasarlamak için ise Pivot Chart sekmesine geçmemiz gerekir. 14) Pivot Table sekmesinde ise şekildeki gibi tasarımlar gerçekleştirebiliriz.

15) Şimdi merkez isimli tablomuzu bu view içine dahil edeceğiz. Bu tablomuzun tasarımı ve içindeki kayıtları hatırlayalım.

16) Sağ tuşa basarak Add/ Remove Tables ile merkez tablomuzu ekleyelim.

17) ismini merkezi olarak değiştirdikten sonra üzerinde sağ tuşa basarak New Named Calculation seçeneğine tıklayalım.

18) İsmine dolumu boşmu vererek aşağıdaki ifadeyi yazalım.

CASE WHEN tel IS NULL THEN 'adres yaz kardeşim ' ELSE 'adres yazılmış' END

19) OK butonu ile onaylayarak kayıtları görelim. 20) Satisl tablosuna aşağıdaki ifadeyi yıl ismi ile ekleyelim.

CONVERT(CHAR(4), getiristarih)

21) Kayıtlar şekildeki gibi görünecektir.

22) Projemizi kaydedip kapatalım. Yeniden açmak için kaydettiğimiz klasörün içinden sin uzantılı ismimize iki kez tıklamamız yeterli olacaktır.

DİKKAT: Eğer bu projenizi derleyerek SQL Server 2012 içine aktarmak istediğinizde bir hata verirse Solution Explorer üzerinde sağ tuşa basarak Properties seçeneğine girerek; SQL Server 2012' inizin tam adını yazınız.

Gerekirse oluşturduğunuz Data Source üzerine iki kez tıklayarak da yolu kontrol edebilirsiniz.

CUBE OLUŞTURMAK

Her türlü özet bilgilere ulaşmak için Cube oluşturmamız gerekir. Cube yapısı Wizard yardımı ile hızlı ve basit bir şekilde oluşturulabilir. Var olan tablo ya da tablolar kullanılarak Cube oluşturulacağı gibi, boş bir Cube da oluşturulabilir. Measure grup tanımlamak için Data source View ve tablolar kullanılır. Bir Cube oluşturduktan sonra var olan bir Dimensions'ı ekleyebileceğimiz gibi, yeni bir Dimensions da oluşturulabilir. Cube oluşumunda var olan Data source ve Data Source View seçimi yapılabileceği gibi, bu seçimleri yapmadan da Cube oluşturulabilir.

Cube yapısını oluşturup gerekli tasarımları gerçekleştirdikten sonra Cube Brovvser ile gerekli raporlamaları görebiliriz.

UYGULAMA:

Cube Oluşturma: İlk olarak Cube oluşturma ile başlayacağız.

Burada iki tablo kullanacağız.

Bu tablolarımızdan ilki Perakente satış tasarım ve kayıtları aşağıdaki gibidir.

Page 17: Hayrettin kunuk

,Diğer tablomuz ise urunlistesi tablosudur.

Ardından OLAP projemizin içinde; bu iki tablo arasında ilişki oluşturalı Artık uygulamamıza başlayabiliriz.

1) Cube üzerinde sağ tuşa basarak New Cube seçeneğine tıklayalım.

Page 18: Hayrettin kunuk

2) Next butonu ile ilk ekranı geçtikten sonra gelen ekranda Use existing tables seçeneğini

işaretleyerek Next butonuna basalım.

3) Suggest butonu ile bu yapıya uygun olan tabloları otomatik olarak seçmesini sağlayabiliriz. Biz bu butona basalım, ancak sadece şekildeki tabloları seçerek Next butonuna basalım.

4) Select Measures sayfasını Next butonu ile geçelim 5) Tekrar Next butonuna basalım.

6) Yuksel3Cube ismini vererek Finish butonuna basalım. 7) Son görüntü, şekildeki gibi olacaktır.

Cube ve Dimension Yapılandırma: Bundan sonra oluşturduğumuz Cube üzerinde gerekli değişiklikleri nasıl gerçekleştireceğimizi göreceğiz.

8) Perakendesatis Count üzerinde sağ tuşa basarak Rename seçeneğine tıklayalım ve ismini Satis Miktar olarak değiştirelim.

9) Measures kısmında boş bir alanda sağ tuşa basarak Show Measures in kısmından Tree seçeneğine tıklayalım.

10) CTRL tuşu ile şekildeki satırları seçelim. 11) Sağ alt köşedeki Properties penceresindeki FormatString kısmını şekildeki gibi

yapılandıralım.

12) Şimdi Dimension yapılandırmasına geçelim ve UrunlistesM.dim üzerinde sağ tuşa basarak View Designer seçeneğine tıklayalım.

13) Karşımıza gelen görüntü, şekildeki gibi olacaktır.

14) Attributes kısmına Urunad sütununu sürükleyelim.

15) Buraya kadar yaptıklarımızı kaydedelim. Cube Görüntüleme ve Excel'e Aktarma: Artık sonuçları görme zamanı geldi. Hem proje içinde

görüntülemeyi, hem de başka bir ortama aktarmayı da bundan sonraki adımlarda inceleyeceğiz.

16) Proje adı üzerinde sağ tuşa basarak Deploy seçeneğine tıklayalım.

17) Deploy işlemi başarı ile gerçekleşene kadar bekleyelim.

Page 19: Hayrettin kunuk

18) Brovvser sekmesine tıklayalım.

19) Alanımız; şekildeki gibi olacaktır.

20) Drop Column Fields Here kısmına Urunad sütununu sürükleyelim.

21) Drop Totals or Detail Fields Here kısmına ise sırası işe şekildeki sütunları sürükleyelim. 22) Filter kısmına ise urunkod sütununu sürükleyelim. 23) Excel'e transfer için ise Excel 2007 programını açalım ve Data menüsûne tıkladıktan sonra

From Other Sources altında bulunan From Analysis Services seçeneğine tıklayalım. 24) Server name kısmına SOL Server ismini yazarak Next butonuna basalım.

25) OLAP projemizi seçerek Next butonuna basalım. 26) Fınish butonuna basalım 27) Gelen iletişim kutusunda Pivot Table Report seçili iken OK butonuna basalım. 28) Sağ taraftan şekildeki kutuları dolduralım. 29) Son görüntü, şekildeki gibi olacaktır. Kaydedelim.

MEASURES ve MEASURES GRUPLAR:

Herhangi bir sayısal değer taşıyan tablo sütununu kullanarak yeni değerler üretmek ve var olan fonksiyonlardan yararlanmak için tercih edeceğimiz yapıdır. Bu yeni sütunlarda istediğimiz biçimleri de tanımlama imkanına sahip oluruz.

Kullanacağımız Biçim(FormatString) yapısını bir tablo ile göstermeye çalışalım.

Kaynak Veri Tipi

Biçim Biçim Değeri

Örnek Çıktı Numeric Named General

Number 12345

Fixed 12345.0 User-

defined #,#.00 TL 123,456.00

TL #,#0.0000 123,456.0000

Date/time Named Medium Date

19-Tem-2011 Long Date SalıTemmuz 19, 2011

User-defined

dd/mm/yyyy

19/07/2011 dd-mmm-

yyyy 19-Tem-

2011 Boolean Named Yes/No Yes True/False True Kullanacağımız fonksiyonlardan bazıları ise;

Sum: Toplam Count: Adet Min: En Küçük Max: En Yüksek. DiştinctCount: Benzersiz Adet.

Ayrıca Measures ile Dimensions arasındaki ilişkilendirme için ise Measures gruplarından ve verileri yönetmek için de Partition yapısından yararlanılır.

UYGULAMA:

1) Yeni bir tablo eklemek için ilk olarak Solution Explorer kısmından Data Source Views kısmına geçilerek, daha önce oluşturduğumuz nesnenin üzerine iki kez tıklanır

2) Bu tablo ile gerekli ilişkilendirme yapılır. Toptanalis tablosundaki kayıtlar; aşağıdaki gibidir. 3) Bunu Measures yapısına dahil etmek için ilk olarak, daha önce oluşturduğumuz Cubes

kısmındaki nesnemiz seçilir.

4) Cube Structure kısmından Cube isimi üzerinde sağ tuşa basılarak New Measure Group

Page 20: Hayrettin kunuk

seçeneğine tıklanır.

5) Listeden Toptanalis tablosu seçilerek eklenir.

6) Şekildeki gibi yeni grup listeye dahil olur.

7) Proje Deploy yapılır.

8) Brovvser kısmından Reconnect yapılır. 9) İstenilen sütunlar yapıya ilave edilir.

10) Cube Structure kısmından Toptanalisl altındaki Miktar üzerinde sağ tuşa basarak Properties seçeneğine tıklayalım.

11) Format kısmına ###,### ve Name kısmına Toplam AlışMiktarı yazalım. 12) Measures kısmında boş alanda sağ tuşa basarak Grid seçeneğine tıklayalım. 13) AlisFîyatı ve Toplam seçiminin FormatString değerini #,##0 TL olarak değiştirelim.

14) Son olarak başlıkları şekildeki gibi düzenleyelim. 15) Projemizi kaydettikten sonra Deploy edelim.

16) Browser sekmesine geçerek Reconnect yapalım.

17) Son görüntü şekildeki gibi olacaktır.

18) Tabloyu şekildeki gibi düzenleyelim ve kaydedelim. 19) Bir Measure Grup Storage yapılandırması için ilk olarak Properties penceresinden

Automatic MOLAP seçimi yapalım. Varsayılanı MOLAP'dır.

20) Aggregation sekmesine geçelim.

21) Perakendesatis üzerinde sağ tuşa basarak Design Aggregations seçeneğine tıklayalım.

22) Set A!l to Default butonuna basarak Next butonuna basalım. 23) Count butonuna basalım bir süre bekleyelim ve Next butonuna basalım.

24) I click Stop ardından Start butonuna basarak sonucu gözlemleyelim ve Next butonu ile devam edelim.

25) ParakendaAgg adı ile kaydedelim.

26) Listedeki yerini şekildeki gibi alır.

CUBE İÇİNDE SORGULAMALAR:

Analysis Services içindeki multidimensional verilerle çalışmak için kullanılabilecek Multidimensional Expressions(MDX) bir sorgulama dilidir.

MDX birçok yönden SQL yazılımına benzese de SQL dilinin bir uzantısı değildir.

En çok kullanılan ifadesi SELECT olmakla beraber, FROM ve VVHERE ifadeleri de sık sık MDX içinde kullanılmaktadır.

Her MDX sorgusu, özel bir cube context içinde çalışır.

Calculation sekmesi ve Cube tasarım kısmı içinde matematiksel ifadeleri, sayıları ve fonksiyonları MDX sorgularında kullanabiliriz.

Burada oluşturacağımız Named Set yapıları ile MDX sorgularını basitleştirebiliriz.

Page 21: Hayrettin kunuk

UYGULAMA:

1) En son kullandığımız projemizi açarak Deploy edelim.

2) SOL Server Management Studio'yu açarken Analysis Services seçimini yaparak Connect butonuna basalım.

3) ) Databases klasörü altında bulunan projemizi seçerek New Query seçeneğine tıklayalım.

4) Aşağıdaki ifadeyi yazalım. Burada 0 ifadesi yerine Rows ve 1 ifadesi yerine Columns yazılabilirdi. Sütun ve satırları yazmak yerine, direkt olarak soldan da sürükleyebilirdik.

SELECT [Measures].[ToplamAlişMiktarı]On 0,

NonEmpty([Urunlistesi1].[Urunad].Members, [Measures].[ToplamAlişMiktarı]) On 1 FROM [Yuksel3Cube]

5) Execute ettiğimizde sonuç şekildeki gibi olacaktır.

6) Şimdi çeşitli sorguları yazarak, çıktılarını gözlemleyelim. SELECT {[Measures].[ToplamSatışMiktar], [Measures].[ToplamSatışTuatarı]} ON COLUMNS, {[UrunListesi1].[Urunad]} ON ROVVS FROM [Yuksel3Cube]

SELECT NonEmpty([Measures].[ToplamAlışTutarı]) ON 0,NonEmpty([Urunlistesi1].[Urunad].members) on 1 FROM [Yuksel3Cube]

Burada kullanılan NonEmpty ifadesi; boş satırları dikkate almıyor. Members ifadesi ise tüm başlıklarını getiriyor.

SELECT [Urunlistesi1].[Urunad].members ON COLUMNS FROM [Yuksel3Cube] vvhere [Measures].[ToplamSatışMiktar]

SELECT [Urunlistesi1].[Urunad].members ON COLUMNS, [Urunlistesi1].[Urunkod].members ON ROWS FROM [Yuksel3Cube] vvhere [Measures].[ToplamSatışTuatarı]

Yukarıdaki ifade, uygun başlıklarda çok işimize yarar. Çıktısı aşağıdaki gibi olur.

7) Catculated Member oluşturmak için projemize geri dönerek Cube kısmında iken Calculations sekmesine geçelim.

8) Script Organizer kısmında sağ tuşa basarak New Calculated Member seçeneğine

tıklayalım. 9) Name kısmında [Net Miktar] yazalım. 10) Ardından Sol alt köşedeki Metadata kısmından ilk olarak Toplam Alış Miktarını

sürükleyelim. Ardından araya -(eksi) koyarak ToplamSatışMiktar'ını sürükleyelim. 11) Format string kısmından Currency seçimini yapalım. Ardından Non-empty behavior

kısmındaki açılır listeyi açarak ToplamSatışMiktar ve ToplamAlışMiktarı başlıklarını seçerek OK butonuna basalım

12) İkinci bir hesaplamayı şekildeki gibi yapalım. 13) Projemizi kaydederek Deploy yapalım ve Browser sekmesine geçelim. Burada

gerekirse Reconnect yapalım. 14) Gerekli sürüklemeleri yaparak, şekildeki görünümü elde edelim. 15) ) Bu yeni oluşturduğumuz hesaplamaları SQL Server Management Studio içinde

kullanalım ve bunun için yeni bir Query ekranına aşağıdaki ifadeyi yazalım. SELECT

Page 22: Hayrettin kunuk

{[Measures].[ToplamAlişMiktarı],[Measures].[ToplamSatışMiktar], [Measures].[Net Miktar],[Measures].[Satılma Oranı%]} on columns, {[Urunlistesi1].[Urunad].members} on rows from [Yuksel3Cube] Çıktısı, şekildeki gibi olacaktır. 16) Son olarak Named Set tanımlayalım. Bunun için Calculation kısmında sağ tuşa basarak

New Named Set seçeneğine tıklayalım. 17) [Buz Dolap] ismini verdikten sonra sol alt köşeden Urunad altındaki buzdolabı ifadesini

Expression kısmında yollayalım. 18) Kaydedip, Deploy yaptıktan sonra Şekildeki gibi yapılandıralım. Brovvser kısmına

geçelim. 19) Buz Dolap üzerinde sağ tuşa basarak Add to Subcube Areaseçeneğine tıklayalım. 20) Bunun sonucunda görüntü, şekildeki gibi olacaktır.

CUBE ÖZELLEŞTİRME:

Bu son bölümde ise Analysis Services içinde bulunan birkaç teknoljiyi kullanarak Cube yapısını kendi isteğimize göre özelleştirmeyi inceleyeceğiz.

UYGULAMA:

1) Projemizi açarak Cube üzerinde sağ tuşa basıp Öpen seçeneğine tıklayalım.

2) KPIs sekmesine geçerek New KPI seçeneğine tıklayalım. 3) Name kısmına x yazalım ve açılır listeden Urunlistesil seçimi yapalım. 4) Sol alt köşedeki Metadata sekmesini kullanarak Value Expression kısmına ToplamSatışMiktar

ve Goal Expression kısmına ise ToplamAlişMiktarı başlıklarını sürükleyelim.

5) Status indicator kısmından Gauge ikonunu seçip, aşağıdaki ifadeyi yazalım.

Case When

KpiValue("x")/KpiGoal("x")*100>20 Then "Çok Satılmış" VVhen KpiValue("x")/KpiGoal("x")*100>5 And KpiValue("x")/KpiGoal("x")*100<=20 Then "Orta SAtılmış" Else "Az Satılmaış" End

6) Projemizi Deploy edelim.

7) Browser View simgesine tıklayalım.

8) Reconnect simgesine tıklayalım.

9) Ust kısımdan şekildeki seçimi yapalım.

10)Value ve Goal kısmında değerler görünür ve Status kısmında ise belirlediğimiz ifade üzerine gelince görüntülenir. Yeni bir değer seçince alt kısma tıkladığımızda değerlerin değiştiğini görebiliriz.

11)Actions sekmesine geçerek New Drillthrough Action seçeneğine tıklayalım.

12) Şekildeki gibi yapılandıralım.

13) Additional Properties kısmını ise şekildeki gibi düzenleyelim.

14) Projemizi kaydettikten sonra Deploy edelim.

15) Brovvser sekmesine geçerek ilk olarak Reconnect yapalım ve ardından şekildeki gibi yapılandıralım.

16) Herhangi bir hücre üzerinde sağ tuşa bastığımızda Benim Satışlar seçeneğinin eklendiğini

göreceğiz. Buna tıkladığımızda da ayrıntılı bilgilere ulaşacağız.

Page 23: Hayrettin kunuk

17) Perspectives sekmesine geçerek New Perspective seçeneğine tıklayalım.

18) İsmini MiktarPers olarak değiştirdikten sonra tüm kutuları boşaltarak sadece şekildeki kutuları dolduralım.

19)Projemizi kaydettikten sonra Deploy edelim. Brovvser sekmesine geçerek Reconnect simgesine tıklayalım. Daha önceki verileri temizleyelim.

20)Perspective yanındaki açılır listeden oluşturduğumuz MiktarPers'i seçelim.

21) Bunun sonucunda solda; sadece belirlediğimiz başlıkları görürüz. Bunları istersek

alanda kullanabiliriz.

22) Urunlistesil.dim üzerinde sağ tuşa basarak View Designer seçeneğine tıklayalım. 23) Translatıons sekmesine geçerek New Translation sekmesine tıklayalım.

24) Listeden English seçimini yaparak OK butonuna basalım.

25) Ardından şekildeki gibi yapılandıralım. Kaydederek, kapatalım. 26) Özel yapılandırma için ise Translations sekmesine geçerek New Translation seçeneğine

tıklayalım. 27) Gelen listeden English seçimi yaptıktan sonra, şekildeki gibi yapılandıralım.

28) Deploy yaptıktan sonra Brovvser sekmesinde Reconnect olalım. 29) Language kısmından English seçimi yapınca sol taraftaki değişiklikleri göreceğiz. Tekrar

Default seçimi ile orijinal haline dönebiliriz.

DEPLOYING ve SECURİNG:

Buraya kadar defalarca deploy ettik, ancak şimdi bunu daha bilinçli yapmaya çalışalım ve bu konuyu sonlandıralım.

1) Projemizi Deploy edelim. 2) Generate Reiational Schema seçeneğine tıklayalım. 3) OK butonuna basalım 4) Close butonu ile kapatalım. 5) Yeni yapılar şekildeki gibi olacaktır 6) Şimdi Deployment VVizard yardımı ile her yerde kullanacağımız bir script dosyası

oluşturalım. Bunun için ilk olarak Start/ Ali Programs/ Microsoft SQL Server 2012/ Analysis Services/ Deployment Wizardseçeneğine tıklayalım.

7) İlk ekranı Next butonu ile geçtikten sonra projemizin kayıtlı olduğu yere giderek bin

klasörüne girelim ve yukselOLAP.asdatabase dosyasını seçerek Next butonuna basalım. 8) Gelen bilgileri kontrol ettikten sonra 4 kez Next butonuna basalım. 9) Create deployment script seçeneğini işaretledikten sona Next ve Finish butonu ile

bitirelim. 10) Script dosyamız, belirlediğimiz yerde oluşacaktır. 11) Bu script'i istediğimiz bir Analysis Services içinde çalıştırabiliriz. Bunun için Analysis

Services'ı açalım. 12) File menüsünden Öpen/ File seçeneğine tıklayalım 13) Dosyamızı seçelim.

Page 24: Hayrettin kunuk

14) Execute ile çalıştırdığımızda, oluşum gerçekleşecektir. Kullanıcı Hakları:

15) SQL Server içinden Analysis Services üzerinde sağ tuşa basarak Properties seçeneğine tıklayalım.

16) Add butonuna basarak; daha önce bilgisayarımız içinde oluşturduğumuz yukselsql isimli kullanıcıyı ekleyelim.

17) Projemizi açarak Roles üzerinde sağ tuşa basarak New Role seçeneğine tıklayalım. 18) Name kısmını DBRole olarak değiştirelim ve gelen iletişim kutusı Yes butonu ile onaylayalım

19) General sekmesinde Process database ve Read definition seçeneklerini işaretleyelim. 20) Membership sekmesine geçerek Add butonu ile yukselsql isimli kullanıcıyı ekleyelim.

21) Kaydederek kapattıktan sonra, bu sefer ManagerRoIe isimli yeni bir role oluşturalım.

22) Membership kısmından yukselsql isimli kullanıcıyı ekleyelim.

23) Cubes sekmesine geçerek Access seçeneği altından Read seçimini yapalım.

24) Dimensions sekmesinde otomatik olarak Read hakkının olduğuı gözlemleyelim. 25) Celi Data kısmını şekildeki gibi yapılandırarak, ilk kutucuğa şekildeki ifadeyi yazalım. 26)Kaydederek kapatalım. 27)Projemizi Deploy etmek için proje adı üzerinde sağ tuşa basarak Properties seçeneğine

tıklayalım. 28) Deployment kısmına geçerek şekildeki değişiklikleri yapıp, OK butonuna basalım. 29) Data Sources altındaki veri kaynağımıza iki kez tıklayıp, Impersonation Information kısmına

geçerek ilk seçeneği işaretleyelim ve yönetici kullanıcı adı ve şifresini yazarak onaylayalım. 30) Deploy yapalım.

31) Test etmek için yukselsql isimli kullanıcı iie sisteme girelim. Celi Data sekmesine geçelim ve Test Cube security linkine tıklayalım.

32) ToplamAlişMiktarıve ToplamSatışMiktar kısmını ekleyerek sonuçları kısmını

gözlemleyelim.