OLAP-CUBE (dinamik idarəetmə hesabatı). Çoxdəyişənli analizə giriş

Bu gün OLAP nədir, ümumiyyətlə, hər bir mütəxəssis bilir. Ən azından "OLAP" və "çoxölçülü məlumatlar" anlayışları beynimizdə möhkəm bağlıdır. Buna baxmayaraq, bu mövzunun yenidən gündəmə gəlməsi, ümid edirəm, oxucuların əksəriyyəti tərəfindən bəyəniləcək, çünki ideyanın zamanla köhnəlməməsi üçün vaxtaşırı əlaqə saxlamalısınız. ağıllı insanlar ya da yaxşı bir nəşrdə məqalələr oxuyun...

Məlumat anbarları (OLAP-ın müəssisənin informasiya strukturunda yeri)

"OLAP" termini "məlumat anbarı" (Data Warehouse) termini ilə ayrılmaz şəkildə bağlıdır.

Məlumat anbarlarının “qurucu atası” Bill İnmon tərəfindən tərtib edilmiş tərif budur: “Məlumat anbarı idarəetmə qərarlarının qəbulu prosesini dəstəkləmək üçün domenə xas, vaxta bağlı və dəyişməz məlumat toplusudur”.

Yaddaşdakı məlumatlar iş proseslərini avtomatlaşdırmaq üçün nəzərdə tutulmuş əməliyyat sistemlərindən (OLTP sistemləri) gəlir. Bundan əlavə, anbar xarici mənbələrdən, məsələn, statistik hesabatlardan doldurula bilər.

Nəyə görə məlumat anbarları qurmaq lazımdır - axı onlar əməliyyat sistemlərinin verilənlər bazalarında və ya fayllarında artıq "yaşayan" açıq-aşkar lazımsız məlumatları ehtiva edir? Cavab qısa ola bilər: əməliyyat sistemlərinin məlumatlarını birbaşa təhlil etmək mümkün deyil və ya çox çətindir. Bu, müxtəlif səbəblərlə, o cümlədən məlumatların parçalanması, onların müxtəlif DBMS formatlarında və korporativ şəbəkənin müxtəlif “guşələrində” saxlanması ilə bağlıdır. Lakin müəssisədəki bütün məlumatlar mərkəzi verilənlər bazası serverində saxlansa belə (bu olduqca nadirdir), analitik onların mürəkkəb, bəzən çaşdırıcı strukturlarını demək olar ki, başa düşməyəcək. Müəllif ac analitikləri əməliyyat sistemlərinin "xam" məlumatları ilə "qidalandırmaq" cəhdində kifayət qədər kədərli təcrübəyə malikdir - bu, onlar üçün çox çətin oldu.

Beləliklə, anbarın vəzifəsi bir yerdə və sadə, başa düşülən strukturda təhlil üçün "xammal" təmin etməkdir. Ralf Kimball “The Data Warehouse Toolbar” kitabının ön sözündə yazır ki, əgər oxucu bütün kitabı oxuduqdan sonra yalnız bir şeyi başa düşsə, yəni anbarın strukturunun sadə olması lazım olduğunu başa düşsə, müəllif öz vəzifəsini nəzərdən keçirəcək. tamamlandı.

Ayrı bir anbarın görünüşünü əsaslandıran başqa bir səbəb var - əməliyyat məlumatı üçün mürəkkəb analitik sorğular şirkətin cari işini ləngidir, cədvəlləri uzun müddət bloklayır və server resurslarını ələ keçirir.

Məncə, saxlama mütləq məlumatların nəhəng yığılması deyil - əsas odur ki, təhlil üçün əlverişlidir. Ümumiyyətlə, ayrı bir termin kiçik anbarlar üçün nəzərdə tutulub - Data Marts (data kioskları), lakin bizim rus təcrübəmizdə bunu tez-tez eşitməyəcəksiniz.

OLAP lazımlı analiz alətidir

Mərkəzləşmə və rahat strukturlaşma analitikin ehtiyac duyduğu hər şeydən uzaqdır. Axı ona hələ də məlumatı görmək, vizuallaşdırmaq üçün alət lazımdır. Ənənəvi hesabatlar, hətta tək bir depo əsasında qurulmuşdur, bir şey yoxdur - çeviklik. Məlumatların istənilən görünüşünü əldə etmək üçün onları "bükmək", "genişləndirmək" və ya "yıxmaq" mümkün deyil. Əlbəttə ki, bir proqramçıya zəng edə bilərsiniz (əgər o gəlmək istəsə) və o (əgər məşğul deyilsə) kifayət qədər tez yeni hesabat verəcək - deyin, bir saat ərzində (yazıram və özüm buna inanmıram - həyatda belə tez baş vermir, ona üç saat vaxt verək) . Belə çıxır ki, analitik gündə ikidən çox ideya yoxlaya bilər. Və o (yaxşı analitikdirsə) saatda bir neçə belə ideya irəli sürə bilər. Və analitik məlumatların nə qədər çox “dilimləri” və “dilimləri” görsə, bir o qədər çox ideyaya sahib olur ki, bu da öz növbəsində yoxlama üçün getdikcə daha çox “dilim” tələb edir. Kaş ki, ona məlumatları sadə və rahat şəkildə genişləndirməyə və yıxmağa imkan verən belə bir alət olsaydı! OLAP belə alətlərdən biridir.

OLAP məlumat anbarının zəruri atributu olmasa da, bu məlumat anbarında toplanmış məlumatı təhlil etmək üçün getdikcə daha çox istifadə olunur.

Tipik bir anbara daxil olan komponentlər Şəkildə göstərilmişdir. 1.

düyü. 1. Məlumat anbarının strukturu

Əməliyyat məlumatları müxtəlif mənbələrdən toplanır, təmizlənir, inteqrasiya olunur və əlaqəli bir mağazaya yerləşdirilir. Eyni zamanda, onlar müxtəlif hesabat alətlərindən istifadə edərək təhlil üçün artıq mövcuddur. Sonra məlumatlar (tam və ya qismən) OLAP təhlili üçün hazırlanır. Onlar xüsusi OLAP verilənlər bazasına yüklənə və ya əlaqəli mağazada qala bilər. Onun ən vacib elementi metadata, yəni məlumatların strukturu, yerləşdirilməsi və çevrilməsi haqqında məlumatdır. Onların sayəsində müxtəlif saxlama komponentlərinin effektiv qarşılıqlı əlaqəsi təmin edilir.

Yekun olaraq, OLAP-ı anbarda toplanmış məlumatların çoxölçülü təhlili üçün alətlər toplusu kimi müəyyən edə bilərik. Teorik olaraq, OLAP alətləri birbaşa əməliyyat məlumatlarına və ya dəqiq nüsxələri(əməliyyat istifadəçilərinə mane olmamaq üçün). Lakin bununla biz yuxarıda təsvir edilmiş dırmıq üzərində addım atmaq, yəni birbaşa təhlil üçün uyğun olmayan əməliyyat məlumatlarını təhlil etməyə başlama riski ilə üzləşirik.

OLAP-ın tərifi və əsas anlayışları

Başlamaq üçün, deşifrə edək: OLAP Onlayn Analitik Qenerasiyadır, yəni məlumatların onlayn təhlilidir. OLAP-ın 12 müəyyənedici prinsipi 1993-cü ildə əlaqəli verilənlər bazalarının "ixtiraçısı" E. F. Codd tərəfindən tərtib edilmişdir. Daha sonra onun tərifi, paylaşılan çoxölçülü məlumatları tez təhlil etmək qabiliyyətini təmin etmək üçün OLAP tətbiqini tələb edən FASMI testinə çevrildi ().

FASMI testi

Tez(Sürətli) - təhlil məlumatın bütün aspektləri üzrə eyni sürətlə aparılmalıdır. Qəbul edilən cavab müddəti 5 saniyə və ya daha azdır.

Təhlil(Analiz) - Tətbiq tərtibatçısı tərəfindən əvvəlcədən müəyyən edilmiş və ya istifadəçi tərəfindən özbaşına müəyyən edilmiş əsas ədədi və statistik təhlil növlərini yerinə yetirmək mümkün olmalıdır.

paylaşdı(Paylaşılan) - Çox istifadəçinin məlumatlara girişi olmalıdır, eyni zamanda həssas məlumatlara giriş nəzarət edilməlidir.

Çoxölçülü(Çoxölçülü) OLAP-ın əsas, ən vacib xüsusiyyətidir.

Məlumat(Məlumat) - proqram həcmindən və saxlanma yerindən asılı olmayaraq istənilən zəruri məlumatı əldə etmək imkanına malik olmalıdır.

OLAP = Çoxölçülü Görünüş = Kub

OLAP biznes məlumatlarına daxil olmaq, onlara baxmaq və təhlil etmək üçün rahat, yüksək sürətli vasitələr təqdim edir. İstifadəçi onları çoxölçülü kublar (Kublar) şəklində təşkil edərək təbii, intuitiv məlumat modeli əldə edir. Çoxölçülü koordinat sisteminin oxları təhlil edilən biznes prosesinin əsas atributlarıdır. Məsələn, satış üçün bir məhsul, bölgə, alıcı növü ola bilər. Ölçmələrdən biri kimi vaxtdan istifadə edilir. Baltaların kəsişmə nöqtələrində - ölçmələr (Ölçülər) - prosesi kəmiyyətcə xarakterizə edən məlumatlar - ölçülər (Tədbirlər) var. Bunlar hissə-hissə və ya pul ifadəsində satış həcmləri, səhm qalıqları, xərclər və s. ola bilər. Məlumatı təhlil edən istifadəçi kubu müxtəlif istiqamətlərdə “kəsdirə”, xülasə (məsələn, illər üzrə) və ya əksinə ətraflı (həftəlik) əldə edə bilər. məlumat və təhlil prosesində onun ağlına gələn digər manipulyasiyalar həyata keçirir.

Şəkildə göstərilən üç ölçülü kubda ölçülər kimi. 2, satış məbləğləri istifadə olunur və ölçmə kimi vaxt, məhsul və mağaza istifadə olunur. Ölçmələr xüsusi qruplaşdırma səviyyələrində təqdim olunur: məhsullar kateqoriyaya görə qruplaşdırılır, mağazalar ölkə üzrə qruplaşdırılır və əməliyyat müddətləri aylara görə qruplaşdırılır. Bir az sonra qruplaşdırma (iyerarxiya) səviyyələrini daha ətraflı nəzərdən keçirəcəyik.


düyü. 2. Kub nümunəsi

Kubun "kəsilməsi"

Hətta üç ölçülü bir kubu kompüter ekranında göstərmək çətindir ki, maraq ölçülərinin dəyərləri görünə bilsin. Üçdən çox ölçüsü olan kublar haqqında nə deyə bilərik? Kubda saxlanılan məlumatları vizuallaşdırmaq üçün, bir qayda olaraq, mürəkkəb iyerarxik sıra və sütun başlıqlarına malik adi ikiölçülü, yəni cədvəlli görünüşlərdən istifadə olunur.

Bir kubun iki ölçülü təsviri onu bir və ya daha çox ox (ölçülər) üzərindən "kəsməklə" əldə edilə bilər: ikidən başqa bütün ölçülərin dəyərlərini düzəldirik və adi iki ölçülü cədvəl alırıq. . Cədvəlin üfüqi oxu (sütun başlıqları) bir ölçüsü, şaquli ox (sətir başlıqları) digər ölçüsü, cədvəl hüceyrələri isə ölçü dəyərlərini təmsil edir. Bu halda, tədbirlər toplusu əslində ölçülərdən biri hesab olunur - biz ya göstərmək üçün bir ölçü seçirik (sonra sətir və sütunların başlıqlarına iki ölçü yerləşdirə bilərik) və ya bir neçə ölçü göstəririk (və sonra bir Cədvəlin oxları ölçülərin adları ilə, digəri isə tək "kəsilməmiş" ölçünün dəyəri ilə işğal olunacaq).

Əncirə nəzər salın. 3 - burada bir ölçü üçün kubun iki ölçülü dilimi - Vahid Satış (satılan ədəd) və iki "kəsilməmiş" ölçü - Mağaza (Mağaza) və Vaxt (Vaxt).


düyü. 3. Bir ölçü üçün iki ölçülü kub dilimi

Əncirdə. 4 yalnız bir "kəsilməmiş" ölçüsü göstərir - Mağaza, lakin o, bir neçə ölçünün dəyərlərini göstərir - Vahid Satışları (satılan ədədlər), Mağaza Satışları (satış məbləği) və Mağaza Xərcləri (mağaza xərcləri).


düyü. 4. Çoxsaylı Tədbirlər üçün 2D Kub Dilimləmə

Kubun iki ölçülü təsviri ikidən çox ölçü "kəsilməmiş" olaraq qaldıqda da mümkündür. Bu halda, "kəsilmiş" kubun iki və ya daha çox ölçüsü dilim oxlarına (sətirlər və sütunlar) yerləşdiriləcək - şək. 5.


düyü. 5. Eyni oxda bir neçə ölçüləri olan kubun iki ölçülü dilimi

Teqlər

Ölçülər boyunca "kənara qoyulan" dəyərlər üzvlər və ya etiketlər (üzvlər) adlanır. Etiketlər həm kubu "kəsmək" üçün, həm də seçilmiş məlumatları məhdudlaşdırmaq (filtrləmək) üçün istifadə olunur - "kəsilməmiş" olaraq qalan ölçüdə bizi bütün dəyərlər maraqlandırmır, lakin onların alt çoxluğu, məsələn, bir neçə şəhərdən üç şəhər onlarla. Etiket dəyərləri 2D kub görünüşündə sətir və sütun başlıqları kimi görünür.

İerarxiyalar və səviyyələr

Etiketlər bir və ya bir neçə səviyyədən ibarət iyerarxiyalara birləşdirilə bilər. Məsələn, "Mağaza" (Mağaza) ölçüsünün etiketləri təbii olaraq səviyyələri olan bir iyerarxiyaya birləşdirilir:

Ölkə (Ölkə)

Ştat (Ştat)

Şəhər (Şəhər)

Mağaza (mağaza).

İyerarxiya səviyyələrinə görə, ABŞ ("Ölkə" səviyyəsi) və ya Kaliforniya ("Ştat" səviyyəsi) üçün satışlar kimi məcmu dəyərlər hesablanır. Bir ölçüdə birdən çox iyerarxiya həyata keçirilə bilər - zaman üçün deyin: (İl, Rüb, Ay, Gün) və (İl, Həftə, Gün).

OLAP Tətbiq Memarlığı

OLAP haqqında yuxarıda deyilənlərin hamısı, əslində, məlumatların çoxölçülü təqdimatına istinad edirdi. Məlumatın saxlanma üsulu, təxmini desək, nə son istifadəçiyə, nə də müştərinin istifadə etdiyi alətin tərtibatçılarına aid deyil.

OLAP proqramlarında çoxölçülülük üç səviyyəyə bölünə bilər:

  • Çoxölçülü məlumatların təqdimatı - çoxölçülü vizuallaşdırma və məlumatların manipulyasiyasını təmin edən son istifadəçi alətləri; çoxölçülü təmsil qatı verilənlərin fiziki strukturundan mücərrədləşdirir və verilənlərə çoxölçülü kimi yanaşır.
  • Çoxölçülü emal - çoxölçülü sorğuların formalaşdırılması üçün alət (dil) (ənənəvi relational SQL dili burada uyğun deyil) və belə bir sorğunu emal edib icra edə bilən prosessor.
  • Çoxölçülü saxlama - çoxölçülü sorğuların səmərəli icrasını təmin edən verilənlərin fiziki təşkili vasitələri.

İlk iki səviyyə bütün OLAP alətlərində məcburidir. Üçüncü səviyyə, geniş şəkildə istifadə olunsa da, tələb olunmur, çünki çoxölçülü təqdimat üçün məlumatlar adi əlaqə strukturlarından da götürülə bilər; çoxölçülü sorğu prosessoru bu halda çoxölçülü sorğuları əlaqəli DBMS tərəfindən yerinə yetirilən SQL sorğularına çevirir.

Xüsusi OLAP məhsulları adətən ya çoxölçülü məlumat təqdimetmə aləti, OLAP müştərisi (məsələn, Microsoft-dan Excel 2000-də Pivot Cədvəllər və ya Knosys-dən ProClarity) və ya çoxölçülü arxa uç DBMS, OLAP serveridir (məsələn, Oracle Express Server) və ya Microsoft OLAP Xidmətləri).

Çoxölçülü emal təbəqəsi adətən OLAP müştəri və/və ya OLAP serverində qurulur, lakin Microsoft-un Pivot Table Service komponenti kimi ən təmiz formada təcrid oluna bilər.

Çoxölçülü məlumatların saxlanmasının texniki aspektləri

Yuxarıda qeyd edildiyi kimi, OLAP analiz alətləri də birbaşa əlaqəli sistemlərdən məlumatları çıxara bilər. Bu yanaşma OLAP serverlərinin aparıcı verilənlər bazası təchizatçılarının qiymət siyahılarında olmadığı bir vaxtda daha cəlbedici idi. Ancaq bu gün Oracle, Informix və Microsoft tam hüquqlu OLAP serverlərini təklif edir və hətta şəbəkələrində müxtəlif istehsalçıların proqram təminatının “zooparkı” əkməyi sevməyən İT menecerləri də satın ala bilər (daha doğrusu, müvafiq sorğu ilə müraciət edə bilər). şirkətin rəhbərliyinə ) əsas verilənlər bazası serveri ilə eyni markalı OLAP serveri.

OLAP serverləri və ya çoxölçülü verilənlər bazası serverləri öz çoxölçülü məlumatlarını müxtəlif yollarla saxlaya bilərlər. Bu üsulları nəzərdən keçirməzdən əvvəl, aqreqatların saxlanması kimi vacib bir cəhət haqqında danışmaq lazımdır. Fakt budur ki, hər hansı bir məlumat anbarında - həm müntəzəm, həm də çoxölçülü - əməliyyat sistemlərindən əldə edilən müfəssəl məlumatlarla yanaşı, aylar üzrə, kateqoriyalar üzrə satış həcminin cəmi kimi icmal göstəricilər (məcmu göstəricilər, aqreqatlar) da saxlanılır. mallar və s. Aqreqatlar sorğunun icrasını sürətləndirmək məqsədi ilə açıq şəkildə saxlanılır. Axı, bir tərəfdən, bir qayda olaraq, yaddaşda çox böyük miqdarda məlumat toplanır, digər tərəfdən, analitikləri əksər hallarda ətraflı deyil, ümumiləşdirilmiş göstəricilər maraqlandırır. İl üçün satışların məbləğini hesablamaq üçün hər dəfə milyonlarla fərdi satışı yekunlaşdırmaq lazım gəlsəydi, sürət çox güman ki, qəbuledilməz olardı. Buna görə də, məlumatları çoxölçülü verilənlər bazasına yükləyərkən bütün ümumi göstəricilər və ya onların bir hissəsi hesablanır və saxlanılır.

Ancaq bildiyiniz kimi, hər şey üçün pul ödəməlisən. Və siz məlumatların miqdarını və onları yükləmək üçün lazım olan vaxtı artırmaqla ümumi məlumatlara sorğuların işlənmə sürətini ödəməlisiniz. Üstəlik, həcm artımı sözün əsl mənasında fəlakətli ola bilər - dərc edilmiş standart testlərdən birində 10 MB ilkin məlumat üçün aqreqatların tam sayı 2,4 GB tələb olunur, yəni məlumat 240 dəfə artıb! Aqreqatların hesablanması zamanı məlumatların "şişməsi" dərəcəsi kub ölçülərinin sayından və bu ölçülərin strukturundan, yəni ölçüsün müxtəlif səviyyələrində "atalar" və "uşaqlar" sayının nisbətindən asılıdır. Aqreqatların saxlanması problemini həll etmək üçün bəzən istifadə olunur mürəkkəb sxemlər, bu, bütün mümkün aqreqatlardan uzaq hesablamalar apararkən, sorğunun icrasının performansında əhəmiyyətli artım əldə etməyə imkan verir.

İndi məlumatın saxlanması üçün müxtəlif variantlar haqqında. Həm təfərrüatlı məlumatlar, həm də aqreqatlar ya əlaqəli və ya çoxölçülü strukturlarda saxlanıla bilər. Çoxölçülü saxlama məlumatı çoxölçülü massiv kimi nəzərdən keçirməyə imkan verir ki, bu da hər hansı ölçülər üzrə ümumilərin eyni sürətli hesablanmasını və müxtəlif çoxölçülü çevrilmələri təmin edir. Bir müddət əvvəl OLAP məhsulları ya əlaqəli, ya da çoxölçülü yaddaşı dəstəkləyirdi. Bu gün, bir qayda olaraq, eyni məhsul həm bu növ saxlama, həm də üçüncü növ - qarışıq təmin edir. Aşağıdakı şərtlər tətbiq olunur:

  • MOLAP(Çoxölçülü OLAP) - həm təfərrüatlı məlumatlar, həm də aqreqatlar çoxölçülü verilənlər bazasında saxlanılır. Bu halda, çoxölçülü məlumatlar tamamilə əlaqəli məlumatları ehtiva etdiyi üçün ən böyük ehtiyat əldə edilir.
  • ROLAP(Relational OLAP) - təfərrüatlı məlumatlar ilkin olaraq "yaşadıqları" yerdə qalır - əlaqəli verilənlər bazasında; aqreqatlar eyni verilənlər bazasında xüsusi yaradılmış xidmət cədvəllərində saxlanılır.
  • HOLAP(Hybrid OLAP) - təfərrüatlı məlumatlar yerində qalır (relational verilənlər bazasında), aqreqatlar isə çoxölçülü verilənlər bazasında saxlanılır.

Bu metodların hər birinin öz üstünlükləri və mənfi cəhətləri var və şərtlərdən - verilənlərin miqdarından, əlaqəli DBMS-nin gücündən və s. asılı olaraq istifadə edilməlidir.

Məlumatların çoxölçülü strukturlarda saxlanması zamanı boş dəyərlərin saxlanması ilə əlaqədar potensial “bloat” problemi yaranır. Axı, ölçü etiketlərinin bütün mümkün birləşmələri üçün çoxölçülü bir massivdə yer ayrılıbsa və yalnız kiçik bir hissəsi faktiki olaraq doldurulursa (məsələn, bir sıra məhsullar yalnız az sayda bölgədə satılır), onda əksər yer tutsa da, kub boş olacaq. Müasir OLAP məhsulları bu problemin öhdəsindən gəlməyə qadirdir.

Ardı var. Gələcəkdə aparıcı istehsalçılar tərəfindən istehsal olunan xüsusi OLAP məhsulları haqqında danışacağıq.

OLAP (On-Line Analitik Emal)əvvəlcədən hesablanmış cəmlərdən istifadə edərək məlumatların iyerarxik kateqoriyalara təşkilini təmsil edən elektron məlumat analitikası üsuludur. OLAP məlumatları iyerarxik şəkildə təşkil edilir və cədvəllərdə deyil, kublarda saxlanılır. OLAP kubları parametrlərin çəkildiyi oxları və parametrdən asılı məcmu məlumatları ehtiva edən xanaları olan çoxölçülü verilənlər toplusudur. Kublar böyük həcmli məlumatların mürəkkəb, çoxölçülü təhlili üçün nəzərdə tutulub, çünki onlar hesabat vermək əvəzinə yalnız ümumi nəticələr verir. böyük rəqəm fərdi girişlər.

OLAP konsepsiyası 1993-cü ildə tanınmış verilənlər bazası tədqiqatçısı və əlaqəli məlumat modelinin müəllifi E. F. Codd tərəfindən təsvir edilmişdir. Hazırda OLAP dəstəyi bir çox DBMS və digər alətlərdə həyata keçirilir.

OLAP kubu iki növ məlumat ehtiva edir:

Ümumi dəyərləri, ümumiləşdirmək istədiyiniz dəyərləri təmsil edir hesablanmış məlumat sahələri;

ki, təsviri məlumat ölçmələr və ya ölçüləri. Təsviri məlumat adətən təfərrüat səviyyələrinə bölünür. Məsələn: "Vaxt" ölçüsündə "İl", "Rüb", "Ay" və "Gün". Sahələri təfərrüat səviyyələrinə bölməklə, hesabat istifadəçiləri yüksək səviyyəli xülasədən başlayaraq daha ətraflı görünüşə keçərək baxmaq istədikləri təfərrüat səviyyəsini seçə bilərlər və əksinə.

Microsoft Query alətləri həmçinin xətti cədvəli struktur iyerarxiyaya (kub) çevirərək Microsoft Access kimi əlaqəli verilənlər bazasından məlumatları yükləyən sorğudan OLAP kubları yaratmağa imkan verir.

OLAP Cube Yaratma Sihirbazı daxili Microsoft Query alətidir. Əlaqəli verilənlər bazasına əsaslanan OLAP kubu yaratmaq üçün sehrbazı işə salmazdan əvvəl aşağıdakı addımları tamamlamalısınız.

1. Məlumat mənbəyini təyin edin (Şəkil 6.1-ə baxın).

2. Microsoft Query-dən istifadə edərək sorğu yaradın, o cümlədən yalnız məlumat sahələri və ya OLAP kubunun ölçü sahələri olacaq, əgər kubdakı sahə bir dəfədən çox istifadə olunursa, o, sorğuya daxil edilməlidir. tələb olunan sayda.

3. Sorğunun Yaradılması Sihirbazının son addımında radio düyməsini təyin edin Verilmiş sorğudan OLAP kubu yaradın(bax. Şəkil 6.2) və ya birbaşa menyuda Sorğu alətlərindən istifadə etməklə sorğu yaradıldıqdan sonra Fayl komanda seçin OLAP kubu yaradın OLAP Cube Yaratma Sihirbazını işə salacaq.

OLAP Cube Yaratma Sihirbazının üç addımı var.

Sehrbazın ilk addımında (bax Şəkil 6.6), the məlumat sahələri– Cəmi müəyyən etmək istədiyiniz hesablanmış sahələr.



düyü. 6.6. Məlumat sahələrinin müəyyənləşdirilməsi

Təklif olunan hesablanmış sahələr (adətən rəqəmsal sahələr) sehrbaz siyahının yuxarısına yerləşdirir, işarələyir və bu sahələrin son funksiyasını təyin edir, adətən − məbləğ. Məlumat sahələrini seçərkən hesablanmış sahə kimi ən azı bir sahə seçilməli və ölçüsü müəyyən etmək üçün ən azı bir sahə işarəsiz qalmalıdır.

OLAP kubu yaratarkən dörd xülasə funksiyasından istifadə edilə bilər - məbləğ, Nömrə(dəyərlərin sayı), Minimum, Maksimumədədi sahələr və bir funksiya üçün Nömrə bütün digər sahələr üçün. Eyni sahə üçün bir neçə fərqli xülasə funksiyasından istifadə etmək istəyirsinizsə, həmin sahə lazım olan qədər sorğuya daxil edilməlidir.

Hesablanmış sahənin adı sütunda dəyişdirilə bilər Məlumat sahəsinin adı.

Sehrbazın ikinci addımında təsviri məlumatlar və onların ölçüləri müəyyən edilir (bax Şəkil 6.7). Ölçü sahəsini seçmək üçün siyahıdan lazımdır Mənbə sahələri istədiyiniz yuxarı səviyyəli ölçü sahəsini siyahıya sürükləyin ölçmələr kimi işarələnmiş əraziyə Ölçü yaratmaq üçün sahələri bura sürükləyin. OLAP kubu yaratmaq üçün ən azı bir ölçü təyin etməlisiniz. Sehrbazın eyni addımında, kontekst menyusundan istifadə edərək, ölçü və ya səviyyə sahəsinin adını dəyişə bilərsiniz.

düyü. 6.7. Ölçü sahələrinin tərifi

Təcrid olunmuş və ya fərqli məlumatları ehtiva edən və iyerarxiyaya aid olmayan sahələr tək səviyyəli ölçülər kimi müəyyən edilə bilər. Bununla belə, bəzi sahələr səviyyələrdə təşkil olunarsa, kubdan istifadə daha səmərəli olacaq. Ölçü hissəsi kimi səviyyə yaratmaq üçün sahəni siyahıdan dartın Mənbə sahələriölçü və ya səviyyə olan sahədə. Daha ətraflı məlumatı ehtiva edən sahələr aşağı səviyyələrdə yerləşdirilməlidir. Məsələn, Şəkil 6.7-də sahə Vəzifə sahə səviyyəsidir Şöbə adı.

Sahəni aşağıya və ya yuxarıya köçürmək üçün yüksək səviyyə, siz onu ölçü daxilində aşağı və ya yuxarı qutuya dartmalısınız. və ya düymələri müvafiq olaraq səviyyələri göstərmək və ya gizlətmək üçün istifadə olunur.

Əgər tarix və ya vaxt sahələri ən yüksək səviyyəli ölçü kimi istifadə olunursa, OLAP Kubunun Yaradılması Sihirbazı avtomatik olaraq həmin ölçülər üçün səviyyələr yaradır. İstifadəçi daha sonra hesabatlarda hansı səviyyələrin olmasını seçə bilər. Məsələn, siz həftələr, rüblər və illər və ya aylar seçə bilərsiniz (Şəkil 6.7-ə baxın).

Yadda saxlayın ki, sehrbaz avtomatik olaraq tarix və vaxt sahələri üçün səviyyələr yaradır, yalnız siz ən yüksək səviyyəli ölçü yaratdığınız zaman; bu sahələri mövcud ölçüsün alt səviyyələri kimi əlavə etdiyiniz zaman avtomatik səviyyələr yaradılmır.

Sehrbazın üçüncü addımında sehrbaz tərəfindən yaradılan kubun növü müəyyən edilir, eyni zamanda üç variant mümkündür (bax Şəkil 6.8).

düyü. 6.8. Sihirbazın üçüncü addımında yaradılacaq kub növünün seçilməsi

· İlk iki seçim hesabat hər dəfə açılanda kubun yaradılmasını nəzərdə tutur (əgər kub Excel-dən baxılırsa, deməli, söhbət pivot cədvəlindən gedir). Bu halda, sorğu faylı və fayl *.oqy kub tərifləri Kub yaratmaq üçün təlimatları ehtiva edir. Kub əsasında hesabatlar yaratmaq üçün *.oqy faylı Excel-də açıla bilər və kubda dəyişiklik etmək lazımdırsa, kub yaratma sihirbazını yenidən işə salmaq üçün onu Sorğu ilə aça bilərsiniz.

Varsayılan olaraq kub təyini faylları, eləcə də sorğu faylları Application Data\Microsoft\Que-ries-də istifadəçinin profil qovluğunda saxlanılır. *.oqy faylını standart qovluğa saxlayarkən, kub təyini faylının adı nişanda göstərilir OLAP kubları Microsoft Query-də yeni sorğu açarkən və ya əmr seçərkən Sorğu yaradın(menyu Data, alt menyu Xarici məlumatların idxalı) Microsoft Excel-də.

Kub tipinin üçüncü variantının seçilməsi vəziyyətində Kub üçün bütün məlumatları ehtiva edən kub faylının saxlanması, kub üçün bütün məlumatlar əldə edilir və istifadəçi tərəfindən müəyyən edilmiş yerdə * uzantılı kub faylı yaradılır .kub bu məlumatların saxlandığı yer. Düymə kliklədikdə bu fayl dərhal yaradılmır Hazır; fayl ya kub tərifi faylda saxlandıqda, ya da kubdan hesabat yaradıldıqda yaradılır.

Kub növünün seçimi bir neçə faktorla müəyyən edilir: kubun ehtiva etdiyi məlumatların miqdarı; kub əsasında yaradılacaq hesabatların növü və mürəkkəbliyi; sistem resursları (yaddaş və disk sahəsi) və s.

Aşağıdakı hallarda ayrıca *.cub kub faylı yaradılmalıdır:

1) kifayət qədər disk sahəsi olduqda tez-tez dəyişən interaktiv hesabatlar üçün;

2) hesabatlar yaratarkən digər istifadəçilər üçün ona girişi təmin etmək üçün kubu şəbəkə serverində saxlamaq lazım olduqda. Kub faylı digər istifadəçilərin daxil olmasının qarşısını almaq istədiyiniz gizli və ya həssas məlumatları buraxmaqla mənbə verilənlər bazasından xüsusi məlumatları təmin edə bilər.

Standart Pivot Cədvəldə mənbə məlumatları yerli sabit diskdə saxlanılır. Bu yolla, şəbəkəyə çıxışınız olmasa belə, onları həmişə idarə edə və yenidən təşkil edə bilərsiniz. Lakin bu heç bir şəkildə OLAP PivotTables-ə aid deyil. OLAP PivotTables-də keş heç vaxt yerli sabit diskdə saxlanmır. Buna görə əlaqəni kəsdikdən dərhal sonra yerli şəbəkə pivot cədvəliniz uğursuz olacaq. Siz oradakı sahələrin heç birini köçürə bilməyəcəksiniz.

Oflayn olduqdan sonra hələ də OLAP məlumatlarını təhlil etməlisinizsə, oflayn məlumat kubu yaradın. Oflayn məlumat kubu, Pivot Cədvəl keşi olan və yerli şəbəkədən ayrıldıqdan sonra baxılan OLAP məlumatlarını saxlayan ayrıca fayldır. Pivot cədvəlinə kopyalanan OLAP məlumatları çap edilə bilər, http://everest.ua saytı bunu ətraflı təsvir edir.

Bağımsız məlumat kubu yaratmaq üçün əvvəlcə OLAP Pivot Cədvəli yaradın. Kursoru PivotTable daxilində yerləşdirin və PivotTable Alətləri kontekst tab qrupunun bir hissəsi olan Alətlər kontekst tabında OLAP Alətləri düyməsini klikləyin. Offline OLAP əmrini seçin (şək. 9.8).

Offline OLAP Data Cube Settings dialoq qutusu görünür. Oflayn Məlumat Faylı Yarat düyməsini klikləyin. Siz Data Cube Faylı Yaratmaq Sihirbazını işə saldınız. Proseduru davam etdirmək üçün Next düyməsini basın.

Əvvəlcə məlumat kubuna daxil ediləcək ölçüləri və səviyyələri təyin etməlisiniz. Dialoq qutusunda OLAP verilənlər bazasından idxal ediləcək məlumatları seçməlisiniz. İdeya yalnız kompüterin yerli şəbəkədən ayrılmasından sonra lazım olacaq ölçüləri müəyyən etməkdir. Nə qədər çox ölçü təyin etsəniz, o qədər daha böyük ölçü oflayn məlumat kubuna sahib olacaq.

Sihirbazın növbəti dialoq qutusuna keçmək üçün Next düyməsini klikləyin. Bu, kuba daxil edilməyəcək üzvləri və ya məlumat elementlərini təyin etmək imkanı verir. Xüsusilə, İnternet Satışı-Genişləndirilmiş Məbləğ ölçüsünə ehtiyacınız olmayacaq, ona görə də siyahıda işarələnməyəcək. Təmizlənmiş onay qutusu göstərilən elementin idxal edilməyəcəyini və yerli sabit diskdə əlavə yer tutacağını göstərir.

Son addımda məlumat kubunun yerini və adını göstərin. Bizim vəziyyətimizdə kub faylı MyOfflineCube.cub adlandırılacaq və İş qovluğunda yerləşəcək.

Data kub faylları genişlənməyə malikdir .kub

Bir müddət sonra Excel oflayn məlumat kubunu göstərilən qovluqda saxlayır. Onu sınamaq üçün faylın üzərinə iki dəfə klikləyin ki, bu da avtomatik olaraq seçilmiş məlumat kubu ilə əlaqəli Pivot Cədvəli olan Excel iş kitabını yaradacaq. Yaradılandan sonra siz oflayn məlumat kubunu oflayn LAN rejimində işləyən bütün maraqlı istifadəçilərə paylaya bilərsiniz.

Yerli şəbəkəyə qoşulduqdan sonra siz oflayn məlumat kub faylını aça və onu, həmçinin müvafiq məlumat cədvəlini yeniləyə bilərsiniz. Əsas prinsip deyir ki, oflayn məlumat kubu yalnız yerli şəbəkə kəsildikdə işləmək üçün istifadə olunur, lakin əlaqə bərpa edildikdən sonra mütləq yenilənir. Bağlantı kəsildikdən sonra oflayn məlumat kubunu yeniləməyə cəhd uğursuz olacaq.

Bu işin bir hissəsi olaraq aşağıdakı suallara baxılacaq:

  • OLAP kubları nədir?
  • Ölçülər, ölçülər, iyerarxiyalar nədir?
  • OLAP kubları üzərində hansı növ əməliyyatlar yerinə yetirilə bilər?
OLAP kubunun konsepsiyası

OLAP-ın əsas postulatı məlumatların təqdim edilməsində çoxölçülülükdür. OLAP terminologiyasında kub və ya hiperkub anlayışı çoxölçülü diskret məlumat məkanını təsvir etmək üçün istifadə olunur.

kub analitik istifadəçinin məlumatı sorğulaya biləcəyi çoxölçülü məlumat strukturudur. Kublar faktlardan və ölçülərdən yaradılmışdır.

Data- bu, təhlil ediləcək şirkətdəki obyektlər və hadisələr haqqında məlumatlardır. Eyni tipli faktlar tədbirlər formalaşdırır. Ölçü kub hüceyrəsindəki dəyər növüdür.

ölçmələr faktların təhlilinin aparıldığı məlumat elementləridir. Belə elementlərin toplusu ölçüsün atributunu təşkil edir (məsələn, həftənin günləri “vaxt” ölçüsünün atributunu təşkil edə bilər). Biznesin təhlili tapşırıqlarında kommersiya müəssisələriölçülər çox vaxt "vaxt", "satış", "məhsullar", "müştərilər", "işçilər", "coğrafi yer" kimi kateqoriyalardır. Ölçülər ən çox istifadəçinin faktiki məlumatları təhlil edə biləcəyi məntiqi kateqoriyalar olan iyerarxik strukturlardır. Hər bir iyerarxiya bir və ya bir neçə səviyyəyə malik ola bilər. Beləliklə, "coğrafi yer" ölçüsünün iyerarxiyasına səviyyələr daxil ola bilər: "ölkə - bölgə - şəhər". Zaman iyerarxiyasında, məsələn, səviyyələrin aşağıdakı ardıcıllığını ayırd etmək olar: Ölçü bir neçə iyerarxiyaya malik ola bilər (bu halda bir ölçünün hər bir iyerarxiyası ölçü cədvəlinin eyni əsas atributuna malik olmalıdır).

Kub bir və ya bir neçə fakt cədvəlindən faktiki məlumatları ehtiva edə bilər və çox vaxt bir neçə ölçüdən ibarətdir. Hər hansı bir xüsusi kub adətən müəyyən bir istiqamətli təhlil mövzusuna malikdir.

Şəkil 1-də müəyyən bir şirkət tərəfindən regionlar üzrə neft məhsullarının satışını təhlil etmək üçün hazırlanmış kub nümunəsi göstərilir. Verilmiş kubüç ölçüyə (zaman, məhsul və region) və bir ölçüyə (pulla ifadə olunan satış həcmi) malikdir. Ölçü dəyərləri kubun müvafiq xanalarında (xanada) saxlanılır. Hər bir xana ölçülərin hər birindən dəst adlanan üzvlər dəsti ilə unikal şəkildə müəyyən edilir. Məsələn, kubun aşağı sol küncündə yerləşən xana (98399$ dəyərini ehtiva edir) tuple ilə verilir [iyul 2005, Uzaq Şərq, Dizel]. Burada 98399 dollar dəyərində 2005-ci ilin iyulunda Uzaq Şərqdə dizel satışının həcmi (pul ifadəsində) göstərilir.

Həmçinin nəzərə alın ki, bəzi xanalarda heç bir dəyər yoxdur: bu xanalar boşdur, çünki fakt cədvəlində onlar üçün məlumatlar yoxdur.

düyü. 1. Müxtəlif bölgələrdə neft məhsullarının satışı haqqında məlumat olan kub

Bu cür kubların yaradılmasının əsas məqsədi faktiki məlumatlardan tələb olunan məlumatları çıxaran sorğuların işlənmə vaxtını minimuma endirməkdir. Bu tapşırığı yerinə yetirmək üçün kublar adətən adlanan əvvəlcədən hesablanmış xülasə məlumatları ehtiva edir birləşmələr(toplamalar). Bunlar. kub faktiki olandan daha böyük məlumat sahəsini əhatə edir - orada məntiqi, hesablanmış nöqtələr var. Ümumi funksiyalar faktiki dəyərlərə əsaslanaraq məntiqi məkanda nöqtə dəyərlərini hesablamağa imkan verir. Ən sadə toplama funksiyaları SUM, MAX, MIN, COUNT-dur. Beləliklə, məsələn, MAX funksiyasından istifadə edərək, nümunədə göstərilən kub üçün, Uzaq Şərqdə dizel satışlarının zirvəsinin nə vaxt baş verdiyini və s.

Çoxölçülü kubların başqa bir spesifik xüsusiyyəti mənşə nöqtəsini təyin etməkdə çətinlikdir. Məsələn, Məhsul və ya Regionlar ölçüsü üçün 0 nöqtəsini necə təyin edirsiniz? Bu problemin həlli ölçüsün bütün elementlərini birləşdirən xüsusi bir atribut təqdim etməkdir. Bu atribut (avtomatik olaraq yaradılan) yalnız bir elementdən ibarətdir - Hamısı ("Hamı"). Cəmlər kimi sadə toplama funksiyaları üçün Hamısı elementi verilmiş ölçüsün faktiki məkanındakı bütün elementlərin dəyərlərinin cəminə ekvivalentdir.

Çoxölçülü məlumat modelində mühüm konsepsiya alt fəza və ya alt kubdur. Subkub, kubun içərisində bəzi çoxölçülü fiqur şəklində olan tam kub məkanının bir hissəsidir. Kubun çoxölçülü fəzası diskret və məhdud olduğundan, alt kub da diskret və məhduddur.

OLAP kubları üzərində əməliyyatlar

OLAP kubunda aşağıdakı əməliyyatlar yerinə yetirilə bilər:

  • kəsmək;
  • fırlanma;
  • konsolidasiya;
  • detal.
dilim(Şəkil 2) alt kubun xüsusi halıdır. Bu, bu alt qrupa daxil olmayan bir və ya bir neçə ölçü elementinin vahid dəyərinə uyğun gələn çoxölçülü məlumat massivinin alt çoxluğunun formalaşdırılması prosedurudur. Məsələn, neft məhsullarının satışının yalnız müəyyən bir bölgədə, yəni Uralsda zamanla necə inkişaf etdiyini öyrənmək üçün "Ural" elementində "Mallar" ölçüsünü düzəltmək və müvafiq alt çoxluğu (alt kub) çıxarmaq lazımdır. kub.
  • düyü. 2. OLAP kub dilimi

    Fırlanma(Şəkil 3) - hesabatda və ya göstərilən səhifədə göstərilən ölçmələrin yerini dəyişdirmə əməliyyatı. Məsələn, fırlanma əməliyyatı cədvəlin sətir və sütunlarının dəyişdirilməsini əhatə edə bilər. Bundan əlavə, məlumat kubunun fırlanması qeyri-cədvəl ölçülərini göstərilən səhifədə mövcud olan ölçülərin yerinə və əksinə köçürməkdir.

    Mən kifayət qədər uzun müddətdir ki, Habrın sakiniyəm, lakin çoxölçülü kublar, OLAP və MDX mövzusunda məqalələr oxumamışam, baxmayaraq ki, mövzu çox maraqlıdır və hər gün daha çox aktuallaşır.
    Heç kimə sirr deyil ki, həmin qısa müddət ərzində verilənlər bazası, elektron uçot və onlayn sistemlərin inkişafı, çoxlu məlumatlar toplanıb. İndi arxivlərin tam təhlili də maraq doğurur və bəlkə də gələcəkdə oxşar modellər üçün vəziyyətləri proqnozlaşdırmaq cəhdidir.
    Digər tərəfdən, böyük şirkətlər, hətta bir neçə il, aylar və hətta həftələr ərzində o qədər böyük həcmdə məlumat toplaya bilər ki, hətta onların elementar təhlili qeyri-adi yanaşmalar və ciddi avadanlıq tələbləri tələb edir. Bunlar bank əməliyyatlarının emal sistemləri, birja agentləri, telefon operatorları və s. ola bilər.
    Hesab edirəm ki, hər kəs verilənlər bazası dizaynının qurulması üçün 2 fərqli yanaşmanı yaxşı bilir: OLTP və OLAP. Birinci yanaşma (Online Transaction Processing - real-time tranzaksiya emalı) səmərəli real vaxt məlumatların toplanması üçün nəzərdə tutulmuşdur, ikincisi (Online Analytical Processing - real-time analitik emal) xüsusi olaraq məlumatların ən səmərəli şəkildə seçilməsi və emalına yönəlmişdir. yol.

    Müasir OLAP kublarının əsas xüsusiyyətlərinə və hansı vəzifələri həll etdiklərinə baxaq (Analysis Services 2005/2008 əsasında):

    • sürətli məlumat əldə etmək
    • qabaqcadan toplama
    • iyerarxiya
    • zamanla işləmək
    • çoxölçülü verilənlərə çıxış dili
    • KPI (Əsas Performans Göstəriciləri)
    • tarix mədən
    • çoxsəviyyəli keşləmə
    • çoxdilli dəstək
    Beləliklə, OLAP kublarının imkanlarına bir az daha ətraflı baxaq.

    İmkanlar haqqında bir az daha

    Məlumata sürətli giriş
    Əslində, massivin ölçüsündən asılı olmayaraq verilənlərə sürətli çıxış OLAP sistemlərinin əsasını təşkil edir. Bu əsas diqqət mərkəzində olduğundan, məlumat anbarı adətən əlaqəli verilənlər bazalarından fərqli prinsiplər üzərində qurulur.
    Burada sadə məlumatların alınması vaxtı saniyənin fraksiyaları ilə ölçülür və bir neçə saniyədən çox olan sorğu üçün optimallaşdırma tələb oluna bilər.

    qabaqcadan toplama
    Mövcud məlumatların tez seçilməsi ilə yanaşı, o, həmçinin "ən çox istifadə olunan" dəyərləri əvvəlcədən toplamaq imkanı verir. Məsələn, müəyyən bir məhsul üçün gündəlik satış qeydlərimiz varsa, sistem Ola bilər biz həmçinin aylıq və rüblük satış məbləğlərini əvvəlcədən cəmləşdiririk, bu o deməkdir ki, biz aylıq və ya rüblük məlumat tələb etsək, sistem dərhal bizə nəticə verəcək. Niyə preaggregation həmişə baş vermir - çünki nəzəri cəhətdən mümkün olan malların/vaxtın/s. kombinasiyaları. çox sayda ola bilər, bu o deməkdir ki, aqreqasiyanın hansı elementlər üçün qurulacağı və hansı üçün edilməyəcəyi aydın qaydalara sahib olmalısınız. Ümumiyyətlə, bu qaydaların nəzərə alınması və aqreqasiyaların faktiki dizaynı mövzusu kifayət qədər genişdir və özlüyündə ayrıca məqaləyə layiqdir.

    İyerarxiyalar
    Təbiidir ki, məlumatları təhlil edərkən və yekun hesabatlar tərtib edərkən ayların günlərdən ibarət olduğunu və onların özlərinin də məhəllələri təşkil etdiyini, şəhərlərin isə öz növbəsində regionların və ya ölkələrin bir hissəsi olan bölgələrə daxil edildiyini nəzərə almaq lazımdır. . Yaxşı xəbər odur ki, OLAP kubları ilkin olaraq məlumatları iyerarxiya və eyni obyektin digər ölçüləri ilə əlaqələr baxımından nəzərdən keçirir, buna görə də kublarda iyerarxiya qurmaq və istifadə etmək çox asandır.

    Zamanla işləmək
    Məlumatların təhlili əsasən vaxt intervallarında baş verdiyi üçün OLAP sistemlərində zamana xüsusi önəm verilir, yəni sistem üçün sadəcə olaraq burada vaxtımızın olduğunu təyin etməklə, gələcəkdə İldən To kimi funksiyalardan asanlıqla istifadə edə bilərsiniz. Tarix, Aydan Tarixə (ilin/ayın əvvəlindən cari tarixə qədər olan dövr), Paralel Dövr (eyni gündə və ya ayda, lakin son ildə) və s.

    Çoxölçülü Məlumat Giriş Dili
    MDX(Çoxölçülü İfadələr) çoxölçülü məlumat strukturlarına asan və səmərəli daxil olmaq üçün sorğu dilidir. Və bu, hər şeyi deyir - aşağıda bir neçə nümunə var.

    Əsas Performans Göstəriciləri (KPI)
    Əsas Performans Göstəriciləri təşkilata strateji məqsədlərə nail olmağı müəyyən etməyə kömək edən maliyyə və qeyri-maliyyə qiymətləndirmə sistemidir. Əsas performans göstəriciləri OLAP sistemlərində asanlıqla müəyyən edilə və hesabatlarda istifadə edilə bilər.

    Tarix mədən
    Data mining(Data Mining) - əslində, böyük məlumat dəstlərində dəyişənlər arasında gizli nümunələrin və ya əlaqələrin müəyyən edilməsi.
    İngilis dilindəki "Data Mining" termininin rus dilinə birmənalı tərcüməsi yoxdur (data mining, data mining, informasiyanın nüfuzu, məlumatların / məlumatların çıxarılması), buna görə də əksər hallarda orijinalda istifadə olunur. Ən uğurlu dolayı tərcümə "data mining" (DIA) terminidir. Bununla belə, bu, nəzərdən keçirilməli olan ayrı, daha az maraqlı olmayan bir mövzudur.

    Çoxsəviyyəli keşləmə
    Əslində, ən yüksək məlumat əldə etmə sürətini təmin etmək üçün çətin məlumat strukturları və preaggregations ilə yanaşı, OLAP sistemləri çox səviyyəli keşləşdirməni dəstəkləyir. Sadə sorğuların keşləşdirilməsi ilə yanaşı, yaddaşdan oxunan məlumatların hissələri, toplanmış dəyərlər və hesablanmış dəyərlər də keşlənir. Beləliklə, bir OLAP kubu ilə nə qədər uzun müddət işləsəniz, əslində bir o qədər tez işə başlayır. OLAP sistemini xüsusi hesabatlar, sorğular və ya hamısı ilə birlikdə işləməyə hazırlayan əməliyyat - "keşin istiləşməsi" anlayışı da var.

    Çoxdilli dəstək
    Hə hə hə. Ən azı, Analysis Services 2005/2008 (lakin Enterprise Edition) çoxdilliliyi yerli olaraq dəstəkləyir. Məlumatlarınızın sətir parametrlərinin tərcüməsini təmin etmək kifayətdir və dilini təyin edən müştəri lokallaşdırılmış məlumatları alacaq.

    Çoxölçülü kublar

    Bəs bu çoxölçülü kublar nədir?
    Gəlin oxlarında Zaman, Mallar və Alıcılar olan 3 ölçülü məkanı təsəvvür edək.
    Belə bir məkanda bir nöqtə, alıcılardan birinin müəyyən bir ayda müəyyən bir məhsul alması faktını təyin edəcəkdir.

    Əslində, təyyarə (və ya bütün bu cür nöqtələrin dəsti) bir kub olacaq və buna uyğun olaraq Zaman, Mallar və Alıcılar onun ölçüləri olacaqdır.
    Dördölçülü və ya daha çox kubu təsəvvür etmək (və çəkmək) bir az daha çətindir, lakin bunun mahiyyəti dəyişmir və ən əsası, OLAP sistemləri üçün neçə ölçüdə işləyəcəyiniz heç bir əhəmiyyət kəsb etmir (ağlabatan çərçivədə). məhdudiyyətlər, əlbəttə).

    Bəzi MDX

    Beləliklə, MDX-in gözəlliyi nədir - çox güman ki, məlumatları necə seçmək istədiyimizi deyil, təsvir etməliyik. Tam olaraq nə Biz istəyirik.
    Misal üçün,
    SEÇİN
    ( . ) SÜTUNLARDA,
    ( ., . ) SATIRLARDA
    FROM
    HARADA (., .)

    Bu o deməkdir ki, mən Mozambikdə iyun və iyul aylarında satılan iPhone-ların sayını istəyirəm.
    Bunu edərkən təsvir edirəm hansı tam olaraq istədiyim məlumatlar və Necə Mən onları hesabatda görmək istəyirəm.
    Gözəl, elə deyilmi?

    Və burada bir az daha mürəkkəbdir:

    ÜZVLƏ AverageSpend AS
    . / .
    SEÇİN
    (Orta xərcləmə) SÜTUNLARDA,
    ( .., .. ) SATIRLARDA
    FROM
    HARADA(.)

    * Bu mənbə kodu Mənbə Kodu Vurğulayıcı ilə vurğulanıb.

    Əslində, əvvəlcə biz "orta alış ölçüsünü" hesablamaq üçün düsturu müəyyənləşdiririk və Apple mağazasına bir səfərdə kimin (hansı cinsin) daha çox pul xərclədiyini müqayisə etməyə çalışırıq.

    Dilin özü həm öyrənmək, həm də istifadə etmək üçün son dərəcə maraqlıdır və bəlkə də çox müzakirəyə layiqdir.

    Nəticə

    Əslində, bu məqalə hətta əsas anlayışları çox az əhatə edir, mən bunu "məzə" adlandırardım - habr ictimaiyyətini bu mövzuda maraqlandırmaq və onu daha da inkişaf etdirmək imkanı. İnkişafa gəlincə, orada nəhəng şumlanmayan sahə var və mən sizin bütün suallarınızı məmnuniyyətlə cavablandıracağam.

    P.S. Bu, OLAP haqqında ilk yazım və Habré-də ilk nəşrimdir - konstruktiv rəy üçün çox minnətdar olacağam.
    yeniləmə: SQL-ə köçürdüm, yeni bloqlar yaratmağa icazə verən kimi OLAP-a keçəcəyəm.

    Teqlər: Teqlər əlavə edin