Mikä on olap-kuutio excelissä. SSAS-projektin luominen. Mitä analyysi on 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. Sellaisen analyysin tarkoituksena on viime kädessä tukea päätöksentekoa. Ja minkä tahansa johdon päätöksen tekemiseksi tarvitaan tarvittavat tiedot, yleensä määrälliset. Tätä varten on tarpeen kerätä nämä tiedot kaikilta tietojärjestelmä yrityksissä, tuo ne yhteiseen muotoon ja analysoi ne sitten. Tätä tarkoitusta varten luodaan tietovarastot.

Mikä on tietovarasto?

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

Joskus Varastolla on toinen tavoite - kaiken yritysdatan integrointi, tietojen eheyden ja merkityksen säilyttäminen kaikissa tietojärjestelmissä. Että. arkisto kerää analyyttisten tietojen lisäksi lähes kaiken tiedon ja voi toimittaa sen hakemistojen muodossa takaisin muihin järjestelmiin.

Tyypillinen tietovarasto on tyypillisesti erilainen kuin tyypillinen relaatiotietokanta. Ensinnäkin tavalliset tietokannat on suunniteltu auttamaan käyttäjiä päivittäisessä työssä, kun taas tietovarastot on suunniteltu päätöksentekoa varten. Esimerkiksi tavaroiden myynti ja laskujen laatiminen tapahtuu tapahtumien käsittelyyn tarkoitetun tietokannan avulla ja usean vuoden myynnin dynamiikan analyysi, joka mahdollistaa suunnittelutyön tavarantoimittajien kanssa, tehdään tietovaraston avulla.

Toiseksi vaikka perinteiset tietokannat muuttuvat jatkuvasti käyttäjien työskennellessä, tietovarasto on suhteellisen vakaa: sen sisältämät tiedot päivittyvät yleensä aikataulun mukaan (esim. viikoittain, päivittäin tai tunneittain tarpeiden mukaan). Ihannetapauksessa rikastusprosessi on yksinkertaisesti uuden tiedon lisääminen tietyn ajanjakson aikana muuttamatta aiempia tietoja, jotka ovat jo varastossa.

Ja kolmanneksi, tavalliset tietokannat ovat useimmiten varastoon päätyvien tietojen lähde. Lisäksi varastoa voidaan täydentää ulkoisista lähteistä esimerkiksi tilastoraportteja.

Miten varasto rakennetaan?

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

Palataan analyysiin.

Mitä analyysi on ja miksi sitä tarvitaan?

Analyysi on tietojen tutkimusta päätöksentekoa varten. Analyyttisiä järjestelmiä kutsutaan päätöksen tukijärjestelmiksi ( DSS).

Tässä on syytä korostaa eroa DSS:n ja yksinkertaisen säänneltyjen ja sääntelemättömien raporttien välillä. DSS-analyysi on lähes aina interaktiivista ja iteratiivista. Nuo. analyytikko kaivaa dataa, laatii ja muokkaa 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öksentukijärjestelmillä on yleensä välineet tarjota käyttäjälle aggregoituja tietoja eri näytteistä alkuperäisestä sarjasta sellaisessa muodossa, joka on kätevä havaita ja analysoida (taulukot, kaaviot jne.). Perinteinen lähestymistapa lähdetietojen segmentointiin sisältää yhden tai useamman moniulotteisen tietojoukon (kutsutaan usein hyperkuutioksi tai metakuutioksi), joiden akselit sisältävät attribuutteja ja solut sisältävät aggregoitua kvantitatiivista dataa, poimimisen lähdetiedoista. (Tällaista dataa voidaan tallentaa myös relaatiotaulukoihin, mutta tässä tapauksessa puhutaan tietojen loogisesta järjestämisestä, ei niiden tallennuksen fyysisestä toteutuksesta.) Jokaista akselia pitkin attribuutit voidaan järjestää hierarkioiden muodossa, edustavat niiden yksityiskohtien eri tasoja. Tämän tietomallin ansiosta käyttäjät voivat muotoilla monimutkaisia ​​kyselyitä, luoda raportteja ja hankkia datan osajoukkoja.

Teknologiaa moniulotteiseen data-analyysiin 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 Coddin asettamien vaatimusten perusteella muotoiltiin niin kutsuttu FASMI-testi (Fast Analysis of Shared Multidimensional Information), joka sisältää seuraavat vaatimukset moniulotteisen analyysin sovelluksille:

  • analyysitulosten tarjoaminen käyttäjälle hyväksyttävässä ajassa (yleensä enintään 5 sekunnissa), jopa vähemmän yksityiskohtaisen analyysin kustannuksella;
  • kyky suorittaa mikä tahansa looginen ja tilastollinen analyysi, joka on ominaista Tämä hakemus, ja tallentamalla sen loppukäyttäjän saatavilla olevassa muodossa;
  • usean käyttäjän pääsy tietoihin asianmukaisten lukitusmekanismien ja valtuutetun pääsyn avulla;
  • 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 erilaisista OLAP-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 Laskut1-taulukko, 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ästä näkymästä? Yleensä nämä ovat vastauksia kysymyksiin, kuten:
  • Mikä on tietystä maasta tulevien asiakkaiden tekemien tilausten kokonaisarvo?
  • Mikä on asiakkaiden tietyssä maassa tekemien ja tietyn yrityksen toimittamien tilausten kokonaisarvo?
  • Mikä on asiakkaiden tietyssä maassa tietyn vuoden aikana 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 sitä kuvaava attribuuttiluettelo (esimerkiksi maa) - tämä on yksiulotteinen tietojoukko tai matemaattisella kielellä vektori.

Kuvittelemme, että meidän on hankittava tiedot kaikkien maiden tilausten kokonaiskustannuksista ja niiden jakautumisesta jakeluyritysten kesken - saamme numerotaulukon (matriisin), jossa sarakeotsikoissa on lueteltu toimitusyritykset, rivillä maat otsikoissa, ja soluissa on tilausten määrä. Tämä on kaksiulotteinen tietojoukko. Tätä tietojoukkoa kutsutaan pivot-taulukoksi ( pivot-taulukko) tai crosstab.

Jos haluamme saada samat tiedot, mutta myös vuosikohtaisesti, tulee toinen muutos, ts. tietojoukosta tulee kolmiulotteinen (ehdollinen 3. asteen 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ä, tuotteiden määrä jne.).

Näin tulemme moniulotteisuuden käsitteeseen ja sen ilmentymiseen - moniulotteinen kuutio. Kutsumme tällaista pöytää " faktataulukko" Mitat tai kuutioakselit ( mitat) ovat attribuutteja, joiden koordinaatit ilmaistaan ​​näiden attribuuttien yksittäisillä arvoilla tietotaulukossa. Nuo. jos esimerkiksi tilaustietoa ylläpidettiin järjestelmässä vuosina 2003-2010, niin tämän vuoden akseli koostuu 8 vastaavasta pisteestä. Jos tilaukset tulevat kolmesta maasta, maa-akselilla on 3 pistettä jne. Riippumatta siitä, kuinka monta maata maahakemistossa on. Pisteitä akselilla kutsutaan sen "jäseniksi" ( Jäsenet).

Tässä tapauksessa itse koottua tietoa kutsutaan "toimenpiteiksi" ( Mitata). Jotta vältetään sekaannukset "mittojen" kanssa, jälkimmäisiä kutsutaan mieluiten "akseleiksi". Mittasarja muodostaa toisen "Measures"-akselin ( Toimenpiteet). Siinä on yhtä monta jäsentä (pistettä) kuin on mittoja (koontisarakkeita) tietotaulukossa.

Mittojen tai akselien jäsenet voidaan yhdistää yhdellä tai useammalla hierarkialla ( hierarkia). Selvitetään esimerkin avulla, mitä hierarkia on: kaupungit tilauksista voidaan yhdistää alueiksi, piirit alueiksi, maan alueet, maat maanosiksi tai muiksi kokonaisuuksiksi. Nuo. on hierarkkinen rakenne - maanosa- maa-alue-alue-kaupunki– 5 tasoa ( Taso). Alueen 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 on 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-kyselykieli, jonka huhuttiin kehittäneen entisen maanmiehimme Mosha (tai Mosha) Posumanskyn Microsoftin erämaassa, oli myös alun perin tarkoitettu analyytikoille, mutta sen käsitteet ja syntaksi (joka muistuttaa epämääräisesti SQL:ää ja täysin turhaan, eli koska se vain hämmentää), jopa monimutkaisempi kuin SQL. Sen perusasiat ovat kuitenkin edelleen helppo ymmärtää.

Tarkastelemme 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 yritykseltä. Pentaho. Muut OLAP-analyysijärjestelmät (esimerkiksi Oracle OLAP Option) käyttävät yleensä omia SQL-syntaksin laajennuksia, mutta ne ilmoittavat myös tuen MDX:lle.

Analyyttisten tietojoukkojen käsittely tarkoittaa vain niiden lukemista, ei niiden kirjoittamista. Että. MDX:ssä ei ole lausekkeita tietojen muuttamisesta, vaan vain yksi valintalauseke - select.

OLAPissa voit tehdä moniulotteisia kuutioita viipaleita– eli kun tiedot suodatetaan yhtä tai useampaa akselia pitkin, tai ennusteita– kun kuutio "kutistuu" yhtä tai useampaa akselia pitkin, kerää tietoa. Esimerkiksi ensimmäinen esimerkkimme maista tulevien tilausten määrästä on kuution projektio maa-akselille. Tämän tapauksen MDX-kysely näyttää 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
– tämä on hierarkian ensimmäisellä tasolla olevan akselin jäsenen nimi (eli maa) Kaikki – tämä on metajäsen, joka yhdistää kaikki akselin jäsenet. Jokaisella akselilla on sellainen metatermi. Esimerkiksi vuosiakselilla on "Kaikki vuodet" jne.
Lapset on jäsentoiminto. Jokaisella jäsenellä on käytettävissä useita toimintoja. Kuten vanhempi. Taso, Hierarkia, joka palauttaa vastaavasti esi-isän, hierarkian tason ja itse hierarkian, johon jäsen kuuluu tässä tapauksessa. Lapset – Palauttaa joukon tämän jäsenen alijäseniä. Nuo. meidän tapauksessamme maat.
riveillä– Osoittaa, kuinka nämä tiedot järjestetään tuloksena olevaan taulukkoon. Tässä tapauksessa - rivien otsikossa. Mahdolliset arvot tässä: sarakkeissa, sivuilla, kappaleissa jne. On myös mahdollista ilmoittaa yksinkertaisesti indeksillä, alkaen 0:sta.
alkaen– tämä on osoitus kuutiosta, josta valinta tehdään.

Entä jos emme tarvitse kaikkia maita, vaan vain muutamia tiettyjä maita? Tätä varten voimme nimenomaisesti määrittää pyynnössä tarvitsemamme maat sen sijaan, että valitsisimme kaiken Lapset-toiminnolla.

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

Kirjoitetaan nyt kysely toiselle esimerkillemme – ulostulolle toimitushenkilön kontekstissa:

Valitse ...Lapset riveillä .Jäsenet sarakkeissa alkaen
Lisätty tähän:
– akseli;
.Jäsenet– akselifunktio, joka palauttaa kaikki termit. Hierarkialla ja tasolla on sama tehtävä. Koska Tällä akselilla on vain yksi hierarkia, jolloin 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ä kolmannella esimerkillämme yksityiskohtaisesti vuosittain. Mutta älkäämme porratko vuosi kerrallaan, vaan suodatetaan – ts. rakentaa siivu Tätä varten kirjoitamme seuraavan kyselyn:

Valitse ..Lapset riveillä .Jäsenet sarakkeissa mistä (.)
Missä tämä suodatin on?

missä- avainsana
on yksi hierarkian jäsen . Koko nimi, mukaan lukien kaikki ehdot, olisi: .. , mutta koska Koska tämän jäsenen nimi on ainutlaatuinen akselin sisällä, kaikki nimen väliselvennykset voidaan jättää pois.

Miksi päivämäärätermi 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ä alkaen 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 on tuloksena kahden joukon karteesisesta tulosta. Nuo. tuloksena oleva joukko sisältää kaikki mahdolliset maiden ja vuosien yhdistelmät. Rivien otsikot sisältävät siis parin arvoja: 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 johtaa toisen suuren, niin muistamme, että suuret ovat ulottuvuuden jäseniä Toimenpiteet. Ja toimimme täsmälleen samalla tavalla kuin muiden akseleiden kanssa. Nuo. kyselyn suodattaminen jollakin mitalla näyttää täsmälleen tämän suuren soluissa.

Kysymys: Mitä eroa on suodatuksella missä ja suodatuksella määrittämällä akselin jäsenet riveille? Vastaus: käytännössä ei mitään. Yksinkertaisesti missä 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 lasketut jäsenet. Sekä attribuutti- että mittaakselien 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ä, jossa kaikki sen koordinaattiattribuutit tunnetaan. Vastaavat koordinaatit (jäsenet) voidaan saada CurrentMember-funktiolla kullekin kuution akselille. Tässä meidän on ymmärrettävä se ilmaus .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 näyttömuodon, ts. %.

Toinen esimerkki lasketusta jäsenestä, mutta vuosiakselilla:

Jäsenen kanssa. kuten '. -.'
Ilmeisesti raportti ei sisällä yksikköä, vaan vastaavien osioiden eroa, ts. tilausmäärien ero näiden kahden vuoden aikana.

Näyttö ROLAPissa

OLAP-järjestelmät perustuvat tavalla tai toisella 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 tavallisten kaksiulotteisten taulukoiden muodossa. ROLAP-järjestelmät muuntavat MDX-kyselyt SQL:ksi. Tietokantojen suurin laskentaongelma on nopea aggregointi. Aggregoinnin nopeuttamiseksi tietokannan tiedot ovat yleensä erittäin denormalisoituja, ts. niitä ei tallenneta kovin tehokkaasti levytilan ja tietokannan eheyden valvonnan kannalta. Lisäksi ne sisältävät lisäksi aputaulukoita, jotka tallentavat osittain koottua tietoa. Siksi OLAP:ia varten luodaan yleensä erillinen tietokantaskeema, joka vain osittain toistaa alkuperäisten tapahtumatietokantojen rakenteen hakemistojen suhteen.

Navigointi

Monet OLAP-järjestelmät tarjoavat interaktiivisia navigointityökaluja jo luodulle kyselylle (ja vastaavasti valituille tiedoille). Tässä tapauksessa käytetään niin kutsuttua "porausta" tai "porausta". 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 yksityiskohtia vähentämällä tietojen aggregointiastetta yhdistettynä suodatukseen jollakin toisella akselilla (tai useilla akseleilla). Poraustyyppejä on useita:

  • poraus– suodatus raportin yhtä lähdeakselia pitkin ja näyttää yksityiskohtaiset tiedot valitun suodatusjäsenen hierarkiassa olevista jälkeläisistä. Jos esimerkiksi on raportti tilausten jakautumisesta maittain ja vuosiin eriteltynä, vuotta 2007 napsauttaminen näyttää raportin eriteltyinä vuoden 2007 samojen maiden ja kuukausien mukaan.
  • poran puoleinen– suodatus yhden tai useamman valitun akselin alle ja aggregoinnin poistaminen yhden tai useamman muun akselin mukaan. Jos esimerkiksi on olemassa raportti tilausten jakautumisesta maittain ja vuosien mukaan, napsauttamalla vuotta 2007 tulee näkyviin toinen raportti, joka on eritelty esimerkiksi maittain ja toimittajittain suodatuksella vuoteen 2007 mennessä.
  • pora-kaukalo– aggregoinnin poistaminen kaikkia akseleita pitkin ja samanaikainen suodatus niitä pitkin – mahdollistaa lähdetietojen näkemisen faktataulukosta, josta raportin arvo on saatu. Nuo. Kun napsautat solun arvoa, näkyviin tulee raportti, joka sisältää kaikki tilaukset, jotka antoivat tämän summan. Eräänlaista välitöntä poraamista kuution "syvyyksiin".
Siinä kaikki. Jos nyt päätät omistautua Business Intelligencelle ja OLAP:lle, on aika alkaa lukea vakavaa kirjallisuutta.

Tunnisteet: Lisää tunnisteita

Olen asunut Habrissa jo jonkin aikaa, 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 lyhyen kehitysajan aikana on kertynyt paljon itse dataa. Nyt kiinnostaa myös arkistojen täydellinen analyysi ja ehkä yritys ennustaa tilanteita vastaaville malleille tulevaisuudessa.
Toisaalta suuret yritykset voivat kerätä jopa useiden vuosien, kuukausien tai jopa viikkojen aikana niin suuria tietomääriä, että jopa niiden perusanalyysi 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 erilaisesta 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ääominaisuuksia ja mitä ongelmia ne ratkaisevat (Analysis Services 2005/2008 otetaan lähtökohtana):

  • nopea pääsy dataan
  • esiaggregointi
  • hierarkia
  • työskennellä ajan kanssa
  • moniulotteinen tietojen käyttökieli
  • KPI (Key Performance Indicators)
  • taatelien louhinta
  • monitasoinen välimuisti
  • monikielinen tuki
Joten tarkastellaan OLAP-kuutioiden ominaisuuksia 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 noutoon kuluva aika mitataan sekunnin murto-osissa, ja muutaman sekunnin pituinen kysely vaatii todennäköisesti optimoinnin.

Esiaggregointi
Sen lisäksi, että se noutaa nopeasti olemassa olevat tiedot, se tarjoaa myös mahdollisuuden esiaggregoida "todennäköisimmin käytetyt" arvot. Esimerkiksi, jos meillä on päivittäiset tiedot tietyn tuotteen myynnistä, järjestelmästä Voi olla Voimme myös esiaggregoida 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 esiaggregointia ei aina tapahdu?Koska teoreettisesti 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 alun perin he tarkastelevat dataa hierarkioiden ja suhteiden näkökulmasta saman entiteetin muihin parametreihin, joten hierarkioiden rakentaminen ja käyttö kuutioihin on hyvin yksinkertaista.

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

Moniulotteinen tietojen käyttökieli
MDX(Multidimensional Expressions) - kyselykieli moniulotteisten tietorakenteiden yksinkertaiseen ja tehokkaaseen käyttöön. Ja se kertoo kaiken – alla on muutamia esimerkkejä.

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

Kaivospäivämäärä
Tietojen louhinta(Data Mining) - pohjimmiltaan piilotettujen kuvioiden tai muuttujien välisten suhteiden tunnistaminen suurissa tietojoukkoissa.
Englanninkielisellä termillä "Data Mining" ei ole yksiselitteistä käännöstä venäjäksi (data mining, data mining, information mining, data/information extraction), joten useimmissa tapauksissa sitä käytetään alkuperäisessä. Menestynein epäsuora käännös on termi "data mining" (DMA). Tämä on kuitenkin erillinen, yhtä mielenkiintoinen aihe pohdittavaksi.

Monitasoinen välimuisti
Itse asiassa OLAP-järjestelmät tukevat monitasoista välimuistia, jotta varmistetaan tietojen suurin käyttönopeus. Yksinkertaisten kyselyjen välimuistiin tallentamisen lisäksi välimuistiin tallennetaan myös osia kaupasta 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ämmittäminen" - toiminto, joka valmistelee OLAP-järjestelmän työskentelemään tiettyjen raporttien, kyselyjen tai kaikkien yhdistettyjen kanssa.

Monikielinen tuki
Kyllä kyllä ​​kyllä. Analysis Services 2005/2008 (vaikka 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 siis oikein ovat?
Kuvitellaan kolmiulotteinen tila, jonka akselit ovat aika, tuotteet ja asiakkaat.
Piste tällaisessa tilassa osoittaa, että yksi ostajista osti tietyn tuotteen tietyssä kuukaudessa.

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

Vähän MDX:ää

Joten mikä on MDX:n kauneus? Todennäköisesti meidän ei tarvitse kuvata, kuinka haluamme valita dataa, 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.
Samalla kuvailen joka nämä ovat tiedot, joita haluan ja Miten Haluan nähdä ne raportissa.
Kaunista, eikö?

Tässä hieman monimutkaisempi:

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

* Tämä lähdekoodi korostettiin Source Code Highlighterilla.

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

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

Johtopäätös

Itse asiassa tämä artikkeli kattaa hyvin vähän edes peruskäsitteitä; kutsuisin sitä "alkupalaksi" - tilaisuudeksi kiinnostaa Habra-yhteisöä tästä aiheesta ja kehittää sitä edelleen. Mitä tulee kehitykseen, täällä 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 - olisin erittäin kiitollinen rakentavasta palautteesta.
Päivittää: Siirsin sen SQL:ään, siirrän sen OLAPiin heti, kun saan luoda uusia blogeja.

Tunnisteet: Lisää tunnisteita

Osana tätä työtä tarkastellaan seuraavia asioita:

  • Mitä ovat OLAP-kuutiot?
  • Mitä ovat mittasuhteet, dimensiot, hierarkiat?
  • Millaisia ​​toimintoja 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 käyttäjäanalyytikko voi tiedustella tietoja. Kuutiot luodaan faktoista ja ulottuvuuksista.

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

Mitat- nämä ovat tietoelementtejä, joiden avulla tosiasiat analysoidaan. Tällaisten elementtien kokoelma muodostaa ulottuvuusattribuutin (esimerkiksi viikonpäivät voivat muodostaa aikaulottuvuuden attribuutin). Kaupallisten yritysten liiketoiminta-analyysitehtävissä dimensiot sisältävät usein luokat, kuten "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. Siten "maantieteellinen sijainti" -ulottuvuuden hierarkia voi sisältää tasot: "maa - alue - kaupunki". Aikahierarkiassa voimme erottaa esimerkiksi seuraavan tasojonon: Dimensiolla voi olla useita hierarkioita (yhden ulottuvuuden jokaisella hierarkialla on oltava sama dimensiotaulukon avainattribuutti).

Kuutio voi sisältää todellisia tietoja yhdestä tai useammasta tietotaulukosta ja sisältää useimmiten useita ulottuvuuksia. Jokaisella kuutiolla on yleensä erityinen 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 määrä rahassa ilmaistuna). Mittausarvot tallennetaan kuution vastaaviin soluihin. Jokainen solu tunnistetaan yksilöllisesti kunkin ulottuvuuden jäsenjoukolla, jota kutsutaan monikkoksi. Esimerkiksi kuution vasemmassa alakulmassa oleva solu (sisältää arvon 98399 $) määritetään monikolla [heinäkuu 2005, Kaukoitä, Diesel]. Tässä 98 399 dollarin arvo osoittaa dieselin myyntimäärän (rahassa) Kaukoidässä heinäkuussa 2005.

On myös syytä huomata, että jotkin solut eivät sisällä arvoja: nämä solut ovat tyhjiä, koska faktataulukko 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 kokonaismääriä, joita kutsutaan aggregaatioita(aggregaatiot). Nuo. kuutio kattaa todellista suuremman tietotilan - siinä on loogisia, laskettuja pisteitä. Aggregointitoimintojen avulla voit laskea loogisen tilan pisteiden arvot todellisten arvojen perusteella. Yksinkertaisimmat aggregointifunktiot ovat SUM, MAX, MIN, COUNT. Esimerkiksi käyttämällä MAX-toimintoa esimerkissä annetulle kuutiolle voit tunnistaa milloin dieselin myynnin huippu oli Kaukoidässä jne.

Toinen moniulotteisten kuutioiden erityispiirre on alkuperän 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 (luodaan automaattisesti) sisältää vain yhden elementin - Kaikki. Yksinkertaisissa aggregointifunktioissa, kuten summa, 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 koko avaruutta jonkin moniulotteisen hahmon muodossa kuution sisällä. Koska kuution moniulotteinen avaruus on diskreetti ja rajoitettu, on myös alikuutio diskreetti ja rajoitettu.

Toiminnot OLAP-kuutioilla

Seuraavat toiminnot voidaan suorittaa OLAP-kuutiolle:

  • viipale;
  • kierto;
  • konsolidointi;
  • yksityiskohtaisesti.
Viipale(Kuva 2) on alikuution erikoistapaus. Tämä on menettely, jolla muodostetaan moniulotteisen tietotaulukon osajoukko, joka vastaa yhden tai useamman dimensioelementin yhtä arvoa, joka ei 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 "Tuotteet"-ulottuvuus "Ural"-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 uudelleenjärjestelyn. Lisäksi datakuution pyörittäminen siirtää taulukon ulkopuoliset mitat paikoilleen näytetyllä sivulla olevien mittojen kanssa ja päinvastoin.

    Yleensä jokainen asiantuntija tietää, mitä OLAP nykyään on. 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, sillä jotta ajatus jostain ei vanhentuisi ajan myötä, sinun on aika ajoin kommunikoida fiksut ihmiset tai lukea artikkeleita hyvästä julkaisusta...

    Tietovarastot (OLAPin paikka yrityksen tietorakenteessa)

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

    Tässä on tietovarastoinnin "perustajaisän" Bill Inmonin muotoilema määritelmä: "Tietovarasto on toimialuekohtainen, aikasidonnainen, muuttumaton tiedon kokoelma hallinnon päätöksenteon tueksi."

    Varaston tiedot tulevat operatiivisista 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 tietokannassa tai käyttöjärjestelmätiedostoissa? Vastaus voi olla lyhyt: käyttöjärjestelmien tietojen suora analysointi on mahdotonta tai erittäin vaikeaa. Tämä johtuu useista syistä, kuten tietojen pirstoutumisesta, sen tallentamisesta eri DBMS-muodoissa ja eri "kulmissa" yritysverkosto. Mutta vaikka yritys tallentaisi kaikki tietonsa keskustietokantapalvelimelle (mikä on erittäin harvinaista), analyytikko ei läheskään 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 "liian paljon heille".

    Siten arkiston tarkoituksena 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 omaa tietoaan. tehtävä suoritettu.

    On toinenkin syy, joka oikeuttaa erillisen arkiston luomisen - monimutkaiset analyyttiset kyselyt operatiiviset tiedot hidasta tämänhetkinen työ yrityksiä, estämällä pöytiä pitkään ja kaappaamalla palvelinresursseja.

    Mielestäni arkisto ei välttämättä tarkoita valtavaa tiedon kerääntymistä - pääasia, että se on kätevä analysoitavaksi. Yleisesti ottaen pienille varastotiloille on olemassa erillinen termi - Data Marts (datakioski), mutta venäläisessä käytännössämme sitä ei usein kuule.

    OLAP - kätevä analyysityökalu

    Keskittäminen ja kätevä jäsentäminen eivät ole kaikkea, mitä analyytikko tarvitsee. Hän tarvitsee edelleen työkalun tiedon katseluun ja visualisointiin. Perinteisistä raporteista, jopa yhteen tietovarastoon 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 ei ole kiireinen) tekee uuden raportin riittävän nopeasti - vaikka tunnin sisällä (kirjoitan tätä enkä usko se itse - se ei tapahdu niin nopeasti elämässä; annetaan hänelle kolme tuntia) . Osoittautuu, että analyytikko voi testata 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 "osia" tiedosta analyytikko näkee, sitä enemmän hänellä on ideoita, jotka puolestaan ​​vaativat yhä enemmän "viipaleita" todentamista varten. Kunpa hänellä olisi työkalu, jonka avulla hän voisi laajentaa ja tiivistää tietoja yksinkertaisesti ja kätevästi! OLAP toimii tällaisena työkaluna.

    Vaikka OLAP ei ole tietovaraston välttämätön attribuutti, sitä käytetään yhä enemmän varastoon 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 tallennetaan relaatiosäilöön. Lisäksi ne ovat jo nyt analysoitavissa erilaisilla raportointityökaluilla. Sitten tiedot (kokonaan tai osittain) valmistetaan OLAP-analyysiä varten. Ne voidaan ladata erityiseen OLAP-tietokantaan tai tallentaa relaatiomuistiin. Sen tärkein elementti on metadata eli tieto tiedon rakenteesta, sijoittelusta ja muuntamisesta. Niiden ansiosta eri tallennuskomponenttien tehokas vuorovaikutus varmistetaan.

    Yhteenvetona voidaan todeta, että voimme määritellä OLAPin 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 vaarana on, että astumme jo edellä kuvatulle haravalle, eli alamme analysoida operatiivista dataa, joka ei sovellu suoraan analysoitavaksi.

    OLAPin määritelmä ja peruskäsitteet

    Ensin tulkitaan: OLAP on online-analyyttinen käsittely eli operatiivisen tiedon analysointi. OLAP:n 12 määrittelevää periaatetta muotoili vuonna 1993 E. F. Codd, relaatiotietokantojen "keksijä". Myöhemmin sen määritelmä on muokattu ns. FASMI-testiksi, joka edellyttää, että OLAP-sovellus tarjoaa mahdollisuuden analysoida nopeasti jaettua moniulotteista tietoa ().

    FASMI testi

    Nopeasti(Nopea) - analyysi tulisi tehdä yhtä nopeasti kaikista tiedon näkökohdista. Hyväksyttävä vasteaika on 5 sekuntia tai vähemmän.

    Analyysi(Analyysi) - sovelluksen kehittäjän ennalta määrittelemiä tai käyttäjän vapaasti määrittelemiä numeerisen ja tilastollisen analyysin perustyyppejä on voitava suorittaa.

    Jaettu(Jaettu) - Monilla käyttäjillä on oltava pääsy tietoihin, kun taas luottamuksellisten 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 tai ostajan tyyppi. Aikaa käytetään yhtenä ulottuvuuksista. Akseleiden leikkauskohdissa - mitat (Dimensions) - on dataa, joka kuvaa prosessia kvantitatiivisesti - mitat (Measures). Tämä voi olla myyntimääriä kappaleina tai rahallisesti, varastosaldot, kustannukset jne. Tietoja analysoiva käyttäjä voi "leikata" kuution eri suuntiin, vastaanottaa yhteenvedon (esimerkiksi vuosikohtaisesti) tai päinvastoin yksityiskohtaisia ​​(viikkokohtaisia) tietoja ja suorittaa muita analyysiprosessin aikana mieleen tulevia manipulaatioita.

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


    Riisi. 2. Kuutioesimerkki

    Kuution "leikkaus".

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

    Kuution kaksiulotteinen esitys saadaan "leikkaamalla" se yhden tai useamman akselin (mitan) poikki: kiinnitämme kaikkien paitsi kahden ulottuvuuden arvot ja saamme tavallisen kaksiulotteisen taulukon. Taulukon vaaka-akseli (sarakeotsikot) edustaa yhtä ulottuvuutta, pystyakseli (rivien otsikot) edustaa toista ja taulukon solut edustavat mittojen arvoja. Tässä tapauksessa mittajoukkoa pidetään itse asiassa yhtenä dimensioista - joko valitsemme yhden näytettävän suuren (ja sitten voimme sijoittaa kaksi ulottuvuutta rivi- ja sarakeotsikoihin) tai näytämme useita mittauksia (ja sitten yhden taulukon akselit ovat mittojen nimet ja muut - ainoan "leikkaamattoman" mittasuhteen arvot).

    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. 2D-kuution viipale yhdelle mittalle

    Kuvassa Kuvassa 4 on vain yksi "leikkaamaton" ulottuvuus - Kauppa, mutta se näyttää useiden mittareiden arvot - Yksikkömyynti (myydyt yksiköt), Myynti kaupassa (myyntimäärä) ja Kaupan kustannukset (myymäläkulut).


    Riisi. 4. 2D-kuutioviipale 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. 2D-kuutioviipale, jossa on useita ulottuvuuksia yhdellä akselilla

    Tunnisteet

    Mittoja pitkin "asetettuja" arvoja kutsutaan jäseniksi tai tarroiksi. Tunnisteita käytetään sekä kuution "leikkaukseen" että valitun datan rajoittamiseen (suodattamiseen) - kun "leikkaamattomassa" ulottuvuudessa emme ole kiinnostuneita kaikista arvoista, vaan niiden osajoukosta, esimerkiksi kolmesta kaupungista. useista kymmenistä. 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 Kauppa-ulottuvuuden tunnisteet ryhmitellään luonnollisesti hierarkiaan, jossa on tasot:

    Maa

    Osavaltio

    Kaupunki

    Store.

    Kokonaisarvot lasketaan hierarkiatasojen mukaan, esimerkiksi myyntivolyymit USA:lle ("Maa"-taso) tai Kalifornialle ("Osavaltio"-taso). On mahdollista toteuttaa useampi kuin yksi hierarkia yhdessä ulottuvuudessa - esimerkiksi ajalle: (vuosi, vuosineljännes, kuukausi, päivä) ja (vuosi, viikko, päivä).

    OLAP-sovellusten arkkitehtuuri

    Kaikki yllä sanottu OLAPista liittyi olennaisesti datan moniulotteiseen esittämiseen. Tietojen säilytys ei karkeasti sanottuna koske loppukäyttäjää tai asiakkaan käyttämän työkalun kehittäjiä.

    OLAP-sovellusten moniulotteisuus voidaan jakaa kolmeen tasoon:

    • Moniulotteinen tietojen esitys - loppukäyttäjätyökalut, jotka tarjoavat moniulotteisen visualisoinnin ja tietojen käsittelyn; kerros moniulotteinen esitys irrottaa tiedon fyysisestä rakenteesta ja näkee tiedon moniulotteisena.
    • Moniulotteinen käsittely - työkalu (kieli) moniulotteisten kyselyjen muotoiluun (perinteinen relaatio SQL-kieli osoittautuu sopimattomaksi tähän) ja prosessori, joka pystyy käsittelemään ja suorittamaan tällaisen pyynnön.
    • Moniulotteinen tallennus on tapa järjestää tietoja fyysisesti, mikä varmistaa moniulotteisten kyselyiden tehokkaan suorittamisen.

    Ensimmäiset kaksi tasoa ovat pakollisia kaikissa OLAP-työkaluissa. Kolmas taso, vaikka se onkin laajalle levinnyt, ei ole välttämätön, koska moniulotteisen esityksen dataa voidaan poimia tavallisista relaatiorakenteista; Moniulotteinen kyselyprosessori kääntää tässä tapauksessa moniulotteiset kyselyt SQL-kyselyiksi, jotka relaatiotietokantajärjestelmä suorittaa.

    Tietyt OLAP-tuotteet ovat yleensä joko moniulotteinen tietojen esitystyökalu, OLAP-asiakas (esimerkiksi pivot-taulukot Excel 2000:ssa Microsoftilta tai ProClarity Knosysilta) tai moniulotteinen palvelin DBMS, OLAP-palvelin (esim. Oracle). Express Server tai Microsoft OLAP Services).

    Moniulotteinen käsittelykerros on yleensä sisäänrakennettu OLAP-asiakkaaseen ja/tai OLAP-palvelimeen, mutta se voidaan eristää puhtaassa 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 noina aikoina, jolloin OLAP-palvelimia ei ollut mukana johtavien DBMS-valmistajien hinnastoissa. Mutta nykyään Oracle, Informix ja Microsoft tarjoavat täysimittaisia ​​OLAP-palvelimia, ja jopa ne IT-päälliköt, jotka eivät halua luoda "eläintarhaa" eri valmistajien ohjelmistoja verkkoihinsa, voivat ostaa (tai pikemminkin tehdä vastaavan pyynnön yrityksen johto ) 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 yksiköiden varastointi. Tosiasia on, että mihin tahansa tietovarastoon - sekä tavalliseen että moniulotteiseen - yhdessä käyttöjärjestelmistä poimittujen yksityiskohtaisten tietojen kanssa tallennetaan myös yhteenvetoindikaattoreita (aggregoituja indikaattoreita, aggregaatioita), kuten myyntimäärien summa kuukausittain, tavaraluokittain jne. Aggregaatit on tallennettu nimenomaan pyyntöjen suorittamisen nopeuttamiseksi. Loppujen lopuksi toisaalta varastoon kertyy yleensä erittäin suuri määrä tietoja, ja toisaalta analyytikot eivät useimmissa tapauksissa ole kiinnostuneita yksityiskohtaisista, vaan yleisistä indikaattoreista. Ja jos miljoonia yksittäisiä myyntimääriä jouduttaisiin laskemaan joka kerta yhteen vuoden kokonaismyynnin laskemiseksi, nopeutta ei todennäköisesti voida hyväksyä. Siksi, kun tietoja ladataan moniulotteiseen tietokantaan, kaikki kokonaisindikaattorit tai osa niistä lasketaan ja tallennetaan.

    Mutta kuten tiedät, sinun on maksettava kaikesta. Ja yhteenvetotietojen käsittelyn nopeuden vuoksi joudut maksamaan tietomäärien kasvusta ja niiden latausajasta. Lisäksi volyymin kasvu voi tulla kirjaimellisesti katastrofaalista - yhdessä julkaistussa standardoidut testit täydellinen aggregaattien laskeminen 10 megatavulle alkuperäistä dataa vaati 2,4 Gt, eli data kasvoi 240-kertaiseksi! Tietojen "turvotuksen" aste aggregaatteja laskettaessa riippuu kuution dimensioiden lukumäärästä ja näiden mittojen rakenteesta, eli "isien" ja "lasten" lukumäärän suhteesta eri mittaustasoilla. Aggregaattien tallennusongelman ratkaisemiseksi käytetään joskus monimutkaisia ​​​​malleja, joiden avulla voidaan saavuttaa merkittävä lisäys kyselyn tehokkuudessa laskettaessa kaikkia mahdollisia aggregaatteja.

    Nyt eri vaihtoehdoista tietojen tallentamiseen. Sekä rakeisia tietoja että aggregaatteja voidaan tallentaa joko relaatio- tai moniulotteisiin rakenteisiin. Moniulotteinen tallennus mahdollistaa tietojen käsittelyn moniulotteisena matriisina, mikä varmistaa yhtä nopeat kokonaisindikaattorien laskelmat ja erilaiset moniulotteiset muunnokset minkä tahansa ulottuvuuden mukaan. 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 alun perin "asuivat" - relaatiotietokantaan; aggregaatit tallennetaan samaan tietokantaan erityisesti luotuissa palvelutaulukoissa.
    • HOLAP(Hybridi-OLAP) - yksityiskohtaiset tiedot pysyvät paikoillaan (relaatiotietokannassa), ja aggregaatit tallennetaan moniulotteiseen tietokantaan.

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

    Kun dataa tallennetaan moniulotteisiin rakenteisiin, tyhjien arvojen tallentamisesta johtuen "paisunta" on mahdollinen. Loppujen lopuksi, jos moniulotteisessa taulukossa tilaa on varattu kaikille mahdollisille mittaetikettien yhdistelmille, mutta vain pieni osa on todellisuudessa täytetty (esimerkiksi useita tuotteita myydään vain pienellä määrällä alueita), niin suurin osa kuutio on tyhjä, vaikka tila on varattu. Nykyaikaiset OLAP-tuotteet selviävät tästä ongelmasta.

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

    4.7.2011 Derek Comingore

    Jos olet työskennellyt millä tahansa teknologiaan liittyvällä alalla, olet luultavasti kuullut termin "kuutio"; useimmat tavalliset tietokannan ylläpitäjät ja kehittäjät eivät kuitenkaan työskennelleet näiden objektien kanssa. Kuutiot tarjoavat tehokkaan tietoarkkitehtuurin moniulotteisen tiedon nopeaan kokoamiseen. Jos organisaatiosi tarvitsee analysoida suuria tietomääriä, niin ihanteellinen ratkaisu siitä 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 relaatiotietokannan on vastaanotettava joukkopohjainen kysely, jonka tiedot kerätään ja aggregoidaan lennossa. Tällaiset relaatiokyselyt ovat erittäin kalliita, koska ne perustuvat useisiin liitoksiin ja aggregaattifunktiot; Aggregoidut relaatiokyselyt ovat erityisen tehottomia käytettäessä suuria tietomääriä.

    Kuutiot ovat moniulotteisia kokonaisuuksia, jotka on suunniteltu korjaamaan tämä relaatiotietokantojen puute. Kuution avulla voit tarjota käyttäjille tietorakenteen, joka tarjoaa nopean vastauksen suuria koontimääriä sisältäviin kyselyihin. Kuutiot suorittavat tämän "aggregaatin taian" yhdistämällä ensin dataa (ulottuvuuksia) useista ulottuvuuksista. Kuution esiaggregointi suoritetaan yleensä käsittelyn aikana. Kun käsittelet kuutiota, tuotat esilaskettuja tietokoostumuksia, jotka tallennetaan binäärimuodossa levylle.

    Kuutio on keskeinen tietorakenne käyttöjärjestelmä SQL Server Analytical Services (SSAS) OLAP-tietojen analyysi. Kuutiot rakennetaan tyypillisesti alla 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 mittausryhmiin ominaisuuden - tarkkuuden - perusteella.

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

    Mainitsin, että kuutiot rakennetaan alla olevasta relaatiotietokannasta, jota kutsutaan ulottuvuusmalliksi. Dimensiomalli sisältää relaatiotaulukoita (fakta ja ulottuvuus), jotka yhdistä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 faktataulukot ja dimensiotaulukot liittyvät ensisijaiseen vieraan avaimen rajoituksiin, kun vieraita avaimia sijaitsevat faktataulukossa (tämä relaatiosuhde liittyy edellä käsiteltyyn kuution granulaarisuusattribuuttiin). Kun ulottuvuustaulukot linkitetään suoraan faktataulukkoon, muodostuu tähtiskeema. Kun ulottuvuustaulukoita ei ole suoraan linkitetty faktataulukkoon, tuloksena on lumihiutaleskeema.

    Huomaa, että mittamallit luokitellaan sovelluksen mukaan. Datamarket on dimensiomalli, joka on suunniteltu yhdelle liiketoimintaprosessille, kuten myyntiin tai varastonhallintaan. Tietovarasto on dimensiomalli, joka on suunniteltu kaappaamaanja, 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 vaihteet päälle ja opastan sinut vaiheittaiselle kierrokselle ensimmäisen kuutiosi rakentamisessa SSAS:n avulla. Siinä on joitain peruskomponentteja ohjelmisto, jota tarvitset, joten ennen kuin aloitat ensimmäisen kuution rakentamisen, varmista, että järjestelmäsi täyttää vaatimukset.

    Esimerkki Internet Sales -kuutioni rakennetaan AdventureWorksDW 2005 -testitietokannasta. Rakennan testikuution testitietokannasta löytyvistä taulukoista, joista on hyötyä Internet-myyntitietojen analysointiin. Kuvassa 1 on esitetty tietokantataulukoiden perusasettelu. 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 -koulutustietokanta löytyy CodePlex-verkkosivustolta: msftdbprodsamples.codeplex.com. Etsi linkki "SQL Server 2005 -tuotemallitietokannat ovat edelleen saatavilla" (http://codeplex.com/MSFTDBProdSamples/Release/ProjectReleases.aspx?ReleaseId=4004). Harjoitustietokanta on tiedostossa AdventureWorksBI.msi (http://msftdbprodsamples.codeplex.com/releases/view/4004#DownloadId=11755).

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

    SSAS-projektin luominen

    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ä. Luoda uusi projekti SSAS valitsemalla Tiedosto, Uusi, Projekti. Näet Uusi projekti -valintaikkunan, joka näkyy kuvassa 1. Valitse Analysis Services Project -kansio ja aseta projektin kuvaukseksi SQLMAG_MyFirstCube. Napsauta OK.

    Kun projekti on luotu, napsauta sitä hiiren kakkospainikkeella Solution Explorerissa ja valitse kontekstivalikko Ominaisuudet kohde. Valitse nyt Käyttöönotto-osio SQLMAG_MyFirstCube: Property Pages -valintaikkunan vasemmalla puolella ja tarkista Target Server and Database -asetusten asetukset, kuten kuvasta 2 näkyy. Jos työskentelet hajautetussa SQL Server -ympäristössä, sinun on täytettävä vaatimukset. Target Server -ominaisuus, jossa on sen palvelimen nimi, johon aiot ottaa käyttöön. Napsauta OK, kun olet tyytyväinen tämän SSAS-projektin käyttöönottoasetuksiin.

    Tietolähteen määrittäminen

    Ensimmäinen objekti, joka sinun on luotava, on tietolähde. Tietolähdeobjekti tarjoaa skeeman ja tiedot, joita käytetään kuutioon liittyvien ja sen pohjassa olevien objektien rakentamiseen. Voit luoda tietolähdeobjektin BIDSissa käyttämällä ohjattua lähdetoimintoa Data Lähdevelho.

    Käynnistä ohjattu tietolähdetoiminto napsauttamalla hiiren kakkospainikkeella Data Source -kansiota Solution Explorer -paneelissa ja valitsemalla Uusi tietolähde. Tulet huomaamaan, että SSAS-objektien luominen BIDS:ssä on kehitysluonteista. Ohjattu toiminto opastaa sinut ensin objektin luontiprosessin ja yleisten asetusten läpi. Sitten avaat tuloksena olevan SSAS-objektin suunnittelijassa ja muokkaat sitä tarvittaessa yksityiskohtaisesti. 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-palvelin 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 tunnistanut tietokantayhteyden oikein, ja napsauta sitten OK.

    Seuraavaksi tulee Impersonation Information, joka, kuten tietojen yhdistäminen, riippuu SQL Server -ympäristön rakenteesta. Etuoikeuslainaus on suojauskonteksti, johon SSAS luottaa objektejaan käsitellessään. Jos hallitset käyttöönottoasi ensisijaisessa, yksittäisessä palvelimessa (tai kannettavassa tietokoneessa), kuten oletan useimpien lukijoiden, voit valita Käytä palvelutiliä -vaihtoehdon. Suorita ohjattu tietolähteen toiminto loppuun napsauttamalla Seuraava ja aseta AWDW2005 tietolähteen nimeksi. On varsin kätevää, että voit käyttää tätä menetelmää testaustarkoituksiin, mutta todellisessa tuotantoympäristössä se ei ole kaikkein 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 skeemasta. Tämän seurauksena DSV:tä voidaan käyttää taustalla olevan relaatiokaavion laajentamiseen kuutiota rakennettaessa. Joitakin DSV:n tärkeimpiä ominaisuuksia tietolähdeskeemojen laajentamiseksi ovat nimetyt kyselyt, loogiset suhteet taulukoiden välillä ja nimetyt lasketut sarakkeet.

    Siirrytään eteenpäin ja napsauta hiiren kakkospainikkeella DSV-kansiota ja valitse Uusi tietolähdenäkymä käynnistääksesi ohjatun Luo uusi DSV-näkymä. Valitse valintaikkunan Valitse tietolähde -vaiheessa relaatiotietokantayhteys ja napsauta Seuraava. 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.

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

    Tietokannan mittojen luominen

    Kuten edellä selitin, dimensiot tarjoavat ulottuvuuksien ja hierarkioiden kuvaavia ominaisuuksia, joita käytetään mahdollistamaan yksityiskohtien yläpuolella tapahtuva yhdistäminen. On tärkeää ymmärtää tietokantamitan ja kuutiodimension välinen ero: tietokannan dimensiot tarjoavat taustalla olevat dimensioobjektit kuution useille dimensiolle, joita käytetään kuution rakentamiseen.

    Tietokanta- ja kuutiodimensiot tarjoavat tyylikkään ratkaisun "roolidimensioina" tunnetulle konseptille. Roolipohjaisia ​​ulottuvuuksia käytetään, kun sinun on käytettävä yhtä ulottuvuutta kuutiossa useita kertoja. Päivämäärä on täydellinen esimerkki tässä kuutio-instanssissa: luot yhden päivämääräulottuvuuden ja viittaat siihen kerran jokaiselle päivämäärälle, jolle haluat analysoida verkkomyyntiä. 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. Nyt Valitse ulottuvuuden attribuutit -vaiheessa sinun on valittava aikaulottuvuuden attribuutit. Valitse kukin määrite, kuten kuvasta 3 näkyy.

    Napsauta Seuraava. Viimeisenä vaiheena kirjoita himmennyspäivämäärä Nimi-kenttään ja napsauta Valmis 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 mittaustoiminnon avulla. Luo perusmitta noudattamalla samoja vaiheita kuin aiemmin. Kun käytät ohjattua ulottuvuustoimintoa, varmista, että valitset kaikki mahdolliset attribuutit Valitse ulottuvuuden attribuutit -vaiheessa. Muiden asetusten oletusarvot ovat kunnossa testikuutio-instanssille.

    Internet-myyntikuution luominen

    Nyt kun olet valmistellut tietokannan mitat, 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. Poista valinta Promootioavain-, Valuutta-avain-, Myyntialueen avain- ja Versionumero-ulottuvuuksien vieressä olevista valintaruuduista Valitse mittasuhteet -vaiheessa ja napsauta Seuraava.

    Varmista Select Existing Dimensions -näytössä, että kaikki olemassa olevat tietokannan dimensiot on valittu käytettäviksi 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 tosiasiaulottuvuuden tai rappeutuneen ulottuvuuden. Faktadimensiot ovat ulottuvuuksia, jotka on luotu käyttämällä perustietotaulukkoa perinteisen mittataulukon sijaan.

    Napsauta Seuraava siirtyäksesi ohjatun toiminnon suorittamiseen ja kirjoita "My First Cube" Kuution nimi -kenttään. Napsauta Valmis-painiketta viimeistelläksesi ohjatun kuution luontitoiminnon.

    Kuution laajentaminen ja käsittely

    Nyt olet 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ä päälähteen tiedoilla sekä lisäämilläsi metatiedoilla (kuution mitat, mitat ja 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 -ikkunaan. Kun käsittely on valmis, napsauta Sulje (sulje molemmat valintaikkunat kahdesti) suorittaaksesi kuution käyttöönotto- ja käsittelyprosessit.

    Olet nyt rakentanut, ottanut käyttöön ja käsitellyt ensimmäisen kuutiosi. Voit tarkastella tätä uutta kuutiota napsauttamalla sitä hiiren kakkospainikkeella Solution Explorer -ikkunassa ja valitsemalla Selaa. Vedä mitat pivot-taulukon keskelle ja mittaattribuutit riveille ja sarakkeille tutkiaksesi uutta kuutiota. Huomaa, kuinka nopeasti kuutio käsittelee erilaisia ​​aggregointikyselyjä. Nyt voit arvostaa OLAP-kuution rajatonta tehoa ja siten liikearvoa.

    Derek Comingore ( [sähköposti suojattu]) on vanhempi arkkitehti B. I. Voyagessa, jolla on Microsoft Partner -status yritysanalytiikan alalla. Hänellä on SQL Server MVP -titteli ja useita Microsoftin sertifikaatteja





  • 
    Ylös