Excel'de olap küpü nedir? Bir SSAS projesi oluşturma. Analiz nedir ve neden gereklidir?

Ciddi bir işletmenin bilgi sistemleri, kural olarak, verilerin karmaşık analizi, dinamikleri, eğilimleri vb. için tasarlanmış uygulamaları içerir. Buna göre üst yönetim, analiz sonuçlarının ana tüketicileri haline gelir. Bu tür analizlerin nihai olarak karar almayı desteklemesi amaçlanmaktadır. Ve herhangi bir yönetim kararı verebilmek için, genellikle niceliksel olmak üzere gerekli bilgilere sahip olmak gerekir. Bunu yapmak için bu verileri herkesten toplamak gerekir. bilgi sistemiİşletmeleri ortak bir formata getirip analiz ediyoruz. Bu amaçla Veri Ambarları oluşturulur.

Veri ambarı nedir?

Genellikle analitik değere sahip tüm bilgilerin toplandığı yer. Bu tür mağazalara yönelik gereksinimler OLAP'ın klasik tanımına karşılık gelmektedir ve aşağıda açıklanacaktır.

Bazen Depo'nun başka bir hedefi vardır - tüm kurumsal verilerin entegrasyonu, tüm bilgi sistemleri içindeki bilgilerin bütünlüğünü ve uygunluğunu korumak. O. depo yalnızca analitik bilgileri değil, hemen hemen tüm bilgileri biriktirir ve bunu dizinler biçiminde diğer sistemlere geri sağlayabilir.

Tipik bir veri ambarı tipik olarak tipik bir ilişkisel veritabanından farklıdır. Birincisi, düzenli veritabanları kullanıcıların günlük işlerini yapmalarına yardımcı olmak için tasarlanırken, veri ambarları karar verme için tasarlanmıştır. Örneğin, malların satışı ve faturaların düzenlenmesi, işlemlerin gerçekleştirilmesi için tasarlanmış bir veri tabanı kullanılarak gerçekleştirilir ve tedarikçilerle planlama çalışmalarının yapılmasına olanak tanıyan birkaç yıllık satış dinamiklerinin analizi, bir veri ambarı kullanılarak gerçekleştirilir.

İkincisi, geleneksel veritabanları kullanıcılar çalıştıkça sürekli olarak değişirken, veri ambarı nispeten stabildir: içindeki veriler genellikle bir programa göre (örneğin, ihtiyaçlara bağlı olarak haftalık, günlük veya saatlik olarak) güncellenir. İdeal olarak, zenginleştirme süreci, halihazırda depoda bulunan önceki bilgileri değiştirmeden, belirli bir süre boyunca yeni verilerin eklenmesidir.

Üçüncüsü, düzenli veritabanları çoğunlukla depoya ulaşan verilerin kaynağıdır. Ek olarak, depolama şu şekilde yenilenebilir: dış kaynaklarörneğin istatistiksel raporlar.

Depolama tesisi nasıl kurulur?

ETL– temel kavram: Üç aşama:
  • Çıkarma – harici kaynaklardan anlaşılır bir formatta veri çıkarmak;
  • Dönüşüm – kaynak veri yapısının analitik bir sistem oluşturmaya uygun yapılara dönüştürülmesi;
Bir aşama daha ekleyelim - veri temizleme ( Temizlik) – istatistiksel veya uzman yöntemlere dayalı olarak alakasız verilerin filtrelenmesi veya hatalı verilerin düzeltilmesi süreci. Daha sonra “20011 Satışları” gibi raporlar üretmemek için.

Analize geri dönelim.

Analiz nedir ve neden gereklidir?

Analiz, karar vermek amacıyla verilerin incelenmesidir. Analitik sistemlere karar destek sistemleri denir ( KDS).

Burada, DSS ile çalışmak ile basit bir dizi düzenlenmiş ve düzenlenmemiş rapor arasındaki farka dikkat çekmeye değer. DSS'deki analiz neredeyse her zaman etkileşimli ve yinelemelidir. Onlar. analist, analitik sorguları oluşturup ayarlayarak verileri inceler ve yapısı önceden bilinmeyen raporlar alır. Sorgu dilini tartıştığımızda buna aşağıda daha ayrıntılı olarak döneceğiz. MDX.

OLAP

Karar destek sistemleri genellikle kullanıcıya orijinal setten çeşitli örnekler için toplu verileri algılama ve analize uygun bir biçimde (tablolar, grafikler vb.) sağlama araçlarına sahiptir. Kaynak verileri bölümlere ayırmaya yönelik geleneksel yaklaşım, eksenleri nitelikleri içeren ve hücreleri toplu niceliksel verileri içeren bir veya daha fazla çok boyutlu veri setinin (genellikle hiperküp veya metaküp olarak adlandırılır) kaynak verilerden çıkarılmasını içerir. (Bu tür veriler ilişkisel tablolarda da saklanabilir, ancak bu durumda depolamalarının fiziksel uygulamasından değil, verilerin mantıksal organizasyonundan bahsediyoruz.) Her eksen boyunca nitelikler hiyerarşiler şeklinde düzenlenebilir, ayrıntılarının farklı seviyelerini temsil eder. Bu veri modeli sayesinde kullanıcılar karmaşık sorgular formüle edebilir, raporlar oluşturabilir ve verilerin alt kümelerini elde edebilir.

Karmaşık çok boyutlu veri analizi teknolojisine OLAP (Çevrimiçi Analitik İşleme) adı verilir. OLAP, geleneksel veri ambarının önemli bir bileşenidir. OLAP kavramı, 1993 yılında ünlü veritabanı araştırmacısı ve ilişkisel veri modelinin yazarı Edgar Codd tarafından tanımlandı. 1995 yılında, Codd tarafından belirlenen gereksinimlere dayanarak, çok boyutlu analiz uygulamaları için aşağıdaki gereksinimleri içeren FASMI testi (Paylaşılan Çok Boyutlu Bilginin Hızlı Analizi) formüle edildi:

  • Daha az ayrıntılı bir analiz pahasına bile, kullanıcıya analiz sonuçlarının kabul edilebilir bir sürede (genellikle 5 saniyeden fazla olmamak üzere) sağlanması;
  • Herhangi bir mantıksal ve istatistiksel analiz özelliğini gerçekleştirme yeteneği bu başvuru ve son kullanıcının erişebileceği bir biçimde kaydedilmesi;
  • uygun kilitleme mekanizmaları ve yetkili erişim araçları desteğiyle verilere çok kullanıcılı erişim;
  • dahil olmak üzere verilerin çok boyutlu kavramsal temsili tam destek hiyerarşiler ve çoklu hiyerarşiler için (bu, OLAP'ın temel gerekliliklerinden biridir);
  • hacmi ve saklama yeri ne olursa olsun gerekli her türlü bilgiye erişme yeteneği.
OLAP işlevselliğinin uygulanabileceğine dikkat edilmelidir. Farklı yollar ofis uygulamalarındaki en basit veri analiz araçlarından başlayarak sunucu ürünlerine dayalı dağıtılmış analitik sistemlere kadar uzanmaktadır. Onlar. OLAP bir teknoloji değil, ideoloji.

Çeşitli OLAP uygulamalarından bahsetmeden önce mantıksal açıdan küplerin ne olduğuna daha yakından bakalım.

Çok boyutlu kavramlar

OLAP ilkelerini göstermek için Microsoft'un içerdiği Northwind veritabanını kullanacağız. SQL Server ve toptan gıda tedariki yapan bir şirketin ticari faaliyetleri hakkında bilgi depolayan tipik bir veri tabanıdır. Bu tür veriler, tedarikçiler, müşteriler, tedarik edilen malların listesi ve kategorileri, siparişler ve sipariş edilen mallar hakkındaki veriler, şirket çalışanlarının bir listesi hakkında bilgileri içerir.

Küp

Örneğin şirketin siparişlerini içeren Faturalar1 tablosunu ele alalım. Bu tablodaki alanlar aşağıdaki gibi olacaktır:
  • Sipariş tarihi
  • Bir ülke
  • Şehir
  • Müşteri adı
  • Teslimat şirketi
  • Ürün adı
  • Mal miktarı
  • Sipariş fiyatı
Bu görünümden hangi toplu verileri elde edebiliriz? Bunlar genellikle aşağıdaki gibi soruların yanıtlarıdır:
  • Belirli bir ülkeden müşterilerin verdiği siparişlerin toplam değeri nedir?
  • Belirli bir ülkedeki müşterilerin verdiği ve belirli bir şirket tarafından teslim edilen siparişlerin toplam değeri nedir?
  • Belirli bir ülkedeki müşteriler tarafından belirli bir yılda verilen ve belirli bir şirket tarafından teslim edilen siparişlerin toplam değeri nedir?
Tüm bu veriler, gruplandırmalı oldukça açık SQL sorguları kullanılarak bu tablodan elde edilebilir.

Bu sorgunun sonucu her zaman bir sayı sütunu ve onu tanımlayan niteliklerin bir listesi (örneğin, ülke) olacaktır - bu tek boyutlu bir veri kümesidir veya matematik dilinde bir vektördür.

Tüm ülkelerden gelen siparişlerin toplam maliyeti ve bunların teslimat şirketleri arasındaki dağılımı hakkında bilgi almamız gerektiğini hayal edelim - teslimat şirketlerinin sütun başlıklarında, ülkelerin satırda listeleneceği bir sayı tablosu (matris) alacağız. başlıklar ve hücrelerde sipariş miktarı olacaktır. Bu iki boyutlu bir veri dizisidir. Bu veri kümesine pivot tablo adı verilir ( Pivot tablo) veya çapraz tablo.

Aynı verileri yıl bazında da almak istiyorsak, o zaman başka bir değişiklik ortaya çıkacaktır, yani. veri seti üç boyutlu hale gelecektir (koşullu bir 3. derece tensör veya 3 boyutlu bir "küp").

Açıkçası, maksimum boyut sayısı, toplu verilerimizi (sipariş miktarı, ürün sayısı vb.) tanımlayan tüm özelliklerin (Tarih, Ülke, Müşteri vb.) sayısıdır.

Çok boyutluluk kavramına ve onun somutlaşmasına bu şekilde ulaşıyoruz. çok boyutlu küp. Böyle bir tabloya “diyeceğiz” olgu tablosu" Boyutlar veya Küp Eksenleri ( boyutlar) koordinatları, olgu tablosunda mevcut olan bu niteliklerin bireysel değerleriyle ifade edilen niteliklerdir. Onlar. örneğin, siparişlerle ilgili bilgiler 2003'ten 2010'a kadar sistemde tutuluyorsa, bu yılın ekseni karşılık gelen 8 noktadan oluşacaktır. Siparişler üç ülkeden gelirse ülke ekseni 3 puan vb. içerecektir. Ülke dizininde kaç ülkenin yer aldığına bakılmaksızın. Bir eksen üzerindeki noktalara onun “üyeleri” denir ( Üyeler).

Bu durumda, toplanan verilerin kendisi "ölçümler" olarak adlandırılacaktır ( Ölçüm). "Boyutlar" ile karışıklığı önlemek için ikincisine tercihen "eksenler" adı verilir. Ölçüler dizisi başka bir "Tedbirler" eksenini oluşturur ( Miktar). Olgu tablosundaki ölçüler (toplanmış sütunlar) sayısı kadar üyeye (noktaya) sahiptir.

Boyutların veya eksenlerin üyeleri bir veya daha fazla hiyerarşiyle birleştirilebilir ( hiyerarşi). Hiyerarşinin ne olduğunu bir örnekle açıklayalım: emirlerden şehirler ilçelere, ilçeler bölgelere, bir ülkenin bölgelerine, ülkeler kıtalara veya diğer varlıklara birleştirilebilir. Onlar. hiyerarşik bir yapı var - kıta- ülke-bölge-bölge-şehir– 5 seviye ( Seviye). Bir bölge için, veriler o bölgeye dahil olan tüm şehirlere göre toplanır. Tüm şehirleri vb. içeren tüm ilçelerdeki bir bölge için. Neden birden fazla hiyerarşiye ihtiyacımız var? Örneğin, sipariş tarihi ekseninde noktaları (yani günleri) bir hiyerarşi halinde gruplandırmak isteyebiliriz Yıl ay gün veya tarafından Yıl-Hafta-Gün: Her iki durumda da üç seviye vardır. Açıkçası, Hafta ve Ay günleri farklı şekilde gruplandırır. Ayrıca düzey sayısının belirleyici olmadığı ve verilere bağlı olduğu hiyerarşiler de vardır. Örneğin, bilgisayar diskindeki klasörler.

Veri toplama çeşitli standart işlevler kullanılarak gerçekleştirilebilir: toplam, minimum, maksimum, ortalama, sayım.

MDX

Çok boyutlu verilerde sorgulama diline geçelim.
SQL dili başlangıçta programcılar için değil analistler için tasarlanmıştır (ve dolayısıyla doğal dile benzeyen bir sözdizimine sahiptir). Ancak zamanla bu daha da karmaşık hale geldi ve artık çok az analist onu nasıl iyi kullanacağını biliyor (eğer kullanabiliyorsa). Programcılar için bir araç haline geldi. Eski yurttaşımız Mosha (veya Mosha) Posumansky tarafından Microsoft'un vahşi doğasında geliştirildiği söylenen MDX sorgu dilinin de başlangıçta analistlere yönelik olması amaçlanmıştı, ancak kavramları ve sözdizimi (belli belirsiz SQL'i andırıyor ve tamamen boşuna, yani sadece kafa karıştırdığı için), SQL'den bile daha karmaşık. Ancak temellerini anlamak hala kolaydır.

Genel XMLA protokol standardı çerçevesinde standart statüsü almış tek dil olması ve ikinci olarak firmadan Mondrian projesi şeklinde açık kaynak uygulaması bulunması nedeniyle detaylı olarak bakacağız. Pentaho. Diğer OLAP analiz sistemleri (örneğin, Oracle OLAP Option) genellikle SQL sözdiziminin kendi uzantılarını kullanır, ancak MDX desteğini de bildirirler.

Analitik veri kümeleriyle çalışmak yalnızca onları okumak anlamına gelir, yazmak anlamına gelmez. O. MDX'in verileri değiştirmeye yönelik hiçbir cümlesi yoktur, yalnızca bir seçim cümlesi vardır - seçin.

OLAP'ta çok boyutlu küpler yapabilirsiniz dilimler– yani veriler bir veya daha fazla eksene göre filtrelendiğinde veya projeksiyonlar– küp bir veya daha fazla eksen boyunca “çöktüğünde” veriler toplanıyor. Örneğin ülkelerden gelen sipariş miktarlarıyla ilgili ilk örneğimiz küpün Ülke eksenine izdüşümüdür. Bu durumda MDX sorgusu şöyle görünecektir:

...Satırlardaki çocukları seçin
Burada ne var?

Seçme– anahtar kelime sözdizimine yalnızca güzellik için dahil edilmiştir.
eksenin adıdır. MDX'teki tüm özel isimler köşeli parantez içinde yazılmıştır.
hiyerarşinin adıdır. Bizim durumumuzda bu Ülke-Şehir hiyerarşisidir.
– bu, hiyerarşinin ilk düzeyindeki eksen üyesinin adıdır (yani ülke). Hepsi – bu, eksenin tüm üyelerini birleştiren bir meta üyedir. Her eksende böyle bir meta terim var. Örneğin yıl ekseninde “Tüm yıllar” vb. vardır.
Çocuklar bir üye fonksiyonudur. Her üyenin çeşitli işlevleri vardır. Ebeveyn gibi. Düzey, Hiyerarşi, sırasıyla atayı, hiyerarşideki düzeyi ve bu durumda üyenin ait olduğu hiyerarşinin kendisini döndürür. Çocuklar - Bu üyenin bir dizi alt üyesini döndürür. Onlar. bizim durumumuzda ülkeler.
satırlarda– Bu verilerin sonuç tablosunda nasıl düzenleneceğini belirtir. Bu durumda - satırların başlığında. Buradaki olası değerler: sütunlarda, sayfalarda, paragraflarda vb. 0'dan başlayarak indeksle basitçe belirtmek de mümkündür.
itibaren– bu, seçimin yapıldığı küpün bir göstergesidir.

Peki ya tüm ülkelere değil de sadece birkaç spesifik ülkeye ihtiyacımız varsa? Bunu yapmak için, Çocuklar işlevini kullanarak her şeyi seçmek yerine, istekte ihtiyacımız olan ülkeleri açıkça belirtebiliriz.

Şuradaki satırlarda ( ..., ... ) öğesini seçin
Bu durumda küme parantezleri kümenin bildirimidir ( Ayarlamak). Küme bir listedir, üyelerin numaralandırılmasıdır bir eksenden.

Şimdi ikinci örneğimiz için bir sorgu yazalım - teslimatçı bağlamında çıktı:

...Satırlardaki çocuklar öğesini seçin. Sütunlardaki üyeler
Buraya eklendi:
– eksen;
.Üyeler– içindeki tüm terimleri döndüren bir eksen işlevi. Hiyerarşi ve düzey aynı işleve sahiptir. Çünkü Bu eksende yalnızca bir hiyerarşi vardır, bu durumda onun göstergesi atlanabilir çünkü seviye ve hiyerarşi de aynıysa, tüm üyeleri tek bir listede görüntüleyebilirsiniz.

Yıl bazında detaylı üçüncü örneğimizle bunu nasıl devam ettirebileceğimizin zaten belli olduğunu düşünüyorum. Ancak yıllara göre detaya inmesek, filtrelesek iyi olur - yani. bir dilim oluştur Bunu yapmak için aşağıdaki sorguyu yazacağız:

Seçin ..Satırlardaki çocuklar .Sütunlardaki üyeler (.)
Buradaki filtreleme nerede?

Neresi- anahtar kelime
hiyerarşinin bir üyesidir . Tüm terimleri içeren tam ad şu şekilde olacaktır: .. , ama çünkü Bu üyenin adı eksen içerisinde benzersiz olduğundan ismin tüm ara açıklamaları atlanabilir.

Tarih terimi neden parantez içinde? Parantezler bir demettir ( demet). Bir demet bir veya daha fazla koordinatın yanında yer alır çeşitli eksenler Örneğin, iki ekseni aynı anda filtrelemek için parantez içinde iki terimi listeliyoruz: farklı virgülle ayrılmış ölçümler. Yani, demet küpün bir "dilimini" (veya terminoloji daha yakınsa "filtrelemeyi") tanımlar.

Tuple, filtrelemeden daha fazlası için kullanılır. Tuple'lar ayrıca satırların/sütunların/sayfaların vb. başlıklarında da bulunabilir.

Bu, örneğin üç boyutlu bir sorgunun sonucunu iki boyutlu bir tabloda görüntülemek için gereklidir.

Satırlarda crossjoin(...Children, ..Children) öğesini seçin. Sütunlarda üyeler (.)
Çapraz birleştirme bir fonksiyondur. İki kümenin Kartezyen çarpımından kaynaklanan bir dizi demet döndürür (evet, bir küme demetler içerebilir!). Onlar. ortaya çıkan set, Ülke ve Yılların tüm olası kombinasyonlarını içerecektir. Dolayısıyla satır başlıkları bir çift değer içerecektir: Ülke-Yıl.

Soru şu: Hangi sayısal özelliklerin gösterilmesi gerektiğine dair gösterge nerede? Bu durumda, bu küp için tanımlanan varsayılan ölçü kullanılır; Sipariş fiyatı. Başka bir ölçü türetmek istersek ölçülerin bir boyutun üyeleri olduğunu hatırlarız. Miktar. Ve diğer eksenlerle tamamen aynı şekilde hareket ediyoruz. Onlar. Bir sorguyu ölçülerden birine göre filtrelemek hücrelerde tam olarak bu ölçüyü gösterecektir.

Soru: Nerede filtreleme ile eksen elemanlarını satırlarda belirterek filtreleme arasındaki fark nedir? Cevap: pratikte hiçbir şey. Basitçe, başlıkların oluşumuna katılmayan eksenler için bir dilimin belirtildiği yerde. Onlar. aynı eksen yapamamak aynı anda orada olmak satırlarda, ve Neresi.

Hesaplanan Üyeler

Daha fazlası için karmaşık sorgular Hesaplanan üyeleri bildirebilirsiniz. Hem nitelik hem de ölçü eksenlerinin üyeleri. Onlar. Örneğin, her ülkenin toplam sipariş miktarına katkısını görüntüleyecek yeni bir ölçü beyan edebilirsiniz:

Üye ile. '.CurrentMember / ..' olarak, FORMAT_STRING='0.00%' seçeneğini seçin ...Satırlardaki çocuklar nereden .
Hesaplama, tüm koordinat özelliklerinin bilindiği bir hücre bağlamında gerçekleşir. Karşılık gelen koordinatlar (üyeler), küp eksenlerinin her biri için CurrentMember işleviyle elde edilebilir. Burada ifadenin şunu anlamamız gerekir: .MevcutÜye/..' bir terimi diğerine bölmez, ancak böler ilgili toplu veriler küp dilimleri! Onlar. mevcut bölgeye ait dilim tüm bölgelere ait bir dilime bölünecektir; tüm siparişlerin toplam değeri. FORMAT_STRING – değerlerin görüntülenme biçimini ayarlar; %.

Hesaplanmış bir üyenin başka bir örneği, ancak yıl ekseninde:

Üye ile. gibi '. - .'
Açıkçası, rapor bir birim içermeyecek, ancak karşılık gelen bölümlerin farkını içerecektir; bu iki yıldaki sipariş miktarındaki fark.

ROLAP'ta görüntüle

OLAP sistemleri şu veya bu şekilde bir tür veri depolama ve organizasyon sistemine dayanmaktadır. Ne zaman Hakkında konuşuyoruz RDBMS hakkında, sonra ROLAP hakkında konuşuyorlar (MOLAP ve HOLAP'ı bireysel çalışma). ROLAP – OLAP ilişkisel bir veritabanında, yani. sıradan iki boyutlu tablolar şeklinde açıklanmıştır. ROLAP sistemleri MDX sorgularını SQL'e dönüştürür. Veritabanları için temel bilgi işlem sorunu hızlı toplamadır. Daha hızlı bir araya getirmek için veritabanındaki veriler genellikle yüksek oranda normallikten arındırılır; kaplanan disk alanı ve veritabanı bütünlüğünün izlenmesi açısından çok verimli bir şekilde depolanmaz. Ayrıca kısmen toplanmış verileri depolayan yardımcı tablolar da içerirler. Bu nedenle, OLAP için, genellikle orijinal işlem veritabanlarının yapısını dizinler açısından yalnızca kısmen kopyalayan ayrı bir veritabanı şeması oluşturulur.

Navigasyon

Birçok OLAP sistemi, önceden oluşturulmuş bir sorgu (ve buna göre seçilen veriler) için etkileşimli gezinme araçları sunar. Bu durumda "delme" veya "delme" adı verilen yöntem kullanılır. Rusçaya daha uygun bir çeviri “derinleşme” kelimesi olacaktır. Ama bu bir zevk meselesi, bazı ortamlarda “sondaj” kelimesi takılıp kalıyor.

Delmek– bu, başka bir eksen (veya birkaç eksen) boyunca filtrelemeyle birlikte veri toplama derecesinin azaltılması yoluyla rapor detaylandırmasıdır. Birkaç tür delme vardır:

  • derinlemesine– seçilen filtreleme üyesinin hiyerarşisi içindeki alt öğelere ilişkin ayrıntılı bilgilerin görüntülenmesiyle raporun kaynak eksenlerinden biri boyunca filtreleme. Örneğin, siparişlerin Ülkelere ve Yıllara göre dağılımına ilişkin bir rapor varsa, 2007 yılına tıkladığınızda aynı Ülkelere ve 2007 yılının aylarına göre ayrılmış bir rapor görüntülenecektir.
  • matkap tarafı– seçilen bir veya daha fazla eksen altında filtreleme ve bir veya daha fazla eksen boyunca toplamayı kaldırma. Örneğin, siparişlerin Ülkelere ve Yıllara göre dağılımına ilişkin bir rapor varsa, 2007 yılına tıkladığınızda, örneğin 2007'ye göre filtrelemeyle Ülkeler ve Tedarikçilere göre ayrılmış başka bir rapor görüntülenir.
  • sondaj çukuru– tüm eksenler boyunca toplamanın kaldırılması ve bunlar boyunca eşzamanlı filtreleme – rapordaki değerin elde edildiği olgu tablosundan kaynak verileri görmenize olanak tanır. Onlar. Bir hücre değerine tıkladığınızda bu tutarı veren tüm siparişleri içeren bir rapor görüntülenir. Küpün “derinliklerine” bir tür anlık delme.
Bu kadar. Artık kendinizi İş Zekası ve OLAP konularına adamaya karar verirseniz ciddi literatür okumaya başlamanın zamanı geldi.

Etiketler: Etiket ekleyin

Uzun süredir Habr'da ikamet ediyorum, ancak konu çok ilginç olmasına ve her geçen gün daha alakalı hale gelmesine rağmen çok boyutlu küpler, OLAP ve MDX konusunda hiç makale okumadım.
Veritabanlarının, elektronik muhasebenin ve çevrimiçi sistemlerin kısa sürede geliştirildiği bu dönemde çok fazla verinin biriktiği bir sır değil. Artık arşivlerin tam bir analizi ve belki de gelecekte benzer modellerin durumlarını tahmin etme girişimi de ilgi çekicidir.
Öte yandan, büyük şirketler birkaç yıl, ay ve hatta haftalar boyunca bile o kadar büyük miktarda veri biriktirebiliyor ki, temel analizleri bile olağanüstü yaklaşımlar ve sıkı donanım gereksinimleri gerektiriyor. Bunlar bankacılık işlem işleme sistemleri, döviz acenteleri, telefon operatörleri vesaire.
Herkesin veritabanı tasarımına yönelik 2 farklı yaklaşımın farkında olduğunu düşünüyorum: OLTP ve OLAP. İlk yaklaşım (Çevrimiçi İşlem İşleme - gerçek zamanlı işlem işleme), gerçek zamanlı olarak verimli veri toplama için tasarlanırken, ikincisi (Çevrimiçi Analitik İşleme - gerçek zamanlı analitik işleme), özellikle verileri en verimli şekilde örneklemeyi ve işlemeyi amaçlamaktadır. yol.

Modern OLAP küplerinin temel yeteneklerine ve hangi sorunları çözdüklerine bakalım (Analiz Hizmetleri 2005/2008 esas alınmıştır):

  • hızlı erişim verilere
  • ön toplama
  • hiyerarşi
  • zamanla çalışmak
  • çok boyutlu veri erişim dili
  • KPI (Temel Performans Göstergeleri)
  • tarih madenciliği
  • çok düzeyli önbelleğe alma
  • çok dilli destek
Öyleyse OLAP küplerinin yeteneklerine biraz daha detaylı bakalım.

Olasılıklar hakkında biraz daha

Verilere hızlı erişim
Aslında dizinin boyutu ne olursa olsun verilere hızlı erişim OLAP sistemlerinin temelidir. Ana odak noktası bu olduğundan, bir veri ambarı genellikle ilişkisel veritabanlarından farklı ilkeler üzerine kuruludur.
Burada, basit verileri getirme süresi bir saniyenin kesirleri ile ölçülür ve birkaç saniyeyi aşan bir sorgu büyük olasılıkla optimizasyon gerektirir.

Ön toplama
Mevcut verileri hızlı bir şekilde almanın yanı sıra, "kullanılması en muhtemel" değerlerin önceden toplanması olanağını da sağlar. Örneğin, belirli bir ürünün günlük satış kayıtlarına sahipsek sistem Belki Aylık ve üç aylık satış tutarlarını da önceden toplayabiliriz; bu, aylık veya üç aylık veri talep ettiğimizde sistemin bize sonucu anında vereceği anlamına gelir. Ön-toplama neden her zaman gerçekleşmiyor? Çünkü teorik olarak mümkün olan mal/zaman/vb. kombinasyonları var. Çok büyük bir sayı olabilir; bu, toplamanın hangi öğeler için oluşturulacağı ve hangileri için oluşturulmayacağı konusunda net kurallara sahip olmanız gerektiği anlamına gelir. Genel olarak bu kuralların dikkate alınması ve toplamaların gerçek tasarımı konusu oldukça kapsamlıdır ve başlı başına bir makaleyi hak etmektedir.

Hiyerarşiler
Verileri analiz ederken ve nihai raporları oluştururken ayların günlerden oluştuğunu, kendilerinin mahalleler oluşturduğunu, şehirlerin bölgelere veya ülkelere dahil olduğu gerçeğinin dikkate alınması gerektiği doğaldır. . İyi haber şu ki OLAP küpleri Başlangıçta verileri hiyerarşiler ve aynı varlığın diğer parametreleriyle ilişkiler açısından değerlendirirler, dolayısıyla küplerde hiyerarşiler oluşturmak ve kullanmak çok basit bir konudur.

Zamanla çalışmak
OLAP sistemlerinde veri analizi ağırlıklı olarak zaman alanlarında gerçekleştiği için zamana özel bir önem verilmektedir, yani burada zamanımızın olduğu sistem için basitçe tanımlayarak gelecekte Yıl Başından Bugüne, Ay Başından Tarih gibi fonksiyonları rahatlıkla kullanabilirsiniz. (yılın/ayın başlangıcından güncel tarihe kadar olan süre), Paralel Dönem (aynı gün veya ayda, ancak geçen yıl) vb.

Çok Boyutlu Veri Erişim Dili
MDX(Çok Boyutlu İfadeler) - çok boyutlu veri yapılarına basit ve etkili erişim için bir sorgulama dili. Ve bu her şeyi açıklıyor; aşağıda birkaç örnek olacak.

Temel Performans Göstergeleri (KPI)
Anahtar Performans Göstergeleri bir kuruluşun stratejik hedeflere ulaşma başarısını belirlemesine yardımcı olan finansal ve finansal olmayan bir ölçüm sistemidir. Anahtar performans göstergeleri OLAP sistemlerinde oldukça basit bir şekilde tanımlanabilir ve raporlarda kullanılabilir.

Madencilik tarihi
Veri madenciliği(Veri Madenciliği) – esasen, büyük veri kümelerindeki değişkenler arasındaki gizli kalıpları veya ilişkileri belirlemek.
İngilizce “Veri Madenciliği” teriminin Rusçaya net bir çevirisi yoktur (veri madenciliği, veri madenciliği, bilgi madenciliği, veri/bilgi çıkarma), bu nedenle çoğu durumda orijinalinde kullanılır. En başarılı dolaylı çeviri “veri madenciliği” (DMA) terimidir. Ancak bu, dikkate alınması gereken ayrı ve daha az ilginç olmayan bir konudur.

Çok düzeyli önbelleğe alma
Aslında, en yüksek veri erişimi hızını sağlamak için, zorlu veri yapıları ve önceden toplamalara ek olarak OLAP sistemleri, çok düzeyli önbelleğe almayı destekler. Basit sorguların önbelleğe alınmasının yanı sıra, mağazadan okunan veri parçaları, birleştirilmiş değerler ve hesaplanan değerler de önbelleğe alınır. Bu nedenle, bir OLAP küpüyle ne kadar uzun süre çalışırsanız, aslında o kadar hızlı çalışmaya başlar. Ayrıca, OLAP sistemini belirli raporlar, sorgular veya bunların tümü ile çalışmaya hazırlayan bir işlem olan "önbelleği ısıtma" kavramı da vardır.

Çok dilli destek
Evet evet evet. Analysis Services 2005/2008 (Enterprise Edition'a rağmen) en azından yerel olarak çok dilliliği destekler. Verilerinizin dize parametrelerinin çevirisini sağlamanız yeterlidir; dilini belirten müşteri yerelleştirilmiş verileri alacaktır.

Çok boyutlu küpler

Peki bu çok boyutlu küpler tam olarak nedir?
Eksenleri Zaman, Ürünler ve Müşteriler olan 3 boyutlu bir uzay hayal edelim.
Böyle bir alandaki bir nokta, alıcılardan birinin belirli bir ayda belirli bir ürünü satın aldığını gösterecektir.

Aslında düzlem (veya tüm bu noktaların kümesi) küp olacak ve buna göre Zaman, Ürünler ve Müşteriler onun boyutları olacaktır.
Dört boyutlu veya daha fazla bir küp hayal etmek (ve çizmek) biraz daha zordur, ancak özü değişmez ve en önemlisi OLAP sistemleri için kaç boyutta (makul sınırlar dahilinde) çalışacağınız hiç önemli değildir. elbette sınırlar).

Biraz MDX

Peki, MDX'in güzelliği nedir? Büyük olasılıkla verileri nasıl seçmek istediğimizi değil, açıklamamız gerekiyor? Tam olarak ne istiyoruz.
Örneğin,
SEÇME
( . ) SÜTUNLARDA,
( ., . ) SATIRLARDA
İTİBAREN
NEREDE (., .)

Bu da Mozambik'te haziran ve temmuz aylarında satılan iPhone sayısını istediğim anlamına geliyor.
Aynı zamanda tarif ediyorum Hangi istediğim veri bu ve Nasıl Bunları raporda görmek istiyorum.
Çok güzel, değil mi?

İşte biraz daha karmaşık:

ÜYE İLE Ortalama Harcama AS
. / .
SEÇME
( Ortalama Harcama ) SÜTUNLARDA,
( .., .. ) SATIRLARDA
İTİBAREN
NEREDE (.)

* Bu kaynak kodu Kaynak Kodu İşaretleyici ile vurgulanmıştır.

Hatta ilk önce “ortalama satın alma büyüklüğünü” hesaplamanın formülünü belirliyoruz ve Apple mağazasına bir ziyarette kimin (hangi cinsiyetin) daha fazla para harcadığını karşılaştırmaya çalışıyoruz.

Dilin kendisi hem incelenmesi hem de kullanılması son derece ilginçtir ve belki de birçok tartışmayı hak etmektedir.

Çözüm

Aslında bu makale temel kavramların bile çok azını kapsıyor; ben buna "meze" diyebilirim - Habra topluluğunun bu konuya ilgisini çekmek ve konuyu daha da geliştirmek için bir fırsat. Kalkınmaya gelince, burada sürülmemiş devasa bir alan var ve tüm sorularınızı yanıtlamaktan mutluluk duyacağım.

Not: Bu, OLAP hakkındaki ilk mesajım ve Habré hakkındaki ilk yayınımdır; yapıcı geribildirim için çok minnettar olurum.
Güncelleme: SQL'e aktardım, yeni blog oluşturmama izin verir vermez OLAP'a aktaracağım.

Etiketler: Etiket ekleyin

Bu çalışmanın bir parçası olarak aşağıdaki konular dikkate alınacaktır:

  • OLAP küpleri nedir?
  • Ölçüler, boyutlar, hiyerarşiler nelerdir?
  • OLAP küpleri üzerinde ne tür işlemler gerçekleştirilebilir?
OLAP küpü kavramı

OLAP'ın ana varsayımı veri sunumunda çok boyutluluktur. OLAP terminolojisinde küp veya hiperküp kavramı, çok boyutlu ayrık bir veri alanını tanımlamak için kullanılır.

Küp kullanıcı-analistin bilgileri sorgulayabileceği çok boyutlu bir veri yapısıdır. Küpler gerçeklerden ve boyutlardan oluşturulur.

Veri- şirketteki analize tabi tutulacak nesneler ve olaylar hakkındaki verilerdir. Aynı türden olgular ölçüleri oluşturur. Ölçü, küp hücresindeki değerin türüdür.

Ölçümler- bunlar gerçeklerin analiz edildiği veri unsurlarıdır. Bu tür öğelerin bir koleksiyonu bir boyut özelliği oluşturur (örneğin, haftanın günleri bir zaman boyutu özelliği oluşturabilir). Ticari işletmelere yönelik iş analizi görevlerinde boyutlar genellikle “zaman”, “satışlar”, “ürünler”, “müşteriler”, “çalışanlar”, “coğrafi konum” gibi kategorileri içerir. Ölçümler çoğunlukla hiyerarşik yapılar Bunlar, kullanıcının gerçek verileri analiz edebileceği mantıksal kategorilerdir. Her hiyerarşinin bir veya daha fazla düzeyi olabilir. Dolayısıyla “coğrafi konum” boyutunun hiyerarşisi “ülke - bölge - şehir” düzeylerini içerebilir. Zaman hiyerarşisinde, örneğin aşağıdaki düzey sırasını ayırt edebiliriz: Bir boyutun birden fazla hiyerarşisi olabilir (bir boyutun her hiyerarşisi, boyut tablosunun aynı anahtar özelliğine sahip olmalıdır).

Bir küp, bir veya daha fazla olgu tablosundan alınan gerçek verileri içerebilir ve çoğunlukla birden çok boyut içerir. Herhangi bir küpün genellikle analiz için belirli bir odağı vardır.

Şekil 1, belirli bir şirketin petrol ürünlerinin satışını bölgelere göre analiz etmek için tasarlanmış bir küp örneğini göstermektedir. Bu küpün üç boyutu (zaman, ürün ve bölge) ve bir ölçüsü (parasal terimlerle ifade edilen satış hacmi) vardır. Ölçü değerleri küpün ilgili hücrelerinde saklanır. Her hücre, tuple adı verilen, her boyutun bir dizi üyesi tarafından benzersiz bir şekilde tanımlanır. Örneğin, küpün sol alt köşesinde bulunan hücre (98399 $ değerini içerir), tuple tarafından belirtilir [Temmuz 2005, Uzak Doğu, Dizel]. Burada 98.399 $'lık değer, Temmuz 2005'te Uzak Doğu'daki dizel satış hacmini (parasal olarak) göstermektedir.

Bazı hücrelerin herhangi bir değer içermediğini de belirtmek gerekir: Bu hücreler boştur çünkü olgu tablosu onlar için veri içermemektedir.

Pirinç. 1.Çeşitli bölgelerde petrol ürünlerinin satışına ilişkin bilgilerin yer aldığı küp

Bu tür küpler oluşturmanın nihai amacı, gerekli bilgileri gerçek verilerden çıkaran sorguların işlem süresini en aza indirmektir. Bu görevi gerçekleştirmek için küpler genellikle önceden hesaplanmış toplamları içerir. toplamalar(toplamalar). Onlar. küp, gerçek olandan daha büyük bir veri alanını kapsıyor; içinde mantıksal, hesaplanmış noktalar var. Toplama işlevleri, mantıksal uzaydaki noktaların değerlerini gerçek değerlere göre hesaplamanıza olanak tanır. En basit toplama işlevleri SUM, MAX, MIN, COUNT'tur. Yani, örneğin, örnekte verilen küp için MAX fonksiyonunu kullanarak, Uzak Doğu'da dizel satışlarında zirvenin ne zaman gerçekleştiğini vb. belirleyebilirsiniz.

Çok boyutlu küplerin bir diğer belirgin özelliği de orijini belirlemenin zorluğudur. Örneğin, Ürün veya Bölgeler boyutu için 0 noktasını nasıl belirlersiniz? Bu problemin çözümü, boyutun tüm unsurlarını birleştiren özel bir niteliğin tanıtılmasıdır. Bu özellik (otomatik olarak oluşturulur) yalnızca tek bir öğe içerir - Tümü. Toplama gibi basit toplama fonksiyonları için Tümü öğesi, belirli bir boyutun gerçek uzayındaki tüm öğelerin değerlerinin toplamına eşdeğerdir.

Çok boyutlu bir veri modelindeki önemli bir kavram, alt uzay veya alt küptür. Bir alt küp, küpün içindeki çok boyutlu bir şekil biçimindeki küpün tüm alanının bir parçasıdır. Bir küpün çok boyutlu uzayı ayrık ve sınırlı olduğundan, alt küp de ayrık ve sınırlıdır.

OLAP küpleri üzerindeki işlemler

OLAP küpünde aşağıdaki işlemler gerçekleştirilebilir:

  • dilim;
  • rotasyon;
  • konsolidasyon;
  • detaylandırma.
Dilim(Şekil 2) bir alt küpün özel bir durumudur. Bu, bu alt kümeye dahil olmayan bir veya daha fazla boyut öğesinin tek bir değerine karşılık gelen çok boyutlu bir veri dizisinin bir alt kümesini oluşturmaya yönelik bir prosedürdür. Örneğin, petrol ürünleri satışlarının zaman içinde yalnızca belirli bir bölgede, yani Urallarda nasıl ilerlediğini öğrenmek için, "Ürünler" boyutunu "Ural" öğesinde sabitlemeniz ve karşılık gelen alt kümeyi (alt küp) küp.
  • Pirinç. 2. OLAP küp dilimi

    Döndürme(Şekil 3) - Bir raporda veya görüntülenen sayfada sunulan ölçümlerin konumunu değiştirme işlemi. Örneğin bir döndürme işlemi, bir tablonun satır ve sütunlarının yeniden düzenlenmesini içerebilir. Ek olarak, bir veri küpünün döndürülmesi tablo dışı boyutları görüntülenen sayfada mevcut olan boyutlara taşır ve bunun tersi de geçerlidir.

    Genel olarak her uzman bugün OLAP'ın ne olduğunu biliyor. En azından “OLAP” ve “çok boyutlu veri” kavramları kafamızda sıkı sıkıya bağlantılı. Yine de bu konunun yeniden gündeme getirilmesinin okuyucuların çoğunluğu tarafından onaylanacağını umuyorum, çünkü bir şey fikrinin zamanla güncelliğini kaybetmemesi için periyodik olarak iletişim kurmanız gerekiyor. Zeki insanlar veya iyi bir yayındaki makaleleri okuyun...

    Veri ambarları (OLAP'ın işletmenin bilgi yapısındaki yeri)

    "OLAP" terimi, "veri ambarı" (Veri Ambarı) terimiyle ayrılmaz bir şekilde bağlantılıdır.

    Veri ambarcılığının “kurucu babası” Bill Inmon tarafından formüle edilen tanım şu şekildedir: “Veri ambarı, yönetimin karar vermesini desteklemek için alana özgü, zamana bağlı, değişmez bir veri topluluğudur.”

    Depodaki veriler, iş süreçlerini otomatikleştirmek için tasarlanmış operasyonel sistemlerden (OLTP sistemleri) gelir. Ayrıca depo, istatistiksel raporlar gibi harici kaynaklardan da doldurulabilir.

    Neden veri ambarları oluşturmalısınız? Sonuçta, veritabanlarında veya işletim sistemi dosyalarında zaten "yaşayan" açıkça gereksiz bilgiler içeriyorlar? Cevap kısa olabilir: İşletim sistemlerinden gelen verileri doğrudan analiz etmek imkansızdır veya çok zordur. Bunun nedeni, verilerin parçalanması, farklı DBMS formatlarında ve farklı "köşelerde" depolanması gibi çeşitli nedenlerden kaynaklanmaktadır. Şirket ağı. Ancak bir kuruluş tüm verilerini merkezi bir veritabanı sunucusunda saklasa bile (ki bu son derece nadirdir), bir analist bunların karmaşık, bazen kafa karıştırıcı yapılarını neredeyse kesinlikle anlayamayacaktır. Yazarın, aç analistleri operasyonel sistemlerden gelen "ham" verilerle "beslemeye" çalışma konusunda oldukça üzücü bir deneyimi var - bunun "onlar için çok fazla" olduğu ortaya çıktı.

    Dolayısıyla veri deposunun amacı, analiz için “hammaddeleri” tek bir yerde ve basit, anlaşılır bir yapıda sağlamaktır. Ralph Kimball, "Veri Ambarı Araç Seti" kitabının önsözünde, kitabın tamamını okuduktan sonra okuyucu yalnızca tek bir şeyi anlarsa, yani depo yapısının basit olması gerektiğini anlarsa, yazarın kendi fikrini dikkate alacağını yazıyor. görev tamamlandı.

    Ayrı bir havuzun ortaya çıkmasını haklı çıkaran başka bir neden daha var: karmaşık analitik sorgular operasyonel bilgi yavaşla mevcut çalışmaşirketler, tabloları uzun süre engelliyor ve sunucu kaynaklarına el koyuyor.

    Benim düşünceme göre, bir depo mutlaka devasa bir veri birikimi anlamına gelmez - asıl önemli olan, analiz için uygun olmasıdır. Genel olarak konuşursak, küçük depolama tesisleri için ayrı bir terim vardır - Data Mart'lar (veri kioskları), ancak Rusya'daki uygulamamızda bunu pek duymazsınız.

    OLAP - kullanışlı bir analiz aracı

    Merkezileşme ve uygun yapılanma bir analistin ihtiyaç duyduğu tek şey değildir. Bilgileri görüntülemek ve görselleştirmek için hâlâ bir araca ihtiyacı var. Geleneksel raporlar, tek bir veri havuzu üzerine oluşturulmuş olanlar bile, tek bir şeyden yoksundur: esneklik. Verilerin istenen görünümünü elde etmek için "bükülemez", "genişletilemez" veya "daraltılamaz". Tabii ki, bir programcıyı arayabilirsiniz (eğer gelmek isterse) ve o (eğer meşgul değilse) yeterince hızlı bir şekilde yeni bir rapor hazırlayacaktır - mesela bir saat içinde (bunu yazıyorum ve buna inanmıyorum) bu benim için - hayatta bu kadar hızlı olmuyor; hadi ona üç saat verelim) . Bir analistin günde en fazla iki fikri test edebileceği ortaya çıktı. Ve o (eğer iyi bir analist ise) saat başına buna benzer birkaç fikir ortaya çıkarabilir. Analist verinin "dilimleri" ve "bölümleri" arttıkça, daha fazla fikre sahip olur ve bu da doğrulama için giderek daha fazla "dilim" gerektirir. Keşke verileri basit ve rahat bir şekilde genişletmesine ve daraltmasına olanak tanıyan bir araca sahip olsaydı! OLAP böyle bir araç görevi görür.

    OLAP bir veri ambarının gerekli bir özelliği olmasa da, ambarda biriken bilgileri analiz etmek için giderek daha fazla kullanılıyor.

    Tipik bir depoda bulunan bileşenler Şekil 2'de gösterilmektedir. 1.

    Pirinç. 1. Veri ambarı yapısı

    Operasyonel veriler çeşitli kaynaklardan toplanır, temizlenir, entegre edilir ve ilişkisel bir depoda saklanır. Üstelik çeşitli raporlama araçlarını kullanarak analize hazır durumdalar. Daha sonra veriler (tamamen veya kısmen) OLAP analizi için hazırlanır. Özel bir OLAP veritabanına yüklenebilir veya ilişkisel depolamada saklanabilirler. En önemli unsuru meta verilerdir, yani verilerin yapısı, yerleşimi ve dönüşümü hakkındaki bilgiler. Onlar sayesinde çeşitli depolama bileşenlerinin etkili etkileşimi sağlanır.

    Özetlemek gerekirse OLAP'ı, bir depoda biriken verilerin çok boyutlu analizine yönelik bir dizi araç olarak tanımlayabiliriz. Teorik olarak OLAP araçları doğrudan operasyonel verilere veya bunların tam kopyalarına (operasyonel kullanıcılara müdahale etmemek için) uygulanabilir. Ancak bu nedenle, yukarıda açıklanan komisyona adım atma, yani analiz için doğrudan uygun olmayan operasyonel verileri analiz etmeye başlama riskiyle karşı karşıyayız.

    OLAP'ın tanımı ve temel kavramları

    Öncelikle şifreyi çözelim: OLAP, Çevrimiçi Analitik İşleme yani operasyonel veri analizidir. OLAP'ın 12 tanımlayıcı ilkesi, 1993 yılında ilişkisel veri tabanlarının "mucidi" E. F. Codd tarafından formüle edildi. Daha sonra tanımı, OLAP uygulamasının paylaşılan çok boyutlu bilgileri hızlı bir şekilde analiz etme yeteneği sağlamasını gerektiren FASMI testi olarak yeniden çalışıldı ().

    FASMI testi

    Hızlı(Hızlı) - Analiz, bilginin tüm yönleriyle aynı hızda gerçekleştirilmelidir. Kabul edilebilir yanıt süresi 5 saniye veya daha azdır.

    Analiz(Analiz) - Uygulama geliştiricisi tarafından önceden tanımlanmış veya kullanıcı tarafından serbestçe tanımlanmış temel sayısal ve istatistiksel analiz türlerinin gerçekleştirilmesi mümkün olmalıdır.

    Paylaşıldı(Paylaşılan) - birçok kullanıcının verilere erişimi olması gerekirken, gizli bilgilere erişimin kontrol edilmesi gerekir.

    Çok boyutlu(Çok boyutlu) OLAP'ın temel, en temel özelliğidir.

    Bilgi(Bilgi) - uygulama, hacmine ve depolama konumuna bakılmaksızın gerekli her türlü bilgiye erişebilmelidir.

    OLAP = Çok Boyutlu Görünüm = Küp

    OLAP, iş bilgilerine erişme, bunları görüntüleme ve analiz etme konusunda kullanışlı ve hızlı araçlar sağlar. Kullanıcı, bunları çok boyutlu küpler (Küpler) biçiminde düzenleyen doğal, sezgisel bir veri modeli alır. Çok boyutlu koordinat sisteminin eksenleri, analiz edilen iş sürecinin ana özellikleridir. Örneğin satış için ürün, bölge, alıcı türü olabilir. Boyutlardan biri olarak zaman kullanılır. Eksenlerin - boyutların (Boyutlar) - kesişme noktalarında, süreci - ölçümleri (Ölçüler) niceliksel olarak karakterize eden veriler vardır. Bu, adet bazında veya parasal olarak satış hacimleri, stok bakiyeleri, maliyetler vb. olabilir. Bilgiyi analiz eden kullanıcı, küpü buna göre "kesebilir". farklı güzergahlar, özet (örneğin yıla göre) veya tam tersine ayrıntılı (haftaya göre) bilgi alır ve analiz sürecinde aklına gelen diğer manipülasyonları gerçekleştirir.

    Şekil 2'de gösterilen üç boyutlu küpteki ölçüler gibi. 2'de satış tutarları, boyut olarak ise zaman, ürün ve mağaza kullanılmıştır. Ölçümler belirli gruplandırma seviyelerinde sunulur: ürünler kategoriye göre gruplandırılır, mağazalar ülkeye göre ve işlem süreleri aya göre gruplandırılır. Biraz sonra gruplama (hiyerarşi) düzeylerine daha ayrıntılı olarak bakacağız.


    Pirinç. 2. Küp örneği

    Bir küpü "kesmek"

    Üç boyutlu bir küpün bile bilgisayar ekranında görüntülenmesi zordur, böylece ilgilenilen ölçülerin değerleri görünür olur. Üçten fazla boyutu olan küpler hakkında ne söyleyebiliriz? Bir küpte saklanan verileri görselleştirmek için, kural olarak, karmaşık hiyerarşik satır ve sütun başlıklarına sahip tanıdık iki boyutlu, yani tablo şeklinde görünümler kullanılır.

    Bir küpün iki boyutlu temsili, onu bir veya daha fazla eksen (boyut) boyunca "keserek" elde edilebilir: iki hariç tüm boyutların değerlerini sabitleriz ve normal iki boyutlu bir tablo elde ederiz. Tablonun yatay ekseni (sütun başlıkları) bir boyutu temsil eder, dikey ekseni (satır başlıkları) diğerini temsil eder ve tablo hücreleri hesaplamaların değerlerini temsil eder. Bu durumda, bir dizi ölçü aslında boyutlardan biri olarak kabul edilir; ya görüntülenecek bir ölçü seçeriz (ve sonra satır ve sütun başlıklarına iki boyut yerleştirebiliriz) ya da birkaç hesaplama gösteririz (ve sonra bunlardan birini gösteririz). tablo eksenleri ölçülerin adları ve diğer - tek "kesilmemiş" boyutun değerleri tarafından işgal edilecektir).

    Şek. 3 - burada küpün bir ölçü için iki boyutlu bir dilimi var - Birim Satışlar (satılan adetler) ve iki "kesilmemiş" boyut - Mağaza (Mağaza) ve Zaman (Zaman).


    Pirinç. 3. Bir ölçü için 2 boyutlu küp dilimi

    İncirde. Şekil 4 yalnızca bir "kesilmemiş" boyutu gösterir - Mağaza, ancak çeşitli ölçümlerin değerlerini görüntüler - Birim Satışlar (satılan birimler), Mağaza Satışları (satış tutarı) ve Mağaza Maliyeti (mağaza giderleri).


    Pirinç. 4. Çoklu ölçümler için 2 boyutlu küp dilimi

    Bir küpün iki boyutlu temsili, ikiden fazla boyutun "kesilmemiş" kalması durumunda da mümkündür. Bu durumda, "kesilmiş" küpün iki veya daha fazla boyutu dilim eksenlerine (satırlar ve sütunlar) yerleştirilecektir - bkz. 5.


    Pirinç. 5. Tek eksende birden fazla boyuta sahip 2 boyutlu küp dilimi

    Etiketler

    Boyutlar boyunca "yerleştirilen" değerlere üyeler veya etiketler denir. Etiketler hem küpü "kesmek" hem de seçilen verileri sınırlamak (filtrelemek) için kullanılır - "kesilmemiş" kalan bir boyutta tüm değerlerle değil, bunların bir alt kümesiyle (örneğin üç şehir) ilgileniriz birkaç düzineden. Etiket değerleri 2B küp görünümünde satır ve sütun başlıkları olarak görünür.

    Hiyerarşiler ve düzeyler

    Etiketler bir veya daha fazla düzeyden oluşan hiyerarşiler halinde birleştirilebilir. Örneğin, Mağaza boyutunun etiketleri doğal olarak düzeylere sahip bir hiyerarşi halinde gruplandırılır:

    Ülke

    Durum

    Şehir

    Mağaza.

    Toplu değerler hiyerarşi düzeylerine göre hesaplanır; örneğin ABD için satış hacmi ("Ülke" düzeyi) veya Kaliforniya için ("Eyalet" düzeyi). Tek boyutta birden fazla hiyerarşiyi uygulamak mümkündür - örneğin zaman için: (Yıl, Üç Aylık, Ay, Gün) ve (Yıl, Hafta, Gün).

    OLAP uygulamalarının mimarisi

    OLAP ile ilgili yukarıda söylenenlerin hepsi aslında verilerin çok boyutlu sunumuyla ilgiliydi. Verilerin nasıl saklandığı, kabaca söylemek gerekirse, ne son kullanıcıyı ne de müşterinin kullandığı aracın geliştiricilerini ilgilendirir.

    OLAP uygulamalarındaki çok boyutluluk üç seviyeye ayrılabilir:

    • Çok boyutlu veri gösterimi - verilerin çok boyutlu görselleştirilmesini ve işlenmesini sağlayan son kullanıcı araçları; katman çok boyutlu gösterim Verinin fiziksel yapısından soyutlayarak veriyi çok boyutlu olarak algılar.
    • Çok boyutlu işleme - çok boyutlu sorguları (geleneksel ilişkisel) formüle etmek için bir araç (dil) SQL dili burada uygun olmadığı ortaya çıktı) ve böyle bir isteği işleyebilecek ve yürütebilecek bir işlemci.
    • Çok boyutlu depolama, çok boyutlu sorguların verimli bir şekilde yürütülmesini sağlayan, verileri fiziksel olarak organize etmenin bir yoludur.

    İlk iki seviye tüm OLAP araçlarında zorunludur. Çok boyutlu bir gösterime yönelik veriler sıradan ilişkisel yapılardan da çıkarılabildiğinden, yaygın olmasına rağmen üçüncü düzey gerekli değildir; Bu durumda çok boyutlu sorgu işlemcisi, çok boyutlu sorguları ilişkisel DBMS tarafından yürütülen SQL sorgularına dönüştürür.

    Belirli OLAP ürünleri, kural olarak, ya çok boyutlu bir veri temsil aracı, bir OLAP istemcisi (örneğin, Microsoft'tan Excel 2000'deki Özet Tablolar veya Knosys'ten ProClarity) veya çok boyutlu bir sunucu DBMS'si, bir OLAP sunucusudur (örneğin, Oracle) Ekspres Sunucu veya Microsoft OLAP Hizmetleri).

    Çok boyutlu işlem katmanı genellikle OLAP istemcisinde ve/veya OLAP sunucusunda yerleşiktir ancak Microsoft'un Pivot Table Service bileşeni gibi saf biçiminde izole edilebilir.

    Çok boyutlu veri depolamanın teknik yönleri

    Yukarıda bahsedildiği gibi OLAP analiz araçları aynı zamanda doğrudan ilişkisel sistemlerden de veri çıkarabilir. Bu yaklaşım, OLAP sunucularının önde gelen DBMS üreticilerinin fiyat listelerinde yer almadığı günlerde daha çekiciydi. Ancak bugün, Oracle, Informix ve Microsoft tam teşekküllü OLAP sunucuları sunuyor ve ağlarında farklı üreticilerin yazılımlarından oluşan bir "hayvanat bahçesi" oluşturmaktan hoşlanmayan BT yöneticileri bile satın alabilir (veya daha doğrusu karşılık gelen bir talepte bulunabilir) şirket yönetimi) Ana veritabanı sunucusuyla aynı markanın OLAP sunucusu.

    OLAP sunucuları veya çok boyutlu veritabanı sunucuları, çok boyutlu verilerini farklı şekillerde saklayabilir. Bu yöntemleri ele almadan önce depolama birimleri gibi önemli bir husustan bahsetmemiz gerekiyor. Gerçek şu ki, herhangi bir veri ambarında - hem sıradan hem de çok boyutlu - operasyonel sistemlerden çıkarılan ayrıntılı verilerle birlikte, aylara göre satış hacimlerinin toplamı, mal kategorisine göre vb. gibi özet göstergeler (toplu göstergeler, toplamalar) da depolanır. Toplamalar, yalnızca sorguların yürütülmesini hızlandırmak amacıyla açıkça depolanır. Sonuçta, bir yandan kural olarak depoda çok büyük miktarda veri birikir, diğer yandan analistler çoğu durumda ayrıntılı değil, genelleştirilmiş göstergelerle ilgilenir. Ve eğer yılın toplam satışını hesaplamak için her seferinde milyonlarca bireysel satışın toplanması gerekiyorsa, bu hız muhtemelen kabul edilemez olacaktır. Bu nedenle çok boyutlu bir veritabanına veri yüklenirken toplam göstergelerin tamamı veya bir kısmı hesaplanır ve saklanır.

    Ama bildiğiniz gibi her şeyin bedelini ödemek zorundasınız. Özet verilere yönelik istekleri işleme hızı için, veri hacimlerindeki artış ve bunları yükleme süresi için ödeme yapmanız gerekir. Dahası, hacimdeki bir artış kelimenin tam anlamıyla felakete dönüşebilir - yayınlananlardan birinde standartlaştırılmış testler 10 MB orijinal veri için tam toplama hesaplaması 2,4 GB gerektiriyordu, yani veriler 240 kat arttı! Agregalar hesaplanırken verilerin "şişme" derecesi, küpün boyut sayısına ve bu boyutların yapısına, yani farklı ölçüm seviyelerindeki "baba" ve "çocuk" sayısının oranına bağlıdır. Toplamaların saklanması sorununu çözmek için bazen karmaşık şemalar kullanılır; bu, olası tüm toplamaların hesaplanmadığı durumlarda sorgu performansında önemli bir artış elde edilmesini mümkün kılar.

    Şimdi bilgi depolamak için çeşitli seçenekler hakkında. Hem ayrıntılı veriler hem de toplamlar, ilişkisel veya çok boyutlu yapılarda depolanabilir. Çok boyutlu depolama, verileri çok boyutlu bir dizi olarak işlemenize olanak tanır; bu, toplam göstergelerin eşit derecede hızlı hesaplanmasını ve herhangi bir boyut boyunca çeşitli çok boyutlu dönüşümleri sağlar. Bir süre önce OLAP ürünleri ilişkisel veya çok boyutlu depolamayı destekliyordu. Bugün, kural olarak, aynı ürün, bu depolama türlerinin her ikisini de ve ayrıca üçüncü tip bir karışımı da sağlıyor. Aşağıdaki koşullar geçerlidir:

    • MOLAP(Çok Boyutlu OLAP) - hem ayrıntılı veriler hem de toplamlar çok boyutlu bir veritabanında saklanır. Bu durumda çok boyutlu veriler tamamen ilişkisel verileri içerdiğinden en büyük artıklık elde edilir.
    • ROLAP(İlişkisel OLAP) - ayrıntılı veriler, ilişkisel veritabanında başlangıçta "yaşadığı" yerde kalır; toplamlar aynı veritabanında özel olarak oluşturulmuş servis tablolarında saklanır.
    • HOLAP(Hibrit OLAP) - ayrıntılı veriler yerinde kalır (ilişkisel bir veritabanında) ve toplamlar çok boyutlu bir veritabanında saklanır.

    Bu yöntemlerin her birinin kendi avantajları ve dezavantajları vardır ve koşullara (veri hacmi, ilişkisel DBMS'nin gücü vb.) bağlı olarak kullanılmalıdır.

    Verileri çok boyutlu yapılarda saklarken, boş değerlerin saklanmasından dolayı potansiyel bir "şişme" sorunu vardır. Sonuçta, çok boyutlu bir dizide, boyut etiketlerinin tüm olası kombinasyonları için alan ayrılmışsa, ancak gerçekte yalnızca küçük bir kısım doldurulmuşsa (örneğin, çok sayıda ürün yalnızca az sayıda bölgede satılıyorsa), o zaman çoğu alan dolu olmasına rağmen küp boş olacaktır. Modern OLAP ürünleri bu problemin üstesinden gelebilir.

    Devam edecek. İleride lider üreticilerin ürettiği spesifik OLAP ürünlerinden bahsedeceğiz.

    04/07/2011 Derek Comingore

    Teknolojiyle ilgili herhangi bir alanda çalıştıysanız muhtemelen "küp" terimini duymuşsunuzdur; ancak çoğu sıradan veritabanı yöneticisi ve geliştiricisi bu nesnelerle çalışmadı. Küpler, çok boyutlu bilgilerin hızla toplanması için güçlü bir veri mimarisi sağlar. Kuruluşunuzun büyük hacimli verileri analiz etmesi gerekiyorsa, o zaman ideal çözüm bir küp olacak

    Küp nedir?

    İlişkisel veritabanları, performansı ve veri bütünlüğünü korurken binlerce eşzamanlı işlemi yönetecek şekilde tasarlanmıştır. Tasarım gereği, ilişkisel veritabanları büyük hacimli verileri toplama ve arama konusunda verimli değildir. Büyük hacimli verileri toplamak ve geri döndürmek için, ilişkisel bir veritabanının, bilgilerin anında toplanıp bir araya getirileceği set tabanlı bir sorgu alması gerekir. Bu tür ilişkisel sorgular çok pahalıdır çünkü birden fazla birleştirmeye dayanırlar ve toplama işlevleri; Toplu ilişkisel sorgular, büyük miktarda veriyle çalışırken özellikle etkisizdir.

    Küpler, ilişkisel veritabanlarındaki bu eksikliği gidermek için tasarlanmış çok boyutlu varlıklardır. Küp kullanarak kullanıcılara büyük toplama hacimlerine sahip sorgulara hızlı yanıt veren bir veri yapısı sağlayabilirsiniz. Küpler bu "toplama büyüsünü" öncelikle verileri (boyutları) birden çok boyutta toplayarak gerçekleştirir. Küpün ön toplanması genellikle işlem sırasında gerçekleştirilir. Bir küpü işlediğinizde, diskte ikili biçimde depolanan önceden hesaplanmış veri toplamaları üretirsiniz.

    Küp, merkezi veri yapısıdır. işletim sistemi SQL Server Analitik Hizmetler (SSAS) OLAP veri analizi. Küpler genellikle boyutsal model adı verilen temel bir ilişkisel veritabanından oluşturulur, ancak ayrı teknik varlıklardır. Mantıksal olarak küp, boyutlardan (boyutlar) ve ölçümlerden (ölçüler) oluşan bir veri ambarıdır. Boyutlar tanımlayıcı özellikler ve hiyerarşiler içerirken boyutlar, boyutlarda tanımladığınız gerçeklerdir. Boyutlar, boyut grupları adı verilen mantıksal kombinasyonlar halinde gruplandırılır. Boyutları bir özelliğe (ayrıntı derecesine) göre ölçüm gruplarına bağlarsınız.

    İÇİNDE dosya sistemi bir küp bağlantılı ikili dosyalar dizisi olarak uygulanır. Küpün ikili mimarisi, büyük hacimli çok boyutlu verilerin hızla alınmasını kolaylaştırır.

    Küplerin boyutsal model adı verilen temel bir ilişkisel veritabanından oluşturulduğundan bahsetmiştim. Boyut modeli, onu küp varlıklarına bağlayan ilişkisel tabloları (olgu ve boyut) içerir. Bilgi tabloları, satılan bir ürünün miktarı gibi boyutları içerir. Boyut tabloları ürün adları, tarihler ve çalışan adları gibi açıklayıcı nitelikleri saklar. Tipik olarak, olgu tabloları ve boyut tabloları, yabancı anahtarların olgu tablosunda yer almasıyla birincil yabancı anahtar kısıtlamaları aracılığıyla ilişkilendirilir (bu ilişkisel ilişki, yukarıda tartışılan küp ayrıntı düzeyi özelliğiyle ilgilidir). Boyut tabloları doğrudan bir olgu tablosuna bağlandığında bir yıldız şeması oluşturulur. Boyut tabloları doğrudan bir olgu tablosuna bağlanmadığında sonuç bir kar tanesi şeması olur.

    Boyutsal modellerin uygulamaya göre sınıflandırıldığını lütfen unutmayın. Veri pazarı, satış veya envanter yönetimi gibi tek bir iş süreci için tasarlanmış boyutlu bir modeldir. Veri ambarı, iş süreçleri arası süreç analitiğini kolaylaştırmak amacıyla bileşen iş süreçlerini yakalamak için tasarlanmış boyutlu bir modeldir.

    Yazılım gereksinimleri

    Artık küplerin ne olduğu ve neden önemli olduğu konusunda temel bir anlayışa sahip olduğunuza göre, vitesi açacağım ve sizi SSAS kullanarak ilk küpünüzü oluşturma konusunda adım adım bir tura çıkaracağım. Bazı temel bileşenler var yazılım ihtiyacınız olacak; bu nedenle, ilk küpünüzü oluşturmaya başlamadan önce sisteminizin gereksinimleri karşıladığından emin olun.

    Örnek İnternet Satış küpüm, AdventureWorksDW 2005 test veritabanından oluşturulacak. Test küpünü, test veritabanında bulunan ve İnternet satış verilerini analiz etmek için yararlı olacak bir alt kümeden oluşturacağım. Şekil 1 veritabanı tablolarının temel düzenini göstermektedir. Sürüm 2005'i kullandığım için talimatlarımı SQL Server 2005 veya SQL Server 2008'i kullanarak takip edebilirsiniz.

    Şekil 1. Adventure Works İnternet Satışları veri pazarının alt kümesi

    Adventure WorksDW 2005 eğitim veritabanını CodePlex web sitesinde bulabilirsiniz: msftdbprodsamples.codeplex.com. "SQL Server 2005 ürün örnek veritabanları hala kullanılabilir" bağlantısını bulun (http://codeplex.com/MSFTDBProdSamples/Release/ProjectReleases.aspx?ReleaseId=4004). Eğitim veritabanı AdventureWorksBI.msi (http://msftdbprodsamples.codeplex.com/releases/view/4004#DownloadId=11755) dosyasında bulunur.

    Belirtildiği gibi, SSAS ve Business Intelligence Development Studio (BIDS) bileşenleri de dahil olmak üzere SQL Server 2008 veya 2005'in bir örneğine erişiminizin olması gerekir. SQL Server 2008 kullanacağım, dolayısıyla SQL Server 2005 kullanıyorsanız bazı ince farklılıklar görebilirsiniz.

    SSAS Projesi Oluşturma

    Yapmanız gereken ilk şey, BIDS'i kullanarak bir SSAS projesi oluşturmaktır. TEKLİFLERİ Başlat menüsünde ve ardından Microsoft SQL Server 2008/2005 menüsünde SQL Server Business Intelligence Development Studio alt öğesinde bulun. Bu düğmeye tıklamak, varsayılan açılış ekranıyla TEKLİFLERİ başlatacaktır. Yaratmak yeni proje Dosya, Yeni, Proje'yi seçerek SSAS. Şekil 1'de gösterilen Yeni Proje iletişim kutusunu göreceksiniz. Analysis Services Project klasörünü seçin ve proje açıklamasını SQLMAG_MyFirstCube olarak ayarlayın. Tamam'ı tıklayın.

    Proje oluşturulduktan sonra Solution Explorer'da sağ tıklayın ve içerik menüsüÖzellikler öğesi. Şimdi SQLMAG_MyFirstCube: Özellik Sayfaları iletişim kutusunun sol tarafındaki Dağıtım bölümünü seçin ve Şekil 2'de gösterildiği gibi Hedef Sunucu ve Veritabanı ayarları ayarlarını gözden geçirin. Dağıtılmış bir SQL Server ortamında çalışıyorsanız, gerekli niteliklere sahip olmanız gerekir. Dağıtım yapacağınız sunucunun adını içeren Hedef Sunucu özelliği. Bu SSAS projesinin dağıtım ayarlarından memnun olduğunuzda Tamam'a tıklayın.

    Veri kaynağını tanımlama

    Oluşturmanız gereken ilk nesne veri kaynağıdır. Bir veri kaynağı nesnesi, küple ilişkili ve küpün tabanındaki nesneleri oluşturmak için kullanılan şemayı ve verileri sağlar. TEKLİFLER'de bir veri kaynağı nesnesi oluşturmak için Kaynak Sihirbazı'nı kullanın Veri Kaynak Sihirbazı.

    Çözüm Gezgini panelindeki Veri Kaynağı klasörüne sağ tıklayıp Yeni Veri Kaynağı'nı seçerek Veri Kaynağı Sihirbazı'nı başlatın. BIDS'te SSAS nesneleri oluşturmanın gelişimsel bir yapıya sahip olduğunu göreceksiniz. Sihirbaz öncelikle nesne oluşturma sürecinde ve genel ayarlarda size yol gösterir. Daha sonra ortaya çıkan SSAS nesnesini tasarımcıda açarsınız ve gerekirse onu ayrıntılı olarak özelleştirirsiniz. Bilgi istemi ekranını geçtikten sonra Yeni düğmesine tıklayarak yeni bir veri bağlantısı tanımlayın. Yerel OLEDB\SQL Server Native Client 10'a dayalı olarak istediğiniz bağlantıya işaret eden yeni bir bağlantı seçin ve oluşturun SQL Serverİstenilen veritabanı örneğinin sahibi olan sunucu. SQL Server ortam ayarlarınıza bağlı olarak Windows veya SQL Server kimlik doğrulamasını kullanabilirsiniz. Veritabanı bağlantısını doğru şekilde tanımladığınızdan emin olmak için Bağlantıyı Test Et düğmesini tıklayın ve ardından Tamam'ı tıklayın.

    Daha sonra, veri ilişkilendirme gibi SQL Server ortamının nasıl yapılandırıldığına bağlı olan Kimliğe Bürünme Bilgileri gelir. Ayrıcalık ödünç alma, SSAS'nin nesnelerini işlerken güvendiği güvenlik bağlamıdır. Çoğu okuyucunun öyle olduğunu varsaydığım gibi dağıtımınızı birincil, tek bir sunucuda (veya dizüstü bilgisayarda) yönetiyorsanız, Hizmet hesabını kullan seçeneğini seçmeniz yeterlidir. Veri Kaynağı Sihirbazını tamamlamak için İleri'ye tıklayın ve Veri Kaynağı Adı olarak AWDW2005'i ayarlayın. Bu yöntemi test amacıyla kullanabilmeniz oldukça uygundur, ancak gerçek bir üretim ortamında bu pek de uygun değildir. en iyi pratik- bir hizmet hesabı kullanın. Etki alanını belirtmek daha iyidir Hesaplar veri kaynağına SSAS bağlantı haklarını ödünç almak için.

    Veri Kaynağı Görünümü

    Tanımladığınız veri kaynağı için SSAS küp oluşturma sürecindeki bir sonraki adım, Veri Kaynağı Görünümü (DSV) oluşturmaktır. DSV, küpünüzün beklediği şemayı temeldeki veritabanından ayırma yeteneği sağlar. Sonuç olarak DSV, bir küp oluştururken temeldeki ilişkisel şemayı genişletmek için kullanılabilir. DSV'nin veri kaynağı şemalarını genişletmeye yönelik temel özelliklerinden bazıları adlandırılmış sorguları, tablolar arasındaki mantıksal ilişkileri ve adlandırılmış hesaplanmış sütunları içerir.

    Devam edelim ve DSV klasörüne sağ tıklayıp Yeni DSV Görünümü Oluştur sihirbazını başlatmak için Yeni Veri Kaynağı Görünümü'nü seçelim. İletişim kutusunda, Veri Kaynağı Seç adımında ilişkisel veritabanı bağlantısını seçin ve İleri'ye tıklayın. FactInternetSales, DimProduct, DimTime, DimCustomer tablolarını seçin ve bu tabloları Dahil edilen sütuna taşımak için tek sağ ok düğmesini tıklayın. Son olarak İleri'ye tıklayın ve varsayılan adı kabul edip Son'a tıklayarak sihirbazı tamamlayın.

    Bu noktada Solution Explorer'da Veri Kaynağı Görünümleri klasörünün altında bir DSV görünümüne sahip olmanız gerekir. DSV tasarımcısını başlatmak için yeni DSV'ye çift tıklayın. Belirli bir DSV için dört tablonun tümünü Şekil 2'de gösterildiği gibi görmelisiniz.

    Veritabanı Boyutları Oluşturma

    Yukarıda açıkladığım gibi boyutlar, ayrıntı düzeyinin üzerinde toplamayı mümkün kılmak için kullanılan boyutların ve hiyerarşilerin tanımlayıcı özelliklerini sağlar. Veritabanı boyutu ile küp boyutu arasındaki farkı anlamak önemlidir: veritabanındaki boyutlar, küpü oluşturmak için kullanılacak küpün çeşitli boyutları için temel boyut nesnelerini sağlar.

    Veritabanı ve küp boyutları, "rol boyutları" olarak bilinen bir kavrama zarif bir çözüm sunar. Rol tabanlı boyutlar, bir küpteki tek bir boyutu birden çok kez kullanmanız gerektiğinde kullanılır. Date, bu küp örneğinde mükemmel bir örnektir: Tek bir tarih boyutu oluşturacak ve çevrimiçi satışları analiz etmek istediğiniz her tarih için buna bir kez başvuruda bulunacaksınız. Takvim tarihi, oluşturduğunuz ilk boyut olacaktır. Çözüm Gezgini'nde Boyutlar klasörüne sağ tıklayın ve Boyut Sihirbazı'nı başlatmak için Yeni Boyut'u seçin. Mevcut bir tabloyu kullan'ı seçin ve Oluşturma Yöntemini Seçin adımında İleri'ye tıklayın. Kaynak Bilgisini Belirtin adımında, Ana tablo açılır listesinde DimTime tablosunu belirtin ve İleri'ye tıklayın. Şimdi Boyut Niteliklerini Seç adımında zaman boyutunun niteliklerini seçmeniz gerekiyor. Şekil 3'te gösterildiği gibi her bir özelliği seçin.

    Sonrakine tıkla. Son adım olarak, Ad alanına Karartma Tarihi'ni girin ve Boyut Sihirbazı'nı tamamlamak için Son'a tıklayın. Artık Solution Explorer'daki Boyutlar klasörü altında bulunan yeni Karartma Tarihi boyutunu görmelisiniz.

    Daha sonra ürün ve müşteri boyutlarını oluşturmak için Boyut Sihirbazı'nı kullanın. Temel boyutu oluşturmak için daha önce olduğu gibi aynı adımları izleyin. Boyut Sihirbazı ile çalışırken Boyut Niteliklerini Seç adımında tüm potansiyel nitelikleri seçtiğinizden emin olun. Diğer ayarların varsayılan değerleri bir test küpü örneği için uygundur.

    İnternet Satış Küpü Oluşturma

    Artık veritabanı boyutlarını hazırladığınıza göre küpü oluşturmaya başlayabilirsiniz. Çözüm Gezgini'nde Küpler klasörüne sağ tıklayın ve Küp Sihirbazı'nı başlatmak için Yeni Küp'ü seçin. Oluşturma Yöntemini Seç penceresinde Mevcut tabloları kullan seçeneğini seçin. Ölçü Grubu Tablolarını Seç adımında Ölçü Grubu için FactInternetSales tablosunu seçin. Ölçüleri Seç adımında Promosyon Anahtarı, Para Birimi Anahtarı, Satış Bölge Anahtarı ve Revizyon Numarası boyutlarının yanındaki kutuların işaretini kaldırın ve İleri'ye tıklayın.

    Mevcut Boyutları Seç ekranında, mevcut tüm veritabanı boyutlarının küp boyutları olarak kullanılmak üzere seçildiğinden emin olun. Bu küpü olabildiğince basit tutmak istediğim için Yeni Boyutları Seç adımında FactInternetSales boyutunun seçimini kaldırın. FactInternetSales boyutunu seçili bırakarak, olgu boyutu veya dejenere boyut olarak adlandırılan şeyi yaratırsınız. Gerçek boyutları, geleneksel boyut tablosunun aksine temel bir olgu tablosu kullanılarak oluşturulan boyutlardır.

    Sihirbazı Tamamlama adımına gitmek için İleri'ye tıklayın ve Küp Adı alanına "İlk Küpüm" yazın. Küp Oluşturma Sihirbazı işlemini tamamlamak için Bitir düğmesine tıklayın.

    Bir Küpü Genişletme ve İşleme

    Artık ilk küpü dağıtmaya ve işlemeye hazırsınız. Solution Explorer'da yeni küp simgesine sağ tıklayın ve İşlem'i seçin. İçeriğin güncel olmadığını belirten bir mesaj kutusu göreceksiniz. Yeni küpü hedef SSAS sunucusuna dağıtmak için Evet'e tıklayın. Bir küpü konuşlandırdığınızda gönderdiğiniz XML dosyası Analiz için (XMLA), sunucunun kendisinde bir küp oluşturan hedef SSAS sunucusuna. Belirtildiği gibi, bir küpün işlenmesi, diskteki ikili dosyalarını ana kaynaktan gelen verilerle ve eklediğiniz ek meta verilerle (küp boyutları, boyutlar ve ayarlar) doldurur.

    Dağıtım işlemi tamamlandıktan sonra yeni bir İşlem Küpü iletişim kutusu görünür. İşlem İlerleme Durumu penceresiyle açılan küpü işlemeye başlamak için Çalıştır düğmesini tıklayın. İşleme tamamlandığında, küp dağıtımını ve işleme süreçlerini tamamlamak için Kapat'a tıklayın (her iki iletişim kutusunu kapatmak için iki kez).

    Artık ilk küpünüzü oluşturdunuz, dağıttınız ve işlediniz. Bu yeni küpü, Çözüm Gezgini penceresinde sağ tıklayıp Gözat'ı seçerek görüntüleyebilirsiniz. Yeni küpünüzü keşfetmek için boyutları pivot tablonun ortasına ve boyut niteliklerini satırlara ve sütunlara sürükleyin. Küpün çeşitli toplama sorgularını ne kadar hızlı işlediğine dikkat edin. Artık OLAP küpünün sınırsız gücünü ve dolayısıyla iş değerini takdir edebilirsiniz.

    Derek Comingore ( [e-posta korumalı]) iş analitiği alanında Microsoft İş Ortağı statüsüne sahip B.I. Voyage'da kıdemli mimardır. SQL Server MVP unvanına ve çeşitli Microsoft sertifikalarına sahiptir





  • 
    Tepe