Mikä on olap-kuutio excelissä. Luo SSAS-projekti. Mitä on analyysi ja miksi sitä tarvitaan

Vakavan yrityksen tietojärjestelmät sisältävät yleensä sovelluksia, jotka on suunniteltu tietojen monimutkaiseen analysointiin, niiden dynamiikkaan, trendeihin jne. Näin ollen ylimmästä johdosta tulee analyysitulosten pääasiallinen kuluttaja. Tällaisen analyysin tarkoituksena on viime kädessä helpottaa päätöksentekoa. Ja minkä tahansa johdon päätöksen tekemiseksi tarvitaan tähän tarvittavat tiedot, yleensä määrälliset. Tätä varten on tarpeen kerätä nämä tiedot kaikilta tietojärjestelmä johtaa yhteiseen muotoon ja vasta sitten analysoida. Tätä varten luo tietovarastot (Data Warehouses).

Mikä on tietovarasto?

Yleensä - paikka, jossa kaikki analyyttisesti arvokkaat tiedot kerätään. Tällaisten varastojen vaatimukset noudattavat OLAP:n klassista määritelmää, ja ne selitetään alla.

Joskus Varastolla on toinen tarkoitus - integroida kaikki yritystiedot, jotta voidaan säilyttää tietojen eheys ja merkityksellisyys kaikissa tietojärjestelmissä. Että. arkisto kerää analyyttisten tietojen lisäksi lähes kaiken tiedon ja voi antaa sen hakemistojen muodossa takaisin muihin järjestelmiin.

Tyypillinen tietovarasto on yleensä erilainen kuin tyypillinen relaatiotietokanta. Ensinnäkin perinteiset tietokannat on suunniteltu auttamaan käyttäjiä päivittäisessä työssään, kun taas tietovarastot on suunniteltu tekemään päätöksiä. Esimerkiksi tuotteen myynti ja laskun laatiminen tehdään tapahtumien käsittelyyn tarkoitetun tietokannan avulla sekä myynnin dynamiikan analysointi useiden vuosien ajalta, mikä mahdollistaa työn suunnittelun tavarantoimittajien kanssa tietovaraston avulla.

Toiseksi säännölliset tietokannat muuttuvat jatkuvasti käyttäjien työskentelyn aikana ja tietovarasto on suhteellisen vakaa: sen tiedot päivittyvät yleensä aikataulun mukaan (esim. viikoittain, päivittäin tai tunneittain riippuen tarpeet). Ihannetapauksessa täydennysprosessi on yksinkertaisesti uusien tietojen lisääminen tietyn ajanjakson aikana muuttamatta jo tallennettuja vanhoja tietoja.

Ja kolmanneksi, perinteiset tietokannat ovat useimmiten arkistoon saapuvien tietojen lähde. Lisäksi varastoa voidaan täydentää ulkoisista lähteistä kuten tilastoraportit.

Miten varasto rakennetaan?

ETL– Peruskonsepti: Kolme vaihetta:
  • Purkaminen - tietojen purkaminen ulkoisista lähteistä ymmärrettävässä muodossa;
  • Transformaatio - lähdetietorakenteen muuntaminen rakenteiksi, jotka ovat käteviä analyyttisen järjestelmän rakentamiseen;
Lisätään vielä yksi vaihe - tietojen puhdistus ( puhdistus) - epäolennaisten tietojen seulominen tai virheellisten tietojen korjaaminen tilastollisiin tai asiantuntijamenetelmiin perustuen. Jotta ei luoda myöhempiä raportteja, kuten "Myynnit 20011".

Palataan analyysiin.

Mitä analyysi on ja miksi sitä tarvitaan?

Analyysi on tietojen tutkimista päätösten tekemiseksi. Analyyttisiä järjestelmiä kutsutaan ns. DSS).

Tässä on syytä korostaa eroa DSS:n ja yksinkertaisen säänneltyjen ja ei-säänneltyjen raporttien välillä. DSS-analyysi on lähes aina interaktiivista ja iteratiivista. Nuo. analyytikko kaivautuu aineistoon, kokoaa ja korjaa analyyttisiä kyselyjä ja vastaanottaa raportteja, joiden rakennetta ei ehkä tiedetä etukäteen. Palaamme tähän tarkemmin alla, kun keskustelemme kyselykielestä. MDX.

OLAP

Päätöksen tukijärjestelmillä on yleensä välineet tarjota käyttäjälle aggregoituja tietoja eri näytteistä alkuperäisestä joukosta sellaisessa muodossa, joka on kätevä havaita ja analysoida (taulukot, kaaviot jne.). Perinteisessä lähdetiedon segmentoinnin lähestymistavassa lähdetiedoista valitaan yksi tai useampi moniulotteinen tietojoukko (kutsutaan usein hyperkuutioksi tai metakuutioksi), joiden akselit sisältävät attribuutteja ja solut sisältävät aggregoitua kvantitatiivista dataa. (Lisäksi tällaisia ​​tietoja voidaan tallentaa relaatiotaulukoihin, mutta tässä tapauksessa puhutaan tietojen loogisesta järjestämisestä, ei niiden tallennuksen fyysisestä toteutuksesta.) Jokaisen akselin varrella attribuutit voidaan järjestää eri tasoja edustaviksi hierarkioiksi. yksityiskohdista. Tämän tietomallin ansiosta käyttäjät voivat muotoilla monimutkaisia ​​kyselyitä, luoda raportteja ja vastaanottaa datan osajoukkoja.

Moniulotteisen data-analyysin tekniikkaa kutsutaan OLAP:ksi (On-Line Analytical Processing). OLAP on perinteisen tietovarastoinnin keskeinen osa. OLAP-käsitteen kuvasi vuonna 1993 Edgar Codd, tunnettu tietokantatutkija ja relaatiotietomallin kirjoittaja. Vuonna 1995 laadittiin Coddin hahmottelemien vaatimusten pohjalta ns. FASMI-testi (Fast Analysis of Shared Multidimensional Information - nopea jaetun moniulotteisen tiedon nopea analyysi), joka sisältää seuraavat vaatimukset moniulotteisen analyysin sovelluksille:

  • analyysin tulosten antaminen käyttäjälle hyväksyttävässä ajassa (yleensä enintään 5 sekunnissa), jopa vähemmän yksityiskohtaisen analyysin kustannuksella;
  • mahdollisuus suorittaa mikä tahansa looginen ja tilastollinen analyysi, joka on ominaista Tämä hakemus, ja sen säilyttäminen loppukäyttäjän saatavilla olevassa muodossa;
  • usean käyttäjän pääsy tietoihin asianmukaisten lukitusmekanismien ja valtuutetun pääsyn työkalujen tuella;
  • tietojen moniulotteinen käsitteellinen esitys, mukaan lukien täysi tuki hierarkioissa ja useissa hierarkioissa (tämä on OLAPin keskeinen vaatimus);
  • mahdollisuus päästä käsiksi kaikkiin tarvittaviin tietoihin niiden määrästä ja tallennuspaikasta riippumatta.
On huomattava, että OLAP-toiminnallisuus voidaan toteuttaa eri tavoilla alkaen toimistosovellusten yksinkertaisimmista data-analyysityökaluista ja päättyen palvelintuotteisiin perustuviin hajautettuihin analyyttisiin järjestelmiin. Nuo. OLAP ei ole tekniikka, vaan ideologia.

Ennen kuin puhumme OLAPin erilaisista toteutuksista, katsotaanpa tarkemmin, mitä kuutiot ovat loogisesta näkökulmasta.

Moniulotteiset käsitteet

Käytämme Microsoftin mukana tulevaa Northwind-tietokantaa havainnollistamaan OLAP-periaatteita. SQL Server ja joka on tyypillinen tietokanta, joka tallentaa tietoa elintarvikkeiden tukkukauppaa harjoittavan yrityksen kauppatoiminnasta. Tällaisia ​​tietoja ovat tiedot toimittajista, asiakkaista, luettelo toimitetuista tuotteista ja niiden luokista, tiedot tilauksista ja tilatuista tuotteista, luettelo yrityksen työntekijöistä.

Kuutio

Otetaan esimerkiksi taulukko Laskut1, joka sisältää yrityksen tilaukset. Tämän taulukon kentät ovat seuraavat:
  • Tilauspäivämäärä
  • Maa
  • Kaupunki
  • Asiakkaan nimi
  • Toimitusyhtiö
  • tuotteen nimi
  • Tavaroiden määrä
  • Tilaushinta
Mitä aggregoituja tietoja voimme saada tämän näkemyksen perusteella? Yleensä nämä ovat vastauksia kysymyksiin, kuten:
  • Mikä on tietystä maasta tulevien asiakkaiden tekemien tilausten kokonaisarvo?
  • Mitkä ovat tietyn maan asiakkaiden tekemien ja tietyn yrityksen toimittamien tilausten kokonaiskustannukset?
  • Mikä on tietystä maasta tulevien asiakkaiden tiettynä vuonna tekemien ja tietyn yrityksen toimittamien tilausten kokonaisarvo?
Kaikki nämä tiedot voidaan saada tästä taulukosta melko ilmeisillä SQL-kyselyillä ryhmittelyllä.

Tämän kyselyn tulos on aina numerosarake ja luettelo sitä kuvaavista attribuuteista (esimerkiksi maa) - tämä on yksiulotteinen tietojoukko tai matemaattisesti vektori.

Kuvittele, että meidän on saatava tiedot tilausten kokonaiskustannuksista kaikista maista ja niiden jakautumisesta kuljetusyhtiöiden kesken - saamme jo numerotaulukon (matriisin), jossa sarakeotsikoissa luetellaan kuljettajat, riviotsikoissa maat , ja solut sisältävät tilausten määrän. Tämä on kaksiulotteinen tietojoukko. Tällaista tietojoukkoa kutsutaan pivot-taulukoksi ( pivot-taulukko) tai ristikkotaulu.

Jos haluamme saada samat tiedot, mutta vuosien kontekstissa, tulee yksi muutos lisää, ts. tietojoukosta tulee kolmiulotteinen (3. asteen ehdollinen tensori tai 3-ulotteinen "kuutio").

Ilmeisesti mittojen enimmäismäärä on kaikkien niiden määritteiden määrä (päivämäärä, maa, asiakas jne.), jotka kuvaavat aggregoituja tietojamme (tilausten määrä, tavaroiden määrä jne.).

Joten tulemme moniulotteisuuden käsitteeseen ja sen ilmentymiseen - moniulotteinen kuutio . Tätä taulukkoa kutsutaan nimellä faktataulukko". Mitat tai kuutioakselit ( mitat) ovat attribuutteja, joiden koordinaatit ilmaistaan ​​tietotaulukossa olevien attribuuttien yksittäisillä arvoilla. Nuo. jos esimerkiksi tilaustietoja ylläpidettiin järjestelmässä vuosina 2003-2010, niin tämä vuosiakseli koostuu 8 vastaavasta pisteestä. Jos tilaukset tulevat kolmesta maasta, maa-akselilla on 3 pistettä ja niin edelleen. Riippumatta siitä, kuinka monta maata on sisällytetty maaluetteloon. Pisteitä akselilla kutsutaan sen "jäseniksi" ( Jäsenet).

Itse koottua tietoa kutsutaan tässä tapauksessa "toimenpiteiksi" ( mitata). Jotta vältetään sekaannukset "mittojen" kanssa, on parempi viitata jälkimmäiseen "akseleina". Mittasarja muodostaa toisen "Measures"-akselin ( Toimenpiteet). Siinä on yhtä monta jäsentä (pistettä) kuin on mittoja (koostettuja sarakkeita) tietotaulukossa.

Mittojen tai akselien jäsenet voidaan ryhmitellä yhteen tai useampaan hierarkiaan ( hierarkia). Selvitetään esimerkin avulla, mikä hierarkia on: kaupungit tilauksista voidaan yhdistää alueiksi, piirit alueella, maan alueet, maat maanosiksi tai muiksi kokonaisuuksiksi. Nuo. on hierarkkinen rakenne - maanosa maa-alue-alue-kaupunki– 5 tasoa ( Taso). Piiristä tiedot kootaan kaikista siihen kuuluvista kaupungeista. Kaikkien piirien alueelle, joka sisältää kaikki kaupungit jne. Miksi tarvitsemme useita hierarkioita? Esimerkiksi tilauspäivämäärä-akselilla saatamme haluta ryhmitellä pisteet (eli päivät) hierarkiaan Vuosi kuukausi päivä tai Vuosi-viikko-päivä: molemmissa tapauksissa kolme tasoa. Ilmeisesti Viikko ja kuukausi ryhmittelevät päivät eri tavalla. On myös hierarkioita, joiden tasojen lukumäärä ei ole deterministinen ja riippuu tiedoista. Esimerkiksi kansiot tietokoneen levyllä.

Tietojen yhdistäminen voi tapahtua käyttämällä useita vakiofunktioita: summa, minimi, maksimi, keskiarvo, määrä.

MDX

Siirrytään kyselykieleen moniulotteisessa datassa.
SQL-kieli ei alun perin suunniteltu ohjelmoijille, vaan analyytikoille (ja siksi sen syntaksi muistuttaa luonnollista kieltä). Mutta ajan myötä siitä tuli yhä monimutkaisempi, ja nyt harvat analyytikot osaavat käyttää sitä hyvin, jos ollenkaan. Siitä on tullut ohjelmoijien työkalu. MDX-kyselykielen, jonka huhutaan kehittäneen entinen maanmiehemme Moishe (tai Mosha) Posumansky Microsoft Corporationin erämaassa, piti alun perin olla suunnattu myös analyytikoille, mutta sen käsitteet ja syntaksi (joka muistuttaa epämääräisesti SQL:ää ja täysin turhaan, koska tämä on vain hämmentävää), jopa monimutkaisempi kuin SQL. Siitä huolimatta sen perusasiat ovat edelleen helppo ymmärtää.

Käsittelemme sitä yksityiskohtaisesti, koska se on ainoa kieli, joka on saanut standardin statuksen yleisen XMLA-protokollastandardin puitteissa, ja toiseksi, koska siitä on olemassa avoimen lähdekoodin toteutus Mondrian-projektin muodossa. yrityksestä Pentaho. Muut OLAP-analyysijärjestelmät (esimerkiksi Oracle OLAP Option) käyttävät yleensä omia SQL-syntaksilaajennuksiaan, mutta ne ilmoittavat myös tuen MDX:lle.

Työskentely analyyttisten tietotaulukoiden kanssa edellyttää vain niiden lukemista, ei kirjoittamista. Että. MDX-kielessä ei ole lausekkeita tietojen muuttamisesta, mutta on vain yksi valintalause - select.

OLAPissa voit tehdä moniulotteisista kuutioista viipaleita– eli kun tiedot suodatetaan yhtä tai useampaa akselia pitkin, tai ennusteita- kun kuutio "kutistuu" yhtä tai useampaa akselia pitkin, kokoamalla tietoja. Esimerkiksi ensimmäinen esimerkkimme maista tulevien tilausten summalla - siellä on kuution projektio maan akselilla. Tämän tapauksen MDX-kysely näyttäisi tältä:

Valitse ...Lapset riveillä alkaen
Mitä tässä on?

Valitse- avainsana sisältyy syntaksiin vain kauneuden vuoksi.
on akselin nimi. Kaikki MDX:n erisnimet kirjoitetaan hakasulkeissa.
on hierarkian nimi. Meidän tapauksessamme tämä on maa-kaupunki -hierarkia.
on akselin jäsenen nimi hierarkian ensimmäisellä tasolla (eli maa). All on metajäsen, joka yhdistää kaikki akselin jäsenet. Jokaisella akselilla on sellainen metajäsen. Esimerkiksi vuosien akselilla on "Kaikki vuodet" jne.
Lapset on jäsentoiminto. Jokaisella jäsenellä on useita käytettävissä olevia toimintoja. kuten vanhempi. Taso, Hierarkia, joka palauttaa vastaavasti esi-isän, tason hierarkiassa ja itse hierarkian, johon jäsen tässä tapauksessa kuuluu. Lapset - Palauttaa tämän jäsenen alijäsenten joukon. Nuo. meidän tapauksessamme maat.
riveillä– Määrittää, kuinka nämä tiedot järjestetään yhteenvetotaulukossa. Tässä tapauksessa rivin otsikossa. Mahdollisia arvoja tässä ovat: sarakkeissa, sivuilla, kappaleissa jne. On myös mahdollista määrittää yksinkertaisesti indekseillä, alkaen 0.
alkaen on osoitus kuutiosta, josta valinta tehdään.

Entä jos emme tarvitse kaikkia maita, vaan vain muutamia tiettyjä maita? Voit tehdä tämän ilmoittamalla pyynnössä nimenomaisesti ne maat, jotka tarvitsemme, etkä valita kaikkia Lapset-toiminnolla.

Valitse ( ..., ... ) riveiltä alkaen
Kiharat aaltosulkeet ovat tässä tapauksessa asetettu ilmoitus ( aseta). Joukko on luettelo, jäsenten luettelo yhdeltä akselilta.

Nyt kirjoitetaan kysely toiselle esimerkillemme - tuotos toimittajan kontekstissa:

Valitse ...Lapset riveillä .Jäsenet sarakkeissa alkaen
Lisätty tähän:
- akseli;
.Jäsenet on akselifunktio, joka palauttaa kaikki sen jäsenet. Sama toiminto on käytettävissä hierarkialle ja tasolle. Koska tällä akselilla on vain yksi hierarkia, niin sen osoitus voidaan jättää pois, koska taso ja hierarkia ovat myös samat, voit näyttää kaikki jäsenet yhdessä luettelossa.

Minusta on jo selvää, kuinka voimme jatkaa tätä kolmanteen esimerkkiimme vuosittaisella tarkennuksella. Mutta älkäämme tarkentako vuosikohtaisesti, vaan suodatetaan - ts. rakentaa leikkaus. Voit tehdä tämän kirjoittamalla seuraavan kyselyn:

Valitse ..Lapset riveillä .Jäsenet sarakkeissa mistä (.)
Missä on suodatus?

missä- avainsana
on yksi hierarkian jäsen . Koko nimi, mukaan lukien kaikki ehdot, olisi: .. , mutta koska tämän jäsenen nimi on yksilöllinen akselin sisällä, niin kaikki välinimitunnisteet voidaan jättää pois.

Miksi päivämääräjäsen on suluissa? Sulut ovat monikko ( monikko). Tuple on yksi tai useampi koordinaatti eri kirveet. Jos esimerkiksi haluat suodattaa kahta akselia pitkin kerralla, luettelemme suluissa kaksi termiä kohteesta eri mitat pilkuilla erotettuina. Toisin sanoen monikko määrittelee kuution "viipaleen" (tai "suodatuksen", jos tällainen terminologia on lähempänä).

Tuplea käytetään muuhunkin kuin vain suodatukseen. Tuples voi olla myös rivin/sarakkeen/sivun otsikoissa jne.

Tämä on tarpeen esimerkiksi kolmiulotteisen kyselyn tuloksen näyttämiseksi kaksiulotteisessa taulukossa.

Valitse crossjoin(...Lapset, ..Lapset) riveille .Jäsenet sarakkeille, mistä (.)
Ristiliitos on toiminto. Se palauttaa joukon monikoita (kyllä, joukko voi sisältää monikoita!), joka saadaan kahden joukon karteesisesta tulosta. Nuo. tulosjoukko sisältää kaikki mahdolliset maiden ja vuosien yhdistelmät. Rivien otsikot sisältävät siis pari arvoa: Maa-vuosi.

Kysymys kuuluu, missä on osoitus siitä, mitä numeerisia ominaisuuksia pitäisi näyttää? Tässä tapauksessa käytetään tälle kuutiolle määritettyä oletusarvoa, ts. Tilaushinta. Jos haluamme näyttää toisen suuren, muistamme, että suuret ovat ulottuvuuden jäseniä Toimenpiteet. Ja toimimme samalla tavalla kuin muiden akseleiden kanssa. Nuo. kyselyn suodattaminen jollakin mitalla näyttää täsmälleen tämän suuren soluissa.

Kysymys: miten suodatus eroaa suodatuksesta määrittämällä akselien jäsenet riveille. Vastaus: käytännössä ei mitään. Se on vain, että jossa viipale on merkitty niille akseleille, jotka eivät osallistu otsikon muodostukseen. Nuo. sama akseli ei voi olla läsnä samaan aikaan riveillä, ja sisään missä.

Lasketut jäsenet

Lisää monimutkaiset kyselyt voit ilmoittaa laskennalliset jäsenet. Sekä määriteakselin että mitta-akselin jäsenet. Nuo. Voit ilmoittaa esimerkiksi uuden mittarin, joka näyttää kunkin maan osuuden tilausten kokonaismäärästä:

Jäsenen kanssa. muodossa '.CurrentMember / ..', FORMAT_STRING='0.00%' valitse ...Lapset riveillä mistä .
Laskenta tapahtuu sellaisen solun yhteydessä, jonka kaikki koordinaattiattribuutit tunnetaan. Vastaavat koordinaatit (jäsenet) voidaan saada CurrentMember-funktiolla kullekin kuution akselille. Tässä on ymmärrettävä, että ilmaisu .Nykyinen jäsen / ..' ei jaa termiä toisella, vaan jakaa asiaankuuluvat aggregoidut tiedot kuutio viipaleita! Nuo. nykyisen alueen siivu jaetaan kaikkien alueiden siivuksi, ts. kaikkien tilausten kokonaisarvo. FORMAT_STRING - määrittää arvojen tulostuksen muodon, ts. %.

Toinen esimerkki lasketusta jäsenestä, mutta jo vuosiakselilla:

Jäsenen kanssa. kuten'. -.'
On selvää, että raportissa ei ole yksikköä, vaan vastaavien viipaleiden erotusta, ts. tilausmäärien ero näiden kahden vuoden aikana.

Näyttö ROLAPissa

OLAP-järjestelmät perustuvat jotenkin jonkinlaiseen tiedontallennus- ja organisaatiojärjestelmään. Kun me puhumme RDBMS:stä, sitten he puhuvat ROLAPista (jätämme MOLAPin ja HOLAPin Itsenäinen opiskelu). ROLAP - OLAP relaatiotietokannassa, ts. kuvataan tavanomaisten kaksiulotteisten taulukoiden muodossa. ROLAP-järjestelmät muuntavat MDX-kyselyt SQL:ksi. Tietokannan suurin laskentaongelma on nopea aggregointi. Nopeamman aggregoinnin vuoksi tietokannan tiedot ovat yleensä erittäin denormalisoituja, ts. ei tallenneta kovin tehokkaasti levytilan ja tietokannan eheyden hallinnan kannalta. Plus sisältää lisäksi aputaulukoita, jotka tallentavat osittain koottua tietoa. Siksi OLAP:ia varten luodaan yleensä erillinen tietokantaskeema, joka toistaa vain osittain alkuperäisten tapahtumatietokantojen rakenteen hakemistojen osalta.

Navigointi

Monet OLAP-järjestelmät tarjoavat työkaluja interaktiiviseen navigointiin jo muodostetun kyselyn (ja vastaavasti valitun tiedon) kautta. Tässä tapauksessa käytetään niin kutsuttua "porausta" tai "porausta" (poraa). Sopivampi käännös venäjäksi olisi sana "syventäminen". Mutta tämä on makuasia, joissain ympäristöissä sana "poraus" on jäänyt kiinni.

Porata- tämä on raportin tarkentaminen vähentämällä tietojen aggregointiastetta yhdistettynä suodatukseen jollakin toisella akselilla (tai useilla akseleilla). Poraus on useita tyyppejä:

  • poraus– suodatus jollakin raportin alkuperäisistä akseleista, jolloin saadaan yksityiskohtaisia ​​tietoja valitun suodatusjäsenen hierarkiassa olevista jälkeläisistä. Jos esimerkiksi on raportti tilausten jakautumisesta maittain ja vuosien mukaan, niin kun napsautat vuotta 2007, raportti näytetään vuoden 2007 samojen maiden ja kuukausien kontekstissa.
  • poraa sivuun– suodatus yhden tai useamman valitun akselin alle ja aggregoinnin poistaminen yhden tai useamman muun akselin mukaan. Jos esimerkiksi on raportti tilausten jakautumisesta maittain ja vuosien mukaan, kun napsautat 2007, toinen raportti näytetään esimerkiksi vuoden 2007 mukaan suodatetun Maat ja toimittajat kontekstissa.
  • porata läpi– aggregoinnin poistaminen kaikilta akseleilta ja samanaikainen suodatus niillä – mahdollistaa alkuperäisen datan näkemisen faktataulukosta, josta raportin arvo on saatu. Nuo. kun napsautat solun arvoa, näkyviin tulee raportti, joka sisältää kaikki tilaukset, jotka antoivat kyseisen summan. Eräänlaista välitöntä poraamista kuution "suoliin".
Siinä kaikki. Nyt, jos päätät omistautua Business Intelligencelle ja OLAP:lle, on aika alkaa lukea vakavaa kirjallisuutta.

Tunnisteet: Lisää tunnisteita

Olen asunut Habrissa melko pitkään, mutta en ole koskaan lukenut artikkeleita moniulotteisista kuutioista, OLAPista ja MDX:stä, vaikka aihe on erittäin mielenkiintoinen ja siitä tulee päivä päivältä enemmän ja enemmän.
Ei ole mikään salaisuus, että tietokantojen, sähköisen kirjanpidon ja online-järjestelmien kehityksen aikana on kertynyt paljon tietoa. Nyt kiinnostaa myös täysimittainen arkistojen analyysi ja mahdollisesti yritys ennustaa tilanteita vastaaville malleille tulevaisuudessa.
Toisaalta suuret yritykset voivat kerätä jopa muutamassa vuodessa, kuukaudessa tai jopa viikossa niin suuria tietomääriä, että niiden alkeisanalyysikin vaatii poikkeuksellisia lähestymistapoja ja tiukkoja laitteistovaatimuksia. Nämä voivat olla pankkitapahtumien käsittelyjärjestelmiä, valuutanvaihtoagentteja, puhelinoperaattoreita jne.
Luulen, että kaikki ovat hyvin tietoisia kahdesta eri lähestymistavasta tietokannan suunnitteluun: OLTP ja OLAP. Ensimmäinen lähestymistapa (Online Transaction Processing - reaaliaikainen tapahtumien käsittely) on suunniteltu tehokkaaseen reaaliaikaiseen tiedonkeruuun, kun taas toinen (Online Analytical Processing - reaaliaikainen analyyttinen käsittely) on suunnattu nimenomaan tietojen otamiseen ja käsittelyyn tehokkaimmalla tavalla. tapa.

Katsotaanpa nykyaikaisten OLAP-kuutioiden pääpiirteitä ja mitä tehtäviä ne ratkaisevat (Analysis Services 2005/2008:n perusteella):

  • nopea pääsy dataan
  • esiaggregointi
  • hierarkia
  • työskennellä ajan kanssa
  • moniulotteinen tietojen käyttökieli
  • KPI:t (Key Performance Indicators)
  • taatelien louhinta
  • monitasoinen välimuisti
  • monikielinen tuki
Katsotaanpa siis OLAP-kuutioiden mahdollisuuksia hieman yksityiskohtaisemmin.

Hieman lisää mahdollisuuksista

Nopea pääsy tietoihin
Itse asiassa nopea pääsy tietoihin taulukon koosta riippumatta on OLAP-järjestelmien perusta. Koska tämä on pääpaino, tietovarasto on yleensä rakennettu eri periaatteille kuin relaatiotietokannat.
Tässä yksinkertaisen tiedon hakemiseen kuluva aika mitataan sekunnin murto-osissa, ja muutaman sekunnin pituinen kysely vaatii todennäköisesti optimoinnin.

esiaggregointi
Sen lisäksi, että se ottaa nopeasti näytteitä olemassa olevista tiedoista, se mahdollistaa myös "todennäköisimmin käytettyjen" arvojen esikoonnin. Esimerkiksi, jos meillä on päivittäiset myyntitietueet tietylle tuotteelle, järjestelmä Voi olla myös esiaggregoimme kuukausittaiset ja neljännesvuosittaiset myyntimäärät, mikä tarkoittaa, että jos pyydämme tietoja kuukausittain tai neljännesvuosittain, järjestelmä antaa meille heti tuloksen. Miksi esiaggregaatiota ei aina tapahdu - koska teoriassa mahdollisia tavaroiden/ajan/jne yhdistelmiä? niitä voi olla valtava määrä, mikä tarkoittaa, että sinulla on oltava selkeät säännöt, mille elementeille aggregaatio rakennetaan ja mille ei. Yleisesti ottaen aihe näiden sääntöjen huomioimisesta ja aggregaatioiden varsinaisesta suunnittelusta on varsin laaja ja ansaitsee sinänsä erillisen artikkelin.

Hierarkiat
On luonnollista, että dataa analysoitaessa ja loppuraportteja laadittaessa on otettava huomioon se, että kuukaudet koostuvat päivistä ja ne muodostavat itse neljänneksiä ja kaupungit sisältyvät alueisiin, jotka puolestaan ​​ovat osa alueita tai maita. . Hyvä uutinen on se OLAP kuutiot aluksi harkitse tietoja hierarkioiden ja suhteiden suhteen saman entiteetin muihin parametreihin, joten hierarkian rakentaminen ja käyttäminen kuutioissa on hyvin yksinkertaista.

Työskentely ajan kanssa
Koska tietojen analysointi tapahtuu pääosin aikavälein, OLAP-järjestelmissä aika on erityisen tärkeä, mikä tarkoittaa, että yksinkertaisesti määrittämällä järjestelmälle, missä meillä on täällä aikaa, voit jatkossa käyttää helposti toimintoja, kuten Year To Päivämäärä, kuukausi tähän päivään (jakso vuoden / kuukauden alusta nykyiseen päivämäärään), rinnakkainen ajanjakso (sama päivä tai kuukausi, mutta viime vuonna) jne.

Moniulotteinen tietojen käyttökieli
MDX(Multidimensional Expressions) on kyselykieli, joka mahdollistaa helpon ja tehokkaan pääsyn moniulotteisiin tietorakenteisiin. Ja se kertoo kaiken – alla on muutamia esimerkkejä.

Key Performance Indicators (KPI:t)
Keskeiset suorituskykyindikaattorit on taloudellinen ja ei-taloudellinen arviointijärjestelmä, joka auttaa organisaatiota määrittämään strategisten tavoitteiden saavuttamista. Keskeiset suoritusindikaattorit voidaan helposti määritellä OLAP-järjestelmissä ja käyttää raporteissa.

Päivämäärän louhinta
Tiedon louhinta (tiedon louhinta) - pohjimmiltaan paljastaa piilomalleja tai muuttujien välisiä suhteita suurissa tietojoukoissa.
Englanninkielisellä termillä "Data Mining" ei ole yksiselitteistä käännöstä venäjäksi (data mining, data mining, information penetration, data / information extraction), joten useimmissa tapauksissa sitä käytetään alkuperäisessä. Menestynein epäsuora käännös on termi "data mining" (DIA). Tämä on kuitenkin erillinen, yhtä mielenkiintoinen aihe pohdittavaksi.

Monitasoinen välimuisti
Itse asiassa OLAP-järjestelmät tukevat monitasoista välimuistia, jotta varmistetaan suurin tietojen käyttönopeus. Yksinkertaisten kyselyjen välimuistiin tallentamisen lisäksi välimuistiin tallennetaan myös osia tallennustilasta luetusta tiedosta, aggregoidut arvot ja lasketut arvot. Mitä kauemmin työskentelet OLAP-kuution kanssa, sitä nopeammin se itse asiassa alkaa toimia. On myös käsite "välimuistin lämpeneminen" - toiminto, joka valmistelee OLAP-järjestelmän toimimaan tiettyjen raporttien, kyselyjen tai kaikkien yhdessä.

Monikielinen tuki
Kyllä kyllä ​​kyllä. Analysis Services 2005/2008 (mutta Enterprise Edition) tukee ainakin natiivisti monikielisyyttä. Riittää, kun annat tietojesi merkkijonoparametrien käännöksen, ja kielensä määrittänyt asiakas saa lokalisoidut tiedot.

Moniulotteiset kuutiot

Mitä nämä moniulotteiset kuutiot sitten ovat?
Kuvitellaan 3-ulotteinen tila, jonka akseleilla on aika, tavarat ja ostajat.
Piste tällaisessa tilassa asettaa sen tosiasian, että yksi ostajista osti tietyn tuotteen tietyssä kuukaudessa.

Itse asiassa taso (tai kaikkien tällaisten pisteiden joukko) on kuutio, ja vastaavasti Aika, tavarat ja ostajat ovat sen mitat.
On hieman vaikeampaa kuvitella (ja piirtää) neliulotteinen tai useampi kuutio, mutta tämän olemus ei muutu, ja mikä tärkeintä, OLAP-järjestelmillä ei ole väliä kuinka monessa ulottuvuudessa työskentelet (kohtuullisissa puitteissa). rajat tietysti).

Joku MDX

Joten mikä on MDX:n kauneus - todennäköisimmin meidän ei tarvitse kuvata sitä, kuinka haluamme valita tiedot, vaan Mitä tarkalleen me haluamme.
Esimerkiksi,
VALITSE
( . ) SARAKEILLA,
( ., . ) RIVEILLÄ
FROM
MISSÄ (., .)

Tämä tarkoittaa, että haluan Mosambikissa kesä- ja heinäkuussa myytyjen iPhone-laitteiden määrän.
Näin tehdessäni kuvailen mikä juuri haluamani tiedot ja Miten Haluan nähdä ne raportissa.
Kaunista, eikö?

Ja tässä vähän monimutkaisempi:

JÄSEN KANSSA AverageSpend AS
. / .
VALITSE
(Keskimääräinen kulutus) SARAKEILLA,
( .., .. ) RIVEILLÄ
FROM
MISSÄ(.)

* Tämä lähdekoodi on korostettu Source Code Highlighterilla.

Itse asiassa määritämme ensin kaavan "keskimääräisen ostokoon" laskemiseksi ja yritämme verrata, kuka (mikä sukupuoli) kuluttaa enemmän rahaa yhdellä Apple Store -käynnillä.

Kieli itsessään on äärimmäisen mielenkiintoinen sekä opittava että käytettävä, ja ansaitsee ehkä paljon keskustelua.

Johtopäätös

Itse asiassa tämä artikkeli kattaa peruskäsitteet hyvin vähän, kutsuisin sitä "alkupalaksi" - tilaisuudeksi kiinnostaa habr-yhteisöä tästä aiheesta ja kehittää sitä edelleen. Mitä tulee kehitykseen, siellä on valtava kyntämätön pelto, ja vastaan ​​mielelläni kaikkiin kysymyksiisi.

P.S. Tämä on ensimmäinen OLAP-julkaisuni ja ensimmäinen Habrén julkaisu - olen erittäin kiitollinen rakentavasta palautteesta.
päivittää: Siirretty SQL:ään, siirryn OLAPiin heti, kun saan luoda uusia blogeja.

Tunnisteet: Lisää tunnisteita

Osana tätä työtä pohditaan seuraavia kysymyksiä:

  • Mitä ovat OLAP-kuutiot?
  • Mitä ovat mittasuhteet, dimensiot, hierarkiat?
  • Millaisia ​​operaatioita OLAP-kuutioille voidaan suorittaa?
OLAP-kuution käsite

OLAPin pääpostulaatti on moniulotteisuus tiedon esittämisessä. OLAP-terminologiassa kuution tai hyperkuution käsitettä käytetään kuvaamaan moniulotteista erillistä tietoavaruutta.

Kuutio on moniulotteinen tietorakenne, josta analyytikkokäyttäjä voi tiedustella tietoja. Kuutiot luodaan faktoista ja ulottuvuuksista.

Data- tämä on tietoja yrityksen kohteista ja tapahtumista, jotka analysoidaan. Samantyyppiset tosiasiat muodostavat mittauksia. Mitta on arvon tyyppi kuutiosolussa.

mitat ovat tietoelementtejä, joiden perusteella tosiasiat analysoidaan. Tällaisten elementtien kokoelma muodostaa ulottuvuuden attribuutin (esimerkiksi viikonpäivät voivat muodostaa ulottuvuuden "aika" attribuutin). Kaupallisten yritysten liiketoiminta-analyysin tehtävissä mittauksina toimivat usein sellaiset luokat kuin "aika", "myynti", "tuotteet", "asiakkaat", "työntekijät", "maantieteellinen sijainti". Mittaukset ovat useimmiten hierarkkiset rakenteet, jotka ovat loogisia luokkia, joiden avulla käyttäjä voi analysoida todellisia tietoja. Jokaisella hierarkialla voi olla yksi tai useampi taso. Joten "maantieteellinen sijainti" -ulottuvuuden hierarkia voi sisältää tasoja: "maa - alue - kaupunki". Aikahierarkiassa voidaan erottaa esimerkiksi seuraava tasojono: Dimensiolla voi olla useita hierarkioita (tässä tapauksessa jokaisella yhden ulottuvuuden hierarkialla on oltava sama dimensiotaulukon avainattribuutti).

Kuutio voi sisältää todellisia tietoja yhdestä tai useammasta tietotaulukosta, ja useimmiten se sisältää useita ulottuvuuksia. Jokaisella kuutiolla on yleensä tietty suunnattu analyysikohde.

Kuvassa 1 on esimerkki kuutiosta, joka on suunniteltu analysoimaan tietyn yrityksen öljytuotteiden myyntiä alueittain. Tässä kuutiossa on kolme ulottuvuutta (aika, tuote ja alue) ja yksi mitta (myynnin arvo rahassa ilmaistuna). Mittausarvot tallennetaan kuution vastaaviin soluihin (soluihin). Jokainen solu tunnistetaan yksilöllisesti kunkin ulottuvuuden jäsenjoukolla, jota kutsutaan monikkoksi. Esimerkiksi kuution vasemmassa alakulmassa sijaitseva solu (sisältää arvon $98399) on annettu monikko [heinäkuu 2005, Kaukoitä, Diesel]. Tässä 98 399 dollarin arvo osoittaa dieselin myynnin määrän (rahassa) Kaukoidässä heinäkuussa 2005.

Huomaa myös, että jotkin solut eivät sisällä arvoja: nämä solut ovat tyhjiä, koska tietotaulukko ei sisällä tietoja niistä.

Riisi. 1. Kuutio, jossa on tietoa öljytuotteiden myynnistä eri alueilla

Tällaisten kuutioiden luomisen perimmäisenä tavoitteena on minimoida niiden kyselyiden käsittelyaika, jotka poimivat tarvittavat tiedot todellisista tiedoista. Tämän tehtävän suorittamiseksi kuutiot sisältävät tyypillisesti esilaskettuja yhteenvetotietoja, joita kutsutaan aggregaatioita(aggregaatiot). Nuo. kuutio kattaa todellista suuremman tietotilan - siinä on loogisia, laskettuja pisteitä. Kokoonpanofunktioiden avulla voit laskea pistearvoja loogisessa tilassa todellisten arvojen perusteella. Yksinkertaisimmat aggregointifunktiot ovat SUM, MAX, MIN, COUNT. Eli esimerkiksi käyttämällä MAX-toiminto, esimerkissä esitetylle kuutiolle on mahdollista tunnistaa milloin dieselin myynti oli huipussaan Kaukoidässä jne.

Toinen moniulotteisten kuutioiden erityispiirre on alkupisteen määrittämisen vaikeus. Kuinka esimerkiksi asetat pisteen 0 Tuote- tai Alue-ulottuvuudelle? Ratkaisu tähän ongelmaan on ottaa käyttöön erityinen attribuutti, joka yhdistää kaikki ulottuvuuden elementit. Tämä attribuutti (generoitu automaattisesti) sisältää vain yhden elementin - All ("Kaikki"). Yksinkertaisissa aggregointifunktioissa, kuten summissa, Kaikki-elementti vastaa kaikkien elementtien arvojen summaa tietyn ulottuvuuden todellisessa tilassa.

Tärkeä käsite moniulotteisessa tietomallissa on aliavaruus eli alikuutio. Alakuutio on osa kuution kokonaistilasta jonkin moniulotteisen hahmon muodossa kuution sisällä. Koska kuution moniulotteinen avaruus on diskreetti ja rajoitettu, on myös alikuotio diskreetti ja rajoitettu.

Toiminnot OLAP-kuutioilla

Seuraavat toiminnot voidaan suorittaa OLAP-kuutiolle:

  • leikata;
  • kierto;
  • konsolidointi;
  • yksityiskohta.
viipale(Kuva 2) on alikuution erikoistapaus. Tämä on menettely, jolla muodostetaan moniulotteisen tietotaulukon osajoukko, joka vastaa yhden tai useamman dimensioelementin yhtä arvoa, jotka eivät sisälly tähän osajoukkoon. Esimerkiksi saadaksesi selville, kuinka öljytuotteiden myynti edistyi ajan myötä vain tietyllä alueella, nimittäin Uralilla, sinun on korjattava "Tavarat"-ulottuvuus "Urals"-elementtiin ja poimittava vastaava osajoukko (alikuutio) kuutio.
  • Riisi. 2. OLAP-kuutio siivu

    Kierto(Kuva 3) - raportissa tai näytetyllä sivulla esitettyjen mittausten sijainnin muuttaminen. Esimerkiksi kiertotoiminto voi sisältää taulukon rivien ja sarakkeiden vaihtamisen. Lisäksi datakuution pyörittäminen siirtää taulukon ulkopuolisia ulottuvuuksia näytettävällä sivulla olevien mittojen sijaintiin ja päinvastoin.

    Mikä OLAP nykyään on, yleensä jokainen asiantuntija tietää. Ainakin käsitteet "OLAP" ja "moniulotteinen data" liittyvät tiukasti mielessämme. Siitä huolimatta, että tämä aihe nostetaan uudelleen esille, toivon, että suurin osa lukijoista hyväksyy, koska jotta ajatus ei vanhentuisi ajan myötä, sinun on kommunikoitava säännöllisesti fiksut ihmiset tai lukea artikkeleita hyvästä julkaisusta...

    Tietovarastot (OLAPin paikka yrityksen tietorakenteessa)

    Termi "OLAP" liittyy erottamattomasti termiin "tietovarasto" (Data Warehouse).

    Tässä on tietovarastojen "perustajaisän" Bill Inmonin muotoilema määritelmä: "Tietovarasto on toimialuekohtainen, aikasidonnainen ja muuttumaton tiedon kokoelma tukemaan johtamispäätösten tekoa."

    Varastossa olevat tiedot tulevat käyttöjärjestelmistä (OLTP-järjestelmät), jotka on suunniteltu automatisoimaan liiketoimintaprosesseja. Lisäksi arkistoa voidaan täydentää ulkoisista lähteistä, kuten tilastoraporteista.

    Miksi rakentaa tietovarastoja - ne sisältävät loppujen lopuksi ilmeisen ylimääräistä tietoa, joka "elää" jo käyttöjärjestelmien tietokannassa tai tiedostoissa? Vastaus voi olla lyhyt: on mahdotonta tai erittäin vaikeaa analysoida suoraan käyttöjärjestelmien tietoja. Tämä johtuu useista syistä, kuten tietojen pirstoutumisesta, niiden tallentamisesta erilaisiin DBMS-muotoihin ja eri "kulmiin" yritysverkosto. Mutta vaikka kaikki yrityksen tiedot on tallennettu keskustietokantapalvelimelle (mikä on erittäin harvinaista), analyytikko ei varmasti ymmärrä niiden monimutkaisia, joskus hämmentäviä rakenteita. Kirjoittajalla on melko surullinen kokemus yrittäessään "ruokkia" nälkäisiä analyytikoita "raaka" datalla käyttöjärjestelmistä - se osoittautui heille liian vaikeaksi.

    Siten arkiston tehtävänä on tarjota "raaka-aineet" analysoitavaksi yhdessä paikassa ja yksinkertaisessa, ymmärrettävässä rakenteessa. Ralph Kimball kirjoittaa kirjansa "The Data Warehouse Toolkit" esipuheessa, että jos lukija ymmärtää koko kirjan luettuaan vain yhden asian, nimittäin sen, että varaston rakenteen tulee olla yksinkertainen, kirjoittaja harkitsee tehtäväänsä. valmiiksi.

    On toinenkin syy, joka oikeuttaa erillisen arkiston luomisen - monimutkaiset analyyttiset kyselyt operatiiviset tiedot hidasta tämänhetkinen työ yrityksille, estämällä taulukoita pitkäksi aikaa ja kaappaamalla palvelinresursseja.

    Mielestäni tallennus ei välttämättä ole jättimäistä tiedon kerääntymistä - pääasia, että se on kätevä analysointia varten. Yleisesti ottaen pienille varastoille on tarkoitettu erillinen termi - Data Marts (datakioski), mutta venäläisessä käytännössämme sitä ei usein kuule.

    OLAP on kätevä analyysityökalu

    Keskittäminen ja kätevä jäsentäminen eivät ole kaikkea sitä, mitä analyytikko tarvitsee. Loppujen lopuksi hän tarvitsee edelleen työkalun tiedon katseluun, visualisointiin. Perinteisistä raporteista, jopa yhden arkiston pohjalta rakennetuista, puuttuu yksi asia - joustavuus. Niitä ei voi "vääntää", "laajentaa" tai "kutistaa" halutun näkymän saamiseksi tiedoista. Tietysti voit soittaa ohjelmoijalle (jos hän haluaa tulla), ja hän (jos hän ei ole kiireinen) tekee uuden raportin melko nopeasti - vaikkapa tunnin sisällä (kirjoitan enkä usko sitä itsekään - se ei tapahdu niin nopeasti elämässä; annetaan hänelle kolme tuntia) . Osoittautuu, että analyytikko voi tarkistaa enintään kaksi ideaa päivässä. Ja hän (jos hän on hyvä analyytikko) voi keksiä useita tällaisia ​​ideoita tunnissa. Ja mitä enemmän "viipaleita" ja "viipaleita" analyytikko näkee, sitä enemmän hänellä on ideoita, jotka puolestaan ​​vaativat yhä enemmän uusia "viipaleita" todentamista varten. Toivon, että hänellä olisi sellainen työkalu, jonka avulla hän voisi laajentaa ja tiivistää tietoja yksinkertaisesti ja kätevästi! OLAP on yksi tällainen työkalu.

    Vaikka OLAP ei ole tietovaraston välttämätön ominaisuus, sitä käytetään yhä useammin tähän tietovarastoon kertyneen tiedon analysointiin.

    Tyypilliseen varastoon sisältyvät komponentit on esitetty kuvassa. 1.

    Riisi. 1. Tietovaraston rakenne

    Toimintatiedot kerätään eri lähteistä, puhdistetaan, integroidaan ja laitetaan relaatiosäilöön. Samalla ne ovat jo analysoitavissa erilaisilla raportointityökaluilla. Sitten tiedot (kokonaan tai osittain) valmistetaan OLAP-analyysiä varten. Ne voidaan ladata erityiseen OLAP-tietokantaan tai jättää relaatiosäilöön. Sen tärkein elementti on metadata eli tieto tiedon rakenteesta, sijoittelusta ja muuntamisesta. Niiden ansiosta eri tallennuskomponenttien tehokas vuorovaikutus varmistetaan.

    Yhteenvetona voidaan todeta, että OLAP voidaan määritellä työkalusarjaksi varastoon kertyneen tiedon moniulotteiseen analysointiin. Teoriassa OLAP-työkaluja voidaan soveltaa suoraan operatiiviseen dataan tai niiden tarkkoihin kopioihin (jotta ei häiritä operatiivisia käyttäjiä). Mutta näin toimimalla riskinä on astua jo edellä kuvatun haravan päälle, eli alkaa analysoida operatiivista dataa, joka ei sovellu suoraan analysoitavaksi.

    OLAPin määritelmä ja peruskäsitteet

    Aluksi tulkitaan: OLAP on Online Analytical Processing, eli online-data-analyysi. OLAP:n 12 määrittelevää periaatetta muotoili vuonna 1993 E. F. Codd, relaatiotietokantojen "keksijä". Myöhemmin sen määritelmä muokattiin ns. FASMI-testiksi, joka vaatii OLAP-sovelluksen mahdollistamaan nopean jaetun moniulotteisen tiedon analysoinnin ().

    FASMI testi

    Nopeasti(Fast) - analyysi tulisi suorittaa yhtä nopeasti kaikilta tiedoilta. Hyväksyttävä vasteaika on 5 sekuntia tai vähemmän.

    analyysi(Analyysi) - Pitäisi olla mahdollista suorittaa numeerisen ja tilastollisen analyysin perustyyppejä, jotka sovelluksen kehittäjä on ennalta määrittänyt tai käyttäjän mielivaltaisesti määrittelemä.

    jaettu(Jaettu) - Useilla käyttäjillä on oltava pääsy tietoihin, kun taas arkaluonteisten tietojen pääsyä on valvottava.

    Moniulotteinen(Moniulotteisuus) on OLAPin tärkein, olennaisin ominaisuus.

    tiedot(Tiedot) - sovelluksen on voitava päästä käsiksi kaikkiin tarvittaviin tietoihin sen määrästä ja tallennuspaikasta riippumatta.

    OLAP = Moniulotteinen näkymä = Kuutio

    OLAP tarjoaa kätevän ja nopean tavan käyttää, tarkastella ja analysoida yritystietoja. Käyttäjä saa luonnollisen, intuitiivisen tietomallin, joka järjestää ne moniulotteisten kuutioiden (Cubes) muodossa. Moniulotteisen koordinaattijärjestelmän akselit ovat analysoitavan liiketoimintaprosessin tärkeimmät attribuutit. Esimerkiksi myynnin osalta se voi olla tuote, alue, ostajatyyppi. Aikaa käytetään yhtenä mittana. Akseleiden leikkauskohdissa - mittaukset (Dimensions) - on dataa, joka kuvaa prosessia kvantitatiivisesti - mittaukset (Measures). Nämä voivat olla myyntimääriä kappaleina tai rahallisesti, varastosaldot, kustannukset jne. Tietoja analysoiva käyttäjä voi "leikata" kuution eri suuntiin, vastaanottaa yhteenvetoa (esimerkiksi vuosien mukaan) tai päinvastoin yksityiskohtaista (viikkokohtaista) tietoa ja suorittaa muita analyysin aikana mieleen tulevia manipulaatioita.

    Mitat kuvassa kuvassa näkyvässä kolmiulotteisessa kuutiossa. 2:ssa käytetään myyntimääriä ja mittana aikaa, tuotetta ja kauppaa. Mittaukset esitetään tietyillä ryhmittelytasoilla: tuotteet on ryhmitelty kategorioittain, kaupat ryhmitelty maittain ja tapahtumaajat kuukausittain. Hieman myöhemmin tarkastelemme ryhmittelytasoja (hierarkiaa) yksityiskohtaisemmin.


    Riisi. 2. Kuutioesimerkki

    Kuution "leikkaaminen".

    Jopa kolmiulotteinen kuutio on vaikea näyttää tietokoneen näytöllä niin, että kiinnostavien mittojen arvot ovat nähtävissä. Mitä voimme sanoa kuutioista, joissa on enemmän kuin kolme ulottuvuutta? Kuutioon tallennetun tiedon visualisoimiseen käytetään pääsääntöisesti tavallisia kaksiulotteisia eli taulukkomuotoisia näkymiä, joissa on monimutkaiset hierarkkiset rivi- ja sarakeotsikot.

    Kuution kaksiulotteinen esitys saadaan "leikkaamalla" sitä yhden tai useamman akselin (mitan) poikki: kiinnitämme kaikkien ulottuvuuksien arvot kahta lukuun ottamatta ja saamme tavallisen kaksiulotteisen taulukon. . Taulukon vaaka-akseli (sarakeotsikot) edustaa yhtä ulottuvuutta, pystyakseli (rivien otsikot) edustaa toista ulottuvuutta ja taulukon solut edustavat mitta-arvoja. Tässä tapauksessa mittajoukkoa pidetään itse asiassa yhtenä dimensioista - joko valitsemme yhden suuren näytettäväksi (ja sitten voimme sijoittaa kaksi mittaa rivien ja sarakkeiden otsikoihin), tai näytämme useita mittoja (ja sitten yhden taulukon akseleista mittojen nimet ja toinen - yhden "leikkaamattoman" mittasuhteen arvo).

    Katso kuva. 3 - tässä on kaksiulotteinen siivu kuutiosta yhtä mittaa varten - Yksikkömyynti (myydyt kappaleet) ja kaksi "leikkaamatonta" mittaa - Store (Store) ja Time (Time).


    Riisi. 3. Kaksiulotteinen kuutioviipale yhdelle mittalle

    Kuvassa 4 näyttää vain yhden "leikkaamattoman" ulottuvuuden - Kauppa, mutta se näyttää useiden mittareiden arvot - Yksikkömyynti (myydyt kappaleet), Myymälämyynti (myyntimäärä) ja Kaupan kustannukset (myymäläkulut).


    Riisi. 4. 2D-kuution viipalointi useille mittauksille

    Kuution kaksiulotteinen esitys on myös mahdollista, kun enemmän kuin kaksi ulottuvuutta on "leikkaamatta". Tässä tapauksessa kaksi tai useampia "leikatun" kuution mittaa sijoitetaan viipaleen akseleille (riveille ja sarakkeille) - katso kuva. 5.


    Riisi. 5. Kaksiulotteinen siivu kuutiosta, jossa on useita ulottuvuuksia samalla akselilla

    Tunnisteet

    Mittojen mukaan "syrjäytettyjä" arvoja kutsutaan jäseniksi tai nimikkeiksi (jäseniksi). Tunnisteita käytetään sekä kuution "leikkaukseen" että valitun datan rajoittamiseen (suodattamiseen) - kun "leikkaamattomaksi" jäävässä ulottuvuudessa emme ole kiinnostuneita kaikista arvoista, vaan niiden osajoukosta, esimerkiksi kolme kaupunkia useista tusina. Tunnistearvot näkyvät 2D-kuutionäkymässä rivi- ja sarakeotsikoina.

    Hierarkiat ja tasot

    Tunnisteet voidaan yhdistää hierarkioihin, jotka koostuvat yhdestä tai useammasta tasosta. Esimerkiksi ulottuvuuden "Kauppa" (Store) tunnisteet yhdistetään luonnollisesti hierarkiaan, jossa on tasoja:

    Maa (maa)

    osavaltio (osavaltio)

    Kaupunki (kaupunki)

    Kauppa (Kauppa).

    Hierarkian tasojen mukaan lasketaan kokonaisarvot, kuten myynti USA:lle ("maa"-taso) tai Kalifornialle ("osavaltio"-taso). Yhdessä ulottuvuudessa voidaan toteuttaa useampi kuin yksi hierarkia - sanotaan aika: (vuosi, vuosineljännes, kuukausi, päivä) ja (vuosi, viikko, päivä).

    OLAP-sovellusarkkitehtuuri

    Kaikki, mitä yllä sanottiin OLAPista, viittasi itse asiassa tietojen moniulotteiseen esittämiseen. Karkeasti sanottuna loppukäyttäjä tai asiakkaan käyttämän työkalun kehittäjät eivät välitä tietojen tallentamisesta.

    OLAP-sovellusten moniulotteisuus voidaan jakaa kolmeen tasoon:

    • Moniulotteinen tietojen esitys - loppukäyttäjätyökalut, jotka tarjoavat moniulotteisen visualisoinnin ja tietojen käsittelyn; moniulotteinen esityskerros abstrahoituu tiedon fyysisestä rakenteesta ja käsittelee dataa moniulotteisena.
    • Moniulotteinen käsittely on työkalu (kieli) moniulotteisten kyselyjen muotoiluun (perinteinen relaatio SQL-kieli osoittautuu tässä käyttökelvottomaksi) ja prosessori, joka pystyy käsittelemään ja suorittamaan tällaisen pyynnön.
    • Moniulotteinen tallennus - keino tietojen fyysiseen järjestämiseen, joka mahdollistaa moniulotteisten kyselyiden tehokkaan suorittamisen.

    Ensimmäiset kaksi tasoa ovat pakollisia kaikissa OLAP-työkaluissa. Vaikka kolmatta tasoa käytetään laajalti, sitä ei vaadita, koska moniulotteisen esityksen dataa voidaan hakea myös tavallisista relaatiorakenteista; moniulotteinen kyselyprosessori kääntää tässä tapauksessa moniulotteiset kyselyt SQL-kyselyiksi, jotka suoritetaan relaatiotietokantajärjestelmällä.

    Tietyt OLAP-tuotteet ovat yleensä joko moniulotteinen tietojen esitystyökalu, OLAP-asiakas (esimerkiksi Microsoftin Excel 2000:n pivot-taulukot tai Knosysin ProClarity) tai moniulotteinen taustatietokantajärjestelmä, OLAP-palvelin (esimerkiksi Oracle Express Server). tai Microsoft OLAP -palvelut).

    Moniulotteinen käsittelykerros on yleensä sisäänrakennettu OLAP-asiakkaaseen ja/tai OLAP-palvelimeen, mutta se voidaan eristää puhtaimmassa muodossaan, kuten Microsoftin Pivot Table Service -komponentti.

    Moniulotteisen tiedon tallennuksen tekniset näkökohdat

    Kuten edellä mainittiin, OLAP-analyysityökalut voivat myös poimia tietoja suoraan relaatiojärjestelmistä. Tämä lähestymistapa oli houkuttelevampi aikana, jolloin OLAP-palvelimet eivät olleet johtavien tietokantatoimittajien hinnastoissa. Mutta nykyään Oracle, Informix ja Microsoft tarjoavat täysimittaisia ​​OLAP-palvelimia, ja jopa ne IT-päälliköt, jotka eivät halua istuttaa verkkoihinsa eri valmistajien ohjelmistojen "eläintarhaa", voivat ostaa (tarkemmin hakea vastaavalla pyynnöstä) yrityksen johdolle ) OLAP-palvelin, joka on samaa merkkiä kuin päätietokantapalvelin.

    OLAP-palvelimet tai moniulotteiset tietokantapalvelimet voivat tallentaa moniulotteiset tietonsa eri tavoin. Ennen kuin harkitaan näitä menetelmiä, meidän on puhuttava niin tärkeästä näkökulmasta kuin aggregaattien varastointi. Tosiasia on, että mihin tahansa tietovarastoon - sekä tavalliseen että moniulotteiseen - sekä käyttöjärjestelmistä haettuun yksityiskohtaiseen tietoon tallennetaan myös yhteenvetoindikaattoreita (aggregoituja indikaattoreita, aggregaatteja), kuten myyntimäärien summat kuukausittain, luokkien mukaan. tavarat jne. Aggregaatit tallennetaan nimenomaan kyselyn suorittamisen nopeuttamiseksi. Loppujen lopuksi toisaalta varastoon kertyy yleensä erittäin suuri määrä tietoa, ja toisaalta analyytikot eivät useimmissa tapauksissa ole kiinnostuneita yksityiskohtaisista, vaan yleisistä indikaattoreista. Ja jos miljoonia yksittäisiä myyntimääriä jouduttaisiin laskemaan joka kerta vuoden myynnin määrän laskemiseksi, nopeus ei todennäköisesti olisi hyväksyttävää. Siksi, kun tietoja ladataan moniulotteiseen tietokantaan, kaikki kokonaisindikaattorit tai osa niistä lasketaan ja tallennetaan.

    Mutta kuten tiedät, sinun on maksettava kaikesta. Ja joudut maksamaan yhteenvetotietojen kyselyjen käsittelyn nopeudesta lisäämällä tiedon määrää ja niiden lataamiseen kuluvaa aikaa. Lisäksi volyymin kasvu voi tulla kirjaimellisesti katastrofaalista - yhdessä julkaistussa standarditestit 10 megatavun aggregaattien täydellinen määrä alkuperäistä dataa vaati 2,4 Gt, eli data kasvoi 240-kertaiseksi! Tietojen "turvotuksen" aste aggregaatteja laskettaessa riippuu kuutiodimensioiden lukumäärästä ja näiden dimensioiden rakenteesta, eli "isien" ja "lasten" lukumäärän suhteesta dimensioiden eri tasoilla. Aggregaattien tallennusongelman ratkaisemiseksi käytetään joskus monimutkaisia ​​​​malleja, joiden avulla laskettaessa kaukana kaikista mahdollisista aggregaateista voidaan saavuttaa merkittävä lisäys kyselyn suorituskyvyssä.

    Nyt eri vaihtoehdoista tietojen tallentamiseen. Sekä yksityiskohtatietoa että aggregaatteja voidaan tallentaa joko relaatio- tai moniulotteisiin rakenteisiin. Moniulotteisen tallennustilan avulla voit käsitellä tietoja moniulotteisena taulukkona, joka tarjoaa saman nopean kokonaislaskennan ja erilaisia ​​moniulotteisia muunnoksia missä tahansa ulottuvuudessa. Jokin aika sitten OLAP-tuotteet tukivat joko relaatiota tai moniulotteista tallennusta. Nykyään pääsääntöisesti sama tuote tarjoaa molemmat näistä säilytystyypeistä sekä kolmannen tyypin - sekoitettuna. Seuraavat ehdot ovat voimassa:

    • MOLAP(Multidimensional OLAP) - sekä yksityiskohtaiset tiedot että aggregaatit tallennetaan moniulotteiseen tietokantaan. Tässä tapauksessa saadaan suurin redundanssi, koska moniulotteinen data sisältää täysin relaatiodataa.
    • ROLAP(Relational OLAP) - yksityiskohtaiset tiedot säilyvät siellä, missä ne "asuivat" alun perin - relaatiotietokantaan; aggregaatit tallennetaan samaan tietokantaan erityisesti luotuissa palvelutaulukoissa.
    • HOLAP(Hybridi OLAP) - yksityiskohtaiset tiedot pysyvät paikoillaan (relaatiotietokannassa), kun taas aggregaatit tallennetaan moniulotteiseen tietokantaan.

    Jokaisella näistä menetelmistä on etunsa ja haittansa, ja niitä tulisi käyttää olosuhteiden mukaan - tiedon määrä, relaatiotietokantajärjestelmän teho jne.

    Kun tietoja tallennetaan moniulotteisiin rakenteisiin, on olemassa mahdollinen "paisunta" -ongelma, joka johtuu tyhjien arvojen tallentamisesta. Loppujen lopuksi, jos paikka on varattu moniulotteisessa taulukossa kaikille mahdollisille mittatarrojen yhdistelmille ja vain pieni osa on todellisuudessa täytetty (esimerkiksi useita tuotteita myydään vain harvoilla alueilla), niin suurin osa kuutio on tyhjä, vaikka paikka on varattu. Nykyaikaiset OLAP-tuotteet pystyvät selviytymään tästä ongelmasta.

    Jatkuu. Tulevaisuudessa puhumme johtavien valmistajien valmistamista tietyistä OLAP-tuotteista.

    4.7.2011 Derek Comingore

    Jos olet koskaan käsitellyt jotakin teknologiaan liittyvää alaa, olet luultavasti kuullut termin "kuutio"; useimmat tavalliset järjestelmänvalvojat ja tietokantakehittäjät eivät kuitenkaan ole työskennelleet näiden objektien kanssa. Kuutiot tarjoavat tehokkaan tietoarkkitehtuurin moniulotteisen tiedon nopeaan kokoamiseen. Jos organisaatiosi tarvitsee analysoida suuria tietomääriä, niin ihanteellinen ratkaisu tulee kuutio

    Mikä on kuutio?

    Relaatiotietokannat on suunniteltu käsittelemään tuhansia samanaikaisia ​​tapahtumia säilyttäen samalla suorituskyky ja tietojen eheys. Suunniteltuna relaatiotietokannat eivät ole tehokkaita suurten tietomäärien yhdistämisessä ja etsimisessä. Suurten tietomäärien yhdistämiseksi ja palauttamiseksi relaatiotietokantaan on saatava joukkopohjainen kysely, jonka tiedot kerätään ja aggregoidaan lennossa. Tällaiset relaatiokyselyt ovat erittäin kalliita, koska ne perustuvat useisiin liitoksiin ja aggregaattitoimintoihin; Aggregoidut relaatiokyselyt ovat erityisen tehottomia käytettäessä suuria tietoryhmiä.

    Kuutiot ovat moniulotteisia kokonaisuuksia, jotka on suunniteltu korjaamaan tämä relaatiotietokantojen puute. Kuution avulla voit tarjota käyttäjille tietorakenteen, joka vastaa nopeasti kyselyihin, joissa on suuria koontimääriä. Kuutiot toteuttavat tämän "koon taian" kokoamalla etukäteen tietoja (ulottuvuuksia) useista ulottuvuuksista. Kuution esiaggregointi tehdään yleensä sen käsittelyn yhteydessä. Kun käsittelet kuutiota, luot esilaskettuja aggregaatteja tiedoista, jotka tallennetaan binäärimuodossa levylle.

    Kuutio on keskeinen tietorakenne käyttöjärjestelmä SQL Server Analytical Services (SSAS) analysoi OLAP-tietoja. Kuutiot rakennetaan yleensä taustalla olevasta relaatiotietokannasta, jota kutsutaan dimensiomalliksi, mutta ne ovat erillisiä teknisiä kokonaisuuksia. Loogisesti kuutio on tietovarasto, joka koostuu mitoista (mitoista) ja mitoista (mitoista). Ulottuvuudet sisältävät kuvaavia ominaisuuksia ja hierarkioita, kun taas ulottuvuudet ovat tietoja, jotka kuvailet ulottuvuuksissa. Dimensiot ryhmitellään loogisiin yhdistelmiin, joita kutsutaan mittaryhmiksi. Linkität mitat mittaryhmiin ominaisuuden - yksityiskohtatason - perusteella.

    SISÄÄN tiedostojärjestelmä kuutio toteutetaan linkitettyjen binääritiedostojen sarjana. Kuution binaariarkkitehtuuri mahdollistaa suurten moniulotteisen datan nopean purkamisen.

    Mainitsin, että kuutiot rakennetaan alla olevasta relaatiotietokannasta, jota kutsutaan ulottuvuusmalliksi. Dimensiomalli sisältää relaatiotaulukoita (fakta ja ulottuvuus), jotka linkittävät sen kuutiokokonaisuuksiin. Faktataulukot sisältävät mitat, kuten myydyn tuotteen määrän. Dimensiotaulukot tallentavat kuvaavia määritteitä, kuten tuotteiden nimet, päivämäärät ja työntekijöiden nimet. Tyypillisesti tietotaulukot ja dimensiotaulukot liittyvät ensisijaisen vieraan avaimen rajoitusten kautta varsinaisen tietotaulukon vieraisiin avaimiin (tämä relaatiosuhde liittyy edellä käsiteltyyn kuution tarkkuusominaisuuteen). Kun ulottuvuustaulukot linkitetään suoraan faktataulukkoon, muodostuu tähtiskeema. Kun mittataulukoita ei ole suoraan linkitetty faktataulukkoon, saadaan lumihiutaleskeema.

    Huomaa, että mittamallit luokitellaan sovelluksen mukaan. Datamarket on ulottuvuusmalli, joka on suunniteltu yhdelle liiketoimintaprosessille, kuten myyntiin tai varastonhallintaan. Tietovarasto on dimensiomalli, joka on suunniteltu kaappaamaan yhdistelmäliiketoimintaprosesseja, jotta se helpottaa yritysten välistä prosessien analysointia.

    Ohjelmistovaatimukset

    Nyt kun sinulla on perusymmärrys siitä, mitä kuutiot ovat ja miksi ne ovat tärkeitä, kytken vaihteen päälle ja johdat sinut vaiheittaiselle kierrokselle: rakenna ensimmäinen kuutiosi SSAS:n avulla. Siinä on joitain peruskomponentteja ohjelmisto joita tarvitset, joten ennen kuin aloitat ensimmäisen kuution rakentamisen, varmista, että järjestelmäsi täyttää vaatimukset.

    Internet-myynnin mallikuutioni rakennetaan AdventureWorksDW 2005 -testitietokannasta. Rakennan testikuution testitietokannasta löytyvästä osajoukosta taulukoita, joista on hyötyä Internet-myyntitietojen analysointiin. Kuvassa 1 on esitetty tietokantataulukoiden peruskaavio. Koska käytän versiota 2005, voit seurata ohjeitani joko SQL Server 2005:llä tai SQL Server 2008:lla.

    Kuva 1. Adventure Works Internet Sales -datakaupan osajoukko

    Adventure WorksDW 2005 -mallitietokanta löytyy CodePlex-sivustolta: msftdbprodsamples.codeplex.com. Etsi linkki "SQL Server 2005 -tuotemallitietokannat ovat edelleen saatavilla" (http://codeplex.com/MSFTDBProdSamples/Release/ProjectReleases.aspx?ReleaseId=4004). Esimerkkitietokanta on tiedostossa AdventureWorksBI.msi (http://msftdbprodsamples.codeplex.com/releases/view/4004#DownloadId=11755).

    Kuten mainittiin, sinulla on oltava pääsy SQL Server 2008:n tai 2005:n esiintymään, mukaan lukien SSAS ja Business Intelligence Development Studio (BIDS) -komponentit. Käytän SQL Server 2008:aa, joten voit nähdä hienoisia eroja, jos käytät SQL Server 2005:tä.

    Luo SSAS-projekti

    Ensimmäinen asia, joka sinun tulee tehdä, on luoda SSAS-projekti käyttämällä BIDSia. Etsi BIDS Käynnistä-valikosta ja sitten Microsoft SQL Server 2008/2005 -valikon alakohdasta SQL Server Business Intelligence Development Studio. Tämän painikkeen napsauttaminen käynnistää BIDSin oletusaloitusnäytöllä. Luo uusi SSAS-projekti valitsemalla Tiedosto, Uusi, Projekti. Näet kuvassa 1 näkyvän Uusi projekti -valintaikkunan. Valitse Analysis Services Project -kansio ja anna tämän projektin kuvaus "SQLMAG_MyFirstCube". Napsauta OK.

    Kun projekti on luotu, napsauta sitä hiiren kakkospainikkeella Solution Explorerissa ja valitse jokin kontekstivalikko Ominaisuudet kohde. Valitse nyt Käyttöönotto-osio SQLMAG_MyFirstCube: Property Pages -valintaikkunan vasemmalla puolella ja tarkista kohdepalvelin- ja tietokanta-asetusten asetukset, kuten kuvassa 2 näkyy, johon aiot ottaa käyttöön. Napsauta OK, kun olet tyytyväinen tälle SSAS-projektille määrittämiisi käyttöönottovaihtoehtoihin.

    Tietolähteen määrittäminen

    Ensimmäinen luotava objekti on tietolähde. Tietolähdeobjekti tarjoaa skeeman ja tiedot, joita käytetään kuutioon liittyvien ja taustalla olevien objektien rakentamiseen. Voit luoda tietolähdeobjektin BIDSissa käyttämällä ohjattua tietolähdetoimintoa.

    Käynnistä ohjattu tietolähdetoiminto napsauttamalla hiiren kakkospainikkeella Data Source -kansiota Solution Explorer -paneelissa ja valitsemalla Uusi tietolähde. Huomaat, että SSAS-objektien luominen BIDS:ssä on luonteeltaan kehitystyötä. Ohjattu toiminto opastaa sinut ensin objektin luontiprosessin ja yleisten asetusten läpi. Ja sitten avaat tuloksena olevan SSAS-objektin suunnittelijassa ja hienosäädät sitä tarvittaessa. Kun olet ohittanut kehotenäytön, määritä uusi datayhteys napsauttamalla Uusi-painiketta. Valitse ja luo uusi yhteys, joka perustuu Native OLEDB\SQL Server Native Client 10:een, joka osoittaa haluamaasi SQL Server Palvelin, joka omistaa halutun tietokantaesiintymän. Voit käyttää joko Windows- tai SQL Server -todennusta SQL Server -ympäristöasetuksistasi riippuen. Napsauta Testaa yhteys -painiketta varmistaaksesi, että olet määrittänyt tietokantayhteyden oikein, ja napsauta sitten OK-painiketta.

    Seuraavaksi tulee Impersonation Information, joka, kuten datayhteys, riippuu siitä, kuinka SQL Server -ympäristö on määritetty. Oikeuksien lainaus on suojauskonteksti, johon SSAS luottaa objektejaan käsitellessään. Jos hallitset käyttöönottoasi ensisijaisella, yhdellä palvelimella (tai kannettavalla tietokoneella), kuten oletan useimpien lukijoiden, voit yksinkertaisesti valita Käytä palvelutiliä -vaihtoehdon. Suorita ohjattu tietolähdetoiminto loppuun napsauttamalla Seuraava ja määritä tietolähteen nimeksi AWDW2005. On erittäin kätevää, että voit käyttää tätä menetelmää testaustarkoituksiin, mutta todellisessa tuotantoympäristössä tämä ei ole eniten paras harjoitus- käytä palvelutiliä. On parempi määrittää verkkotunnus Tilit lainata SSAS-yhteysoikeuksia tietolähteeseen.

    Tietolähdenäkymä

    Määrittämällesi tietolähteelle seuraava vaihe SSAS-kuution rakennusprosessissa on luoda tietolähdenäkymä (DSV). DSV tarjoaa mahdollisuuden erottaa kuution odottama skeema taustalla olevan tietokannan vastaavasta skeemasta. Tämän seurauksena DSV:tä voidaan käyttää taustalla olevan relaatiokaavion laajentamiseen kuutiota rakennettaessa. Joitakin DSV:n tärkeimpiä ominaisuuksia tietolähdeskeemojen laajentamiseen ovat nimetyt kyselyt, loogiset suhteet taulukoiden välillä ja nimetyt lasketut sarakkeet.

    Siirry eteenpäin, napsauta hiiren kakkospainikkeella DSV-kansiota ja valitse Uusi tietolähdenäkymä käynnistääksesi ohjatun uuden DSV-näkymän. Valitse valintaikkunan Valitse tietolähde -vaiheessa relaatiotietokantayhteys ja napsauta Seuraava-painiketta. Valitse FactInternetSales-, DimProduct-, DimTime-, DimCustomer-taulukot ja napsauta yhtä oikeaa nuolipainiketta siirtääksesi nämä taulukot Mukana-sarakkeeseen. Napsauta lopuksi Seuraava ja viimeistele ohjattu toiminto hyväksymällä oletusnimi ja napsauttamalla Valmis-painiketta.

    Tässä vaiheessa sinulla pitäisi olla DSV-näkymä, joka sijaitsee Data Source Views -kansiossa Solution Explorerissa. Käynnistä DSV Designer kaksoisnapsauttamalla uutta DSV:tä. Sinun pitäisi nähdä tämän DSV:n kaikki neljä taulukkoa, kuten kuvassa 2.

    Luodaan tietokannan ulottuvuuksia

    Kuten edellä selitin, dimensiot tarjoavat ulottuvuuksien ja hierarkioiden kuvaavia attribuutteja, joita käytetään tarkkuuden yläpuolelle. On tärkeää ymmärtää tietokanta- ja kuutiodimensioiden välinen ero: tietokannan dimensiot tarjoavat perusdimensio-objekteja kuution useille ulottuvuuksille, joille se rakennetaan.

    Tietokanta- ja kuutiodimensiot tarjoavat tyylikkään ratkaisun "roolipohjaisiksi dimensioksi" tunnetulle konseptille. Roolipeliulottuvuuksia käytetään, kun joudut käyttämään yhtä ulottuvuutta useita kertoja kuutiossa. Päivämäärä on täydellinen esimerkki tässä kuutio-instanssissa: rakennat yhden päivämääräulottuvuuden ja viittaat siihen kerran jokaista päivämäärää varten, jonka Internet-myyntiä haluat analysoida. Kalenteripäivämäärä on ensimmäinen luomasi ulottuvuus. Napsauta hiiren kakkospainikkeella Dimensions-kansiota Solution Explorerissa ja valitse Uusi ulottuvuus käynnistääksesi ohjatun mittaustoiminnon. Valitse Käytä olemassa olevaa taulukkoa ja napsauta Seuraava kohdassa Valitse luontimenetelmä. Määritä Määritä lähdetiedot -vaiheessa DimTime-taulukko avattavassa Päätaulukko-luettelossa ja napsauta Seuraava-painiketta. Nyt Valitse ulottuvuuden attribuutit -vaiheessa sinun on valittava aikaulottuvuuden attribuutit. Valitse kukin määrite kuvan 3 mukaisesti.

    Napsauta Seuraava. Viimeisessä vaiheessa kirjoita himmennyspäivämäärä Nimi-kenttään ja napsauta Valmis-painiketta suorittaaksesi ohjatun mittaustoiminnon. Sinun pitäisi nyt nähdä uusi Dim Date -mitta, joka sijaitsee Dimensions-kansiossa Solution Explorerissa.

    Luo sitten tuote- ja asiakasmitat ohjatun dimensiotoiminnon avulla. Luo perusmitta noudattamalla samoja vaiheita kuin aiemmin. Kun käytät ohjattua ulottuvuustoimintoa, varmista, että valitset kaikki mahdolliset ominaisuudet Valitse mittasuhteet -vaiheessa. Muiden asetusten oletusarvot ovat kunnossa testikuutio-instanssille.

    Luo Internet-myyntikuutio

    Nyt kun tietokannan mitat ovat valmiina, voit aloittaa kuution rakentamisen. Napsauta Solution Explorerissa hiiren kakkospainikkeella Kuutiot-kansiota ja valitse Uusi kuutio käynnistääksesi Cube Wizard -toiminnon. Valitse Valitse luontimenetelmä -ikkunassa Käytä olemassa olevia taulukoita -vaihtoehto. Valitse FactInternetSales-taulukko mittausryhmälle Valitse mittausryhmätaulukot -vaiheessa. Tyhjennä Promootioavain-, Valuutta-avain-, Myyntialueavain- ja Versionumero-ulottuvuuksien vieressä oleva valintaruutu Valitse mittasuhteet -vaiheessa ja napsauta Seuraava.

    Varmista Valitse olemassa olevat dimensiot -näytössä, että kaikki olemassa olevat tietokannan dimensiot on valittu, jotta niitä voidaan käyttää kuutiodimensioina. Koska haluan pitää tämän kuution mahdollisimman yksinkertaisena, poista FactInternetSales-ulottuvuuden valinta Valitse uudet mitat -vaiheessa. Jättämällä FactInternetSales-ulottuvuuden valituksi luot niin sanotun tosiasian tai rappeutuneen ulottuvuuden. Faktadimensiot ovat ulottuvuuksia, jotka on luotu käyttämällä perustietotaulukkoa perinteisen mittataulukon sijaan.

    Napsauta Seuraava-painiketta jatkaaksesi ohjatun toiminnon suorittamiseen ja kirjoita "My First Cube" kuution nimikenttään. Viimeistele ohjattu kuution luontitoiminto napsauttamalla Valmis-painiketta.

    Kuution käyttöönotto ja käsittely

    Olet nyt valmis ottamaan käyttöön ja käsittelemään ensimmäisen kuution. Napsauta hiiren kakkospainikkeella uuden kuution kuvaketta Solution Explorerissa ja valitse Prosessi. Näet viestiruudun, jossa kerrotaan, että sisältö näyttää vanhentuneelta. Napsauta Kyllä ottaaksesi uuden kuution käyttöön kohde-SSAS-palvelimessa. Kun otat käyttöön kuution, lähetät XML-tiedosto for Analisis (XMLA) kohde-SSAS-palvelimelle, joka luo kuution itse palvelimelle. Kuten mainittiin, kuution käsittely täyttää sen binaarit levyllä ensisijaisen lähteen tiedoilla sekä lisäämilläsi metatiedoilla (mitat, mitat ja kuution asetukset).

    Kun käyttöönottoprosessi on valmis, uusi Process Cube -valintaikkuna tulee näkyviin. Napsauta Suorita-painiketta aloittaaksesi kuution käsittelyn, joka avautuu Prosessin edistyminen -ikkunassa. Kun käsittely on valmis, napsauta Sulje-painiketta (kahdesti sulkeaksesi molemmat valintaikkunat) viimeistelläksesi kuution käyttöönotto- ja käsittelyprosessit.

    Olet nyt rakentanut, ottanut käyttöön ja käsitellyt ensimmäisen kuutiosi. Voit selata tätä uutta kuutiota napsauttamalla sitä hiiren kakkospainikkeella Solution Explorer -ikkunassa ja valitsemalla Selaa. Vedä mitat pivot-taulukon keskelle ja mittaattribuutit riveihin ja sarakkeisiin tutkiaksesi uutta kuutiota. Kiinnitä huomiota siihen, kuinka nopeasti kuutio käsittelee erilaisia ​​kyselyitä yhdistämällä. Nyt voit arvostaa OLAP-kuution rajatonta tehoa ja siten liikearvoa.

    Derek Comingore ( [sähköposti suojattu]) on vanhempi arkkitehti B.I. Voyagen palveluksessa, joka on Microsoft Business Intelligence Partner. Hänellä on SQL Server MVP:n arvonimi ja useita Microsoftin sertifikaatteja





  • 
    Yläosa