Olap za malu tvrtku. Dizajn podatkovnih kocki

U sklopu ovog rada razmatrat će se sljedeća pitanja:

  • Što su OLAP kocke?
  • Što su mjere, dimenzije, hijerarhije?
  • Koje se vrste operacija mogu izvoditi na OLAP kockama?
Koncept OLAP kocke

Glavni postulat OLAP-a je višedimenzionalnost u prikazu podataka. U OLAP terminologiji, koncept kocke ili hiperkocke koristi se za opisivanje višedimenzionalnog diskretnog prostora podataka.

Kocka je višedimenzionalna struktura podataka iz koje korisnik-analitičar može tražiti informacije. Kocke su stvorene od činjenica i dimenzija.

Podaci- to su podaci o objektima i događajima u poduzeću koji će biti predmet analize. Činjenice iste vrste tvore mjere. Mjera je vrsta vrijednosti u ćeliji kocke.

Mjerenja- to su elementi podataka pomoću kojih se analiziraju činjenice. Zbirka takvih elemenata tvori atribut dimenzije (na primjer, dani u tjednu mogu tvoriti atribut vremenske dimenzije). U zadacima poslovne analize za komercijalna poduzeća, dimenzije često uključuju kategorije kao što su "vrijeme", "prodaja", "proizvodi", "kupci", "zaposlenici", "zemljopisna lokacija". Dimenzije su najčešće hijerarhijske strukture koje predstavljaju logične kategorije pomoću kojih korisnik može analizirati stvarne podatke. Svaka hijerarhija može imati jednu ili više razina. Dakle, hijerarhija dimenzije “geografski položaj” može uključivati ​​razine: “država - regija - grad”. U vremenskoj hijerarhiji razlikujemo npr. sljedeći niz razina: Dimenzija može imati više hijerarhija (svaka hijerarhija jedne dimenzije mora imati isti ključni atribut tablice dimenzija).

Kocka može sadržavati stvarne podatke iz jedne ili više tablica činjenica i najčešće sadrži više dimenzija. Svaka dana kocka obično ima određeni fokus za analizu.

Na slici 1 prikazan je primjer kocke za analizu prodaje naftnih derivata određene tvrtke po regijama. Ova kocka ima tri dimenzije (vrijeme, proizvod i regiju) i jednu mjeru (obujam prodaje izražen u novcu). Vrijednosti mjerenja pohranjene su u odgovarajućim ćelijama kocke. Svaka ćelija je jedinstveno identificirana skupom članova svake dimenzije, koji se naziva tuple. Na primjer, ćelija koja se nalazi u donjem lijevom kutu kocke (sadrži vrijednost $98399) određena je torkom [srpanj 2005., Daleki istok, Diesel]. Ovdje vrijednost od 98.399 dolara pokazuje obujam prodaje (u monetarnom smislu) dizela na Dalekom istoku za srpanj 2005.

Također je vrijedno napomenuti da neke ćelije ne sadrže nikakve vrijednosti: te su ćelije prazne jer tablica činjenica ne sadrži podatke za njih.

Riža. 1. Kocka s informacijama o prodaji naftnih derivata u raznim regijama

Krajnji cilj stvaranja takvih kocki je minimizirati vrijeme obrade upita koji izvlače potrebne informacije iz stvarnih podataka. Da bi se izvršio ovaj zadatak, kocke obično sadrže unaprijed izračunate ukupne zbrojeve agregacije(agregacije). Oni. kocka pokriva podatkovni prostor veći od stvarnog - u njemu se nalaze logične, izračunate točke. Funkcije agregacije omogućuju vam izračunavanje vrijednosti točaka u logičkom prostoru na temelju stvarnih vrijednosti. Najjednostavnije agregacijske funkcije su SUM, MAX, MIN, COUNT. Tako, na primjer, pomoću funkcije MAX, za kocku danu u primjeru, možete identificirati kada je došlo do vrhunca prodaje dizela na Dalekom istoku, itd.

Druga specifičnost višedimenzionalnih kocki je teškoća u određivanju podrijetla. Na primjer, kako postaviti točku 0 za dimenziju proizvoda ili regija? Rješenje ovog problema je uvođenje posebnog atributa koji objedinjuje sve elemente dimenzije. Ovaj atribut (stvaran automatski) sadrži samo jedan element - Sve. Za jednostavne funkcije združivanja kao što je zbroj, element Sve je ekvivalentan zbroju vrijednosti svih elemenata u stvarnom prostoru dane dimenzije.

Važan koncept u višedimenzionalnom podatkovnom modelu je podprostor ili podkocka. Potkocka je dio punog prostora kocke u obliku neke višedimenzionalne figure unutar kocke. Budući da je višedimenzionalni prostor kocke diskretan i ograničen, potkocka je također diskretna i ograničena.

Operacije na OLAP kockama

Na OLAP kocki mogu se izvesti sljedeće operacije:

  • kriška;
  • rotacija;
  • konsolidacija;
  • detaljiziranje.
Kriška(Slika 2) je poseban slučaj potkocke. Ovo je postupak za formiranje podskupa višedimenzionalnog niza podataka koji odgovara jednoj vrijednosti jednog ili više dimenzijskih elemenata koji nisu uključeni u ovaj podskup. Na primjer, da biste saznali kako je prodaja naftnih derivata napredovala tijekom vremena samo u određenoj regiji, naime na Uralu, morate popraviti dimenziju "Proizvodi" na elementu "Ural" i izdvojiti odgovarajući podskup (potkocku) iz kocka.
  • Riža. 2. OLAP kockasti isječak

    Rotacija(Slika 3) - operacija promjene mjesta mjerenja prikazanih u izvješću ili na prikazanoj stranici. Na primjer, operacija rotacije može uključivati ​​preuređivanje redaka i stupaca tablice. Osim toga, rotiranje podatkovne kocke premješta dimenzije izvan tablice na mjesto dimenzija prisutnih na prikazanoj stranici i obrnuto.

    OLAP nije zaseban softverski proizvod, nije programski jezik, pa čak ni posebna tehnologija. Ako pokušamo pokriti OLAP u svim njegovim pojavnim oblicima, onda je to skup koncepata, načela i zahtjeva koji su u osnovi softverskih proizvoda koji analitičarima olakšavaju pristup podacima. Hajde da vidimo Za što analitičarima treba nešto posebno olakšati pristup podacima.

    Činjenica je da su analitičari posebni potrošači korporativnih informacija. Zadatak analitičara je pronaći uzorke u velikim količinama podataka. Stoga analitičar neće obraćati pozornost na posebnu činjenicu da je u četvrtak četvrta serija crne tinte prodana drugoj strani Černovu - njemu su potrebne informacije o stotinama i tisućama slični događaji. Pojedinačne činjenice u bazi podataka mogu biti zanimljive, na primjer, računovođi ili voditelju odjela prodaje koji je odgovoran za transakciju. Analitičaru jedna evidencija nije dovoljna - njemu, na primjer, mogu trebati sve transakcije određene podružnice ili predstavništva za mjesec ili godinu. Istovremeno, analitičar odbacuje nepotrebne detalje poput PIB-a kupca, njegove točne adrese i telefona, indeksa ugovora i slično. Istodobno, podaci koje analitičar zahtijeva za svoj rad nužno sadrže numeričke vrijednosti - to je zbog same biti njegove aktivnosti.

    Dakle, analitičaru je potrebno mnogo podataka, ti su podaci selektivni i također po prirodi " skup atributa – broj". Potonje znači da analitičar radi s tablicama sljedećeg tipa:

    ovdje " Zemlja", "Proizvod", "Godina" su atributi ili mjerenja, A " Obujam prodaje" - time brojčana vrijednost odn mjera. Zadatak analitičara, ponavljamo, jest identificirati jake odnose između atributa i numeričkih parametara. Gledajući tablicu, primijetit ćete da se lako može pretvoriti u tri dimenzije: na jednu od osi ćemo staviti zemlje, na drugu robu, a na treću godine. A vrijednosti u ovom trodimenzionalnom nizu bit će odgovarajuće količine prodaje.

    Trodimenzionalni prikaz stola. Sivi segment pokazuje da nema podataka za Argentinu 1988

    Upravo se taj trodimenzionalni niz u OLAP terminima naziva kocka. Zapravo, sa stajališta striktne matematike, takav niz neće uvijek biti kocka: prava kocka mora imati isti broj elemenata u svim dimenzijama, ali OLAP kocke nemaju takvo ograničenje. No, usprkos ovim detaljima, pojam “OLAP kocke” je zbog svoje kratkoće i figurativnosti postao općeprihvaćen. OLAP kocka ne mora biti trodimenzionalna. Može biti dvodimenzionalan i višedimenzionalan, ovisno o problemu koji se rješava. Osobito iskusni analitičari mogu trebati oko 20 dimenzija - a ozbiljni OLAP proizvodi dizajnirani su za točno tu količinu. Jednostavnije aplikacije za stolna računala podržavaju oko 6 dimenzija.

    Mjerenja OLAP kocke sastoje se od tzv oznake odnosno članova. Na primjer, dimenzija Država sastoji se od oznaka Argentina, Brazil, Venezuela i tako dalje.

    Ne moraju se popuniti svi elementi kocke: ako nema podataka o prodaji proizvoda od gume u Argentini 1988., vrijednost u odgovarajućoj ćeliji jednostavno neće biti određena. Također uopće nije nužno da OLAP aplikacija nužno pohranjuje podatke u višedimenzionalnu strukturu - glavno je da ti podaci korisniku izgledaju točno ovako. Inače, upravo posebne metode kompaktnog pohranjivanja višedimenzionalnih podataka “vakuumom” (neispunjenim elementima) u kockama ne dovode do potrošene memorije.

    Međutim, sama kocka nije prikladna za analizu. Ako je još uvijek moguće adekvatno zamisliti ili prikazati trodimenzionalnu kocku, onda je sa kockom od šest ili devetnaest dimenzija situacija mnogo gora. Zato prije upotrebe obični se izvlače iz višedimenzionalne kocke dvodimenzionalne tablice. Ova operacija se zove "rezanje" kocke. Ovaj izraz je opet figurativan. Analitičar, takoreći, uzima i "reže" dimenzije kocke prema oznakama koje ga zanimaju. Na taj način analitičar dobiva dvodimenzionalni isječak kocke i radi s njim. Otprilike na isti način drvosječe broje godišnje godove na posječenom stablu.

    Sukladno tome, u pravilu samo dvije dimenzije ostaju "nerezane" - prema broju dimenzija u tablici. Dešava se da samo neka dimenzija ostane “neizrezana” - ako kocka sadrži više vrsta numeričkih vrijednosti, one se mogu iscrtati duž jedne od dimenzija tablice.

    Ako još bolje pogledate tablicu koju smo prvu prikazali, primijetit ćete da podaci u njoj najvjerojatnije nisu primarni, već dobiveni kao rezultat zbrajanje na manjim elementima. Na primjer, godina je podijeljena na tromjesečja, tromjesečja na mjesece, mjeseci na tjedne, tjedni na dane. Država se sastoji od regija, a regije od naseljenih područja. Konačno, u samim gradovima mogu se identificirati četvrti i određena maloprodajna mjesta. Proizvodi se mogu kombinirati u grupe proizvoda i tako dalje. U terminima OLAP-a, takve asocijacije na više razina se sasvim logično nazivaju hijerarhije. OLAP alati omogućuju prelazak na željenu razinu hijerarhije u bilo kojem trenutku. Štoviše, u pravilu je podržano nekoliko vrsta hijerarhija za iste elemente: na primjer, dan-tjedan-mjesec ili dan-dekada-kvartal. Izvorni podaci se uzimaju s nižih razina hijerarhije i zatim zbrajaju kako bi se dobile vrijednosti na višim razinama. Kako bi se ubrzao proces prijelaza, zbrojene vrijednosti za različite razine pohranjuju se u kocku. Dakle, ono što izgleda kao jedna kocka sa strane korisnika, grubo rečeno, sastoji se od mnogo primitivnijih kockica.

    Primjer hijerarhije

    To je jedna od bitnih točaka koja je dovela do nastanka OLAP-a – produktivnost i učinkovitost. Zamislimo što se događa kada analitičar treba dobiti informacije, ali u poduzeću nema OLAP alata. Analitičar samostalno (što je malo vjerojatno) ili uz pomoć programera postavlja odgovarajući SQL upit i prima podatke od interesa u obliku izvješća ili ih izvozi u proračunsku tablicu. U ovom slučaju nastaju mnogi problemi. Prvo, analitičar je prisiljen raditi nešto što nije njegov posao (SQL programiranje) ili čekati da programeri završe zadatak umjesto njega - sve to ima negativan utjecaj na produktivnost rada, povećanje stope oluje, srčanih i moždanih udara, i tako dalje . Drugo, jedan izvještaj ili tablica u pravilu ne spašavaju divove misli i očeve ruske analize - i cijeli će se postupak morati ponavljati iznova i iznova. Treće, kao što smo već saznali, analitičari ne pitaju za sitnice - potrebno im je sve odjednom. To znači (iako tehnologija napreduje velikim koracima) da korporativni relacijski DBMS poslužitelj kojem pristupa analitičar može duboko i dugo razmišljati, blokirajući druge transakcije.

    Koncept OLAP-a pojavio se upravo za rješavanje takvih problema. OLAP kocke su u biti meta izvješća. Rezanjem metaizvještaja (odnosno kocki) po dimenzijama analitičar zapravo dobiva “obična” dvodimenzionalna izvješća koja ga zanimaju (to nisu nužno izvješća u uobičajenom smislu riječi - govorimo o podatkovnim strukturama s iste funkcije). Prednosti kocki su očite - podatke je potrebno zatražiti od relacijskog DBMS-a samo jednom - prilikom izgradnje kocke. Budući da analitičari u pravilu ne rade s informacijama koje se nadopunjuju i mijenjaju u hodu, generirana kocka je relevantna dosta dugo. Zahvaljujući tome, ne samo da su eliminirani prekidi u radu relacijskog DBMS poslužitelja (nema upita s tisućama i milijunima odgovora), već se i brzina pristupa podacima za samog analitičara naglo povećava. Osim toga, kao što je već navedeno, performanse su također poboljšane izračunavanjem subsuma hijerarhija i drugih agregiranih vrijednosti u vrijeme izgradnje kocke. Odnosno, ako su u početku naši podaci sadržavali informacije o dnevnom prihodu za određeni proizvod u jednoj trgovini, tada prilikom formiranja kocke, OLAP aplikacija izračunava ukupne iznose za različite razine hijerarhije (tjedne i mjesece, gradove i zemlje).

    Naravno, morate platiti da biste povećali produktivnost na ovaj način. Ponekad se kaže da struktura podataka jednostavno “eksplodira” - OLAP kocka može zauzeti desetke ili čak stotine puta više prostora od izvornih podataka.

    Odgovori na pitanja:

      Što se dogodilo kocka OLAP?

      Što se dogodilo oznake specifično mjerenje? Navedite primjere.

      Mogu li oni mjere u OLAP kocki sadrže nenumeričke vrijednosti.

    Informacijski sustavi ozbiljnog poduzeća u pravilu sadrže aplikacije namijenjene složenoj analizi podataka, njihove dinamike, trendova itd. Sukladno tome, top menadžment postaje glavni potrošač rezultata analize. Takva analiza u konačnici ima za cilj podržati donošenje odluka. A za donošenje bilo kakve upravljačke odluke potrebno je raspolagati potrebnim informacijama, najčešće kvantitativnima. Da biste to učinili, potrebno je prikupiti ove podatke od svih informacijski sustavi poduzeća, dovesti ih u zajednički format i zatim analizirati. U tu svrhu kreiraju se skladišta podataka.

    Što je skladište podataka?

    Obično - mjesto gdje se prikupljaju sve informacije od analitičke vrijednosti. Zahtjevi za takve trgovine odgovaraju klasičnoj definiciji OLAP-a i bit će objašnjeni u nastavku.

    Ponekad Warehouse ima još jedan cilj - integraciju svih podataka poduzeća, kako bi se održao integritet i relevantnost informacija unutar svih informacijskih sustava. Da. repozitorij akumulira ne samo analitičke, već gotovo sve informacije i može ih u obliku direktorija vratiti drugim sustavima.

    Tipično skladište podataka obično se razlikuje od tipične relacijske baze podataka. Prvo, obične baze podataka dizajnirane su za pomoć korisnicima u obavljanju svakodnevnog posla, dok su skladišta podataka dizajnirana za donošenje odluka. Primjerice, prodaja robe i izdavanje računa provodi se pomoću baze podataka namijenjene obradi transakcija, a analiza dinamike prodaje tijekom više godina, koja omogućuje planiranje rada s dobavljačima, provodi se pomoću skladišta podataka.

    Drugo, dok su tradicionalne baze podataka podložne stalnim promjenama kako korisnici rade, skladište podataka je relativno stabilno: podaci u njemu se obično ažuriraju prema rasporedu (na primjer, tjedno, dnevno ili svaki sat, ovisno o potrebama). U idealnom slučaju, proces obogaćivanja je jednostavno dodavanje novih podataka tijekom određenog vremenskog razdoblja bez mijenjanja prethodnih informacija koje su već u skladištu.

    I treće, obične baze podataka najčešće su izvor podataka koji završavaju u skladištu. Osim toga, repozitorij se može nadopunjavati iz vanjskih izvora, kao što su statistička izvješća.

    Kako se gradi skladište?

    ETL– osnovni koncept: Tri faze:
    • Ekstrakcija – ekstrakcija podataka iz vanjskih izvora u razumljivom formatu;
    • Transformacija – transformacija strukture izvornih podataka u strukture pogodne za izgradnju analitičkog sustava;
    Dodajmo još jednu fazu - čišćenje podataka ( Čišćenje) – proces filtriranja nebitnih ili ispravljanja pogrešnih podataka na temelju statističkih ili ekspertnih metoda. Kako se kasnije ne bi stvarala izvješća poput "Prodaja za 20011".

    Vratimo se analizi.

    Što je analiza i zašto je potrebna?

    Analiza je proučavanje podataka u svrhu donošenja odluka. Analitički sustavi se nazivaju sustavi za podršku odlučivanju ( DSS).

    Ovdje vrijedi istaknuti razliku između rada s DSS-om i jednostavnog skupa reguliranih i nereguliranih izvješća. Analiza u DSS-u je gotovo uvijek interaktivna i iterativna. Oni. analitičar kopa po podacima, sastavlja i prilagođava analitičke upite i prima izvješća čija struktura može biti unaprijed nepoznata. Na ovo ćemo se detaljnije vratiti u nastavku kada budemo raspravljali o jeziku upita. MDX.

    OLAP

    Sustavi za podršku odlučivanju obično imaju sredstva da korisniku daju agregirane podatke za različite uzorke iz izvornog skupa u obliku pogodnom za percepciju i analizu (tablice, dijagrami, itd.). Tradicionalni pristup segmentiranju izvornih podataka uključuje izdvajanje iz izvornih podataka jednog ili više višedimenzionalnih skupova podataka (često zvanih hiperkocka ili metakocka), čije osi sadrže atribute, a ćelije sadrže agregirane kvantitativne podatke. (Takvi se podaci također mogu pohraniti u relacijske tablice, ali u ovom slučaju govorimo o logičkoj organizaciji podataka, a ne o fizičkoj implementaciji njihove pohrane.) Duž svake osi atributi se mogu organizirati u obliku hijerarhija, predstavljajući različite razine njihovih detalja. Zahvaljujući ovom modelu podataka, korisnici mogu formulirati složene upite, generirati izvješća i dobiti podskupove podataka.

    Tehnologija za složenu višedimenzionalnu analizu podataka naziva se OLAP (On-Line Analytical Processing). OLAP je ključna komponenta tradicionalnog skladištenja podataka. Koncept OLAP-a opisao je 1993. Edgar Codd, poznati istraživač baza podataka i autor relacijskog modela podataka. Godine 1995., na temelju zahtjeva koje je postavio Codd, formuliran je takozvani FASMI test (Fast Analysis of Shared Multidimensional Information), koji uključuje sljedeće zahtjeve za aplikacije za višedimenzionalnu analizu:

    • pružanje korisniku rezultata analize u prihvatljivom vremenu (obično ne duljem od 5 s), čak i po cijenu manje detaljne analize;
    • sposobnost izvođenja bilo koje logičke i statističke analize specifične za određenu aplikaciju i spremanje iste u obliku dostupnom krajnjem korisniku;
    • višekorisnički pristup podacima s podrškom za odgovarajuće mehanizme zaključavanja i sredstva ovlaštenog pristupa;
    • višedimenzionalni konceptualni prikaz podataka, uključujući punu podršku za hijerarhije i višestruke hijerarhije (ovo je ključni zahtjev OLAP-a);
    • mogućnost pristupa svim potrebnim informacijama, bez obzira na njihov volumen i mjesto pohrane.
    Treba napomenuti da se OLAP funkcionalnost može implementirati različiti putevi, počevši od najjednostavnijih alata za analizu podataka u uredskim aplikacijama i završavajući s distribuiranim analitičkim sustavima temeljenim na poslužiteljskim proizvodima. Oni. OLAP nije tehnologija, ali ideologija.

    Prije nego što govorimo o različitim implementacijama OLAP-a, pogledajmo pobliže što su kocke s logičke točke gledišta.

    Višedimenzionalni pojmovi

    Kako bismo ilustrirali principe OLAP-a, koristit ćemo bazu podataka Northwind, koja je uključena u Microsoft SQL Server i tipična je baza podataka koja pohranjuje informacije o trgovanju za tvrtku za distribuciju hrane na veliko. Takvi podaci uključuju informacije o dobavljačima, klijentima, popis isporučene robe i njezine kategorije, podatke o narudžbama i naručenoj robi, popis zaposlenika tvrtke.

    Kocka

    Uzmimo za primjer tablicu Fakture1 koja sadrži narudžbe tvrtke. Polja u ovoj tablici bit će sljedeća:
    • Datum narudžbe
    • Zemlja
    • Grad
    • Ime kupca
    • Tvrtka za dostavu
    • ime proizvoda
    • Količina robe
    • Cijena narudžbe
    Koje skupne podatke možemo dobiti iz ovog prikaza? To su obično odgovori na pitanja poput:
    • Kolika je ukupna vrijednost narudžbi kupaca iz određene zemlje?
    • Kolika je ukupna vrijednost narudžbi koje su kupci u određenoj zemlji izvršili i isporučila određena tvrtka?
    • Kolika je ukupna vrijednost narudžbi koje su kupci u određenoj zemlji izvršili u određenoj godini i koje je isporučila određena tvrtka?
    Svi ovi podaci mogu se dobiti iz ove tablice koristeći sasvim očite SQL upite s grupiranjem.

    Rezultat ovog upita uvijek će biti stupac brojeva i popis atributa koji ga opisuju (na primjer, država) - ovo je jednodimenzionalni skup podataka ili, matematičkim jezikom, vektor.

    Zamislimo da trebamo dobiti informacije o ukupnom trošku narudžbi iz svih zemalja i njihovu raspodjelu među dostavnim tvrtkama - dobit ćemo tablicu (matricu) brojeva, gdje će dostavne tvrtke biti navedene u naslovima stupaca, zemlje u retku naslova, au ćelijama će biti iznos narudžbi. Ovo je dvodimenzionalni niz podataka. Ovaj skup podataka naziva se zaokretna tablica ( stožerna tablica) ili unakrsnom tablicom.

    Ako želimo dobiti iste podatke, ali i po godinama, tada će se pojaviti još jedna promjena, tj. skup podataka će postati trodimenzionalan (uvjetni tenzor 3. reda ili 3-dimenzionalna "kocka").

    Očito, najveći broj dimenzija je broj svih atributa (Datum, Država, Kupac itd.) koji opisuju naše agregirane podatke (količina narudžbi, broj proizvoda itd.).

    Tako dolazimo do pojma višedimenzionalnosti i njenog utjelovljenja - višedimenzionalna kocka. Takvu tablicu nazvat ćemo " tablica činjenica" Dimenzije ili osi kocke ( dimenzije) su atributi čije su koordinate izražene pojedinačnim vrijednostima ovih atributa prisutnih u tablici činjenica. Oni. na primjer, ako su podaci o narudžbama održavani u sustavu od 2003. do 2010., tada će se os ove godine sastojati od 8 odgovarajućih točaka. Ako narudžbe dolaze iz tri zemlje, tada će os zemlje sadržavati 3 točke, itd. Bez obzira na to koliko je zemalja uključeno u imenik zemalja. Točke na osi nazivaju se njezinim "članovima" ( članovi).

    U ovom slučaju, sami agregirani podaci će se zvati "mjere" ( Mjera). Kako bi se izbjegla zabuna s "dimenzijama", potonje se po mogućnosti nazivaju "osovine". Skup mjera čini drugu os "Mjere" ( Mjere). Ima onoliko članova (točaka) koliko ima mjera (agregiranih stupaca) u tablici činjenica.

    Članovi dimenzija ili osi mogu se kombinirati jednom ili više hijerarhija ( hijerarhija). Objasnimo što je hijerarhija na primjeru: gradovi iz reda mogu se ujediniti u distrikte, distrikti u regije, regije države, države u kontinente ili druge cjeline. Oni. postoji hijerarhijska struktura - kontinent- država-regija-okrug-grad– 5 razina ( Razina). Za regiju se podaci prikupljaju za sve gradove koji su u njoj uključeni. Za regiju u svim okruzima koja sadrži sve gradove itd. Zašto nam je potrebno više hijerarhija? Na primjer, na osi datuma narudžbe možda ćemo htjeti grupirati točke (tj. dane) u hijerarhiju Godina-Mjesec-Dan ili po Godina-Tjedan-Dan: u oba slučaja postoje tri razine. Očito, tjedan i mjesec različito grupiraju dane. Postoje i hijerarhije u kojima broj razina nije determiniran i ovisi o podacima. Na primjer, mape na disku računala.

    Agregacija podataka može se dogoditi pomoću nekoliko standardnih funkcija: zbroj, minimum, maksimum, prosjek, broj.

    MDX

    Prijeđimo na jezik upita u višedimenzionalnim podacima.
    SQL jezik izvorno nije dizajniran za programere, već za analitičare (i stoga ima sintaksu koja sliči prirodnom jeziku). Ali s vremenom je postajao sve kompliciraniji i sada malo analitičara zna kako se njime dobro služiti, ako uopće zna. Postao je alat za programere. MDX upitni jezik, za koji se priča da ga je razvio naš bivši sunarodnjak Mosha (ili Mosha) Posumansky u divljini Microsofta, također je u početku trebao biti namijenjen analitičarima, ali njegovi koncepti i sintaksa (koja nejasno podsjeća na SQL, a potpuno u uzaludan, tj. jer samo zbunjuje), čak i kompliciraniji od SQL-a. Međutim, njegove su osnove još uvijek lako razumjeti.

    Detaljno ćemo ga pogledati jer je to jedini jezik koji je dobio status standarda u okviru općeg standarda XMLA protokola, a drugo jer postoji njegova open-source implementacija u obliku Mondrian projekta tvrtke Pentaho. Drugi sustavi OLAP analize (na primjer, Oracle OLAP Option) obično koriste vlastita proširenja SQL sintakse, međutim, oni također deklariraju podršku za MDX.

    Rad s analitičkim skupovima podataka znači samo njihovo čitanje, a ne pisanje. Da. MDX nema klauzule za promjenu podataka, već samo jednu klauzulu odabira - select.

    U OLAP-u možete napraviti višedimenzionalne kocke kriške– tj. kada se podaci filtriraju duž jedne ili više osi, ili projekcije– kada se kocka "sruši" duž jedne ili više osi, agregirajući podatke. Na primjer, naš prvi primjer s količinom narudžbi iz zemalja je projekcija kocke na os zemlje. MDX upit za ovaj slučaj će izgledati ovako:

    Odaberite ...Djeca u redovima od
    Što je što ovdje?

    Izaberiključna riječ i uključen je u sintaksu isključivo zbog ljepote.
    je naziv osi. Sva vlastita imena u MDX-u pišu se u uglatim zagradama.
    je naziv hijerarhije. U našem slučaju, ovo je hijerarhija država-grad
    – ovo je naziv člana osi na prvoj razini hijerarhije (tj. država) Sve – ovo je meta-član koji ujedinjuje sve članove osi. U svakoj osi postoji takav meta-pojam. Na primjer, na osi godina postoji “Sve godine” itd.
    djeca je funkcija članica. Svaki član ima na raspolaganju nekoliko funkcija. Kao što je Roditelj. Razina, Hijerarhija, vraćanje odnosno pretka, razinu u hijerarhiji i samu hijerarhiju kojoj član pripada u ovom slučaju. Djeca - Vraća skup članova djece ovog člana. Oni. u našem slučaju – zemlje.
    na redovima– Označava kako rasporediti ove podatke u rezultirajućoj tablici. U ovom slučaju - u zaglavlju redaka. Ovdje su moguće vrijednosti: na stupcima, na stranicama, na paragrafima itd. Također je moguće jednostavno označiti indeksom, počevši od 0.
    iz– ovo je pokazatelj kocke iz koje se vrši odabir.

    Što ako nam ne trebaju sve zemlje, nego samo nekoliko specifičnih? Da bismo to učinili, u zahtjevu možemo eksplicitno navesti zemlje koje su nam potrebne, umjesto da sve odabiremo pomoću funkcije Djeca.

    Odaberite ( ..., ... ) u redovima od
    Vitičaste zagrade u ovom slučaju su deklaracija skupa ( set). Skup je popis, nabrajanje članova iz jedne osi.

    Sada napišimo upit za naš drugi primjer – izlaz u kontekstu dostavljača:

    Odaberite ...Djeca na redovima .Članovi na stupcima iz
    Dodano ovdje:
    – os;
    .Članovi– funkcija osi koja vraća sve članove na njoj. Hijerarhija i razina imaju istu funkciju. Jer Postoji samo jedna hijerarhija u ovoj osi, tada se njezina indikacija može izostaviti, jer razina i hijerarhija su također isti, tada možete prikazati sve članove na jednom popisu.

    Mislim da je već očito kako ovo možemo nastaviti s našim trećim primjerom s detaljima po godinama. Ali bolje je da ne bušimo po godinama, nego filtriramo - tj. izgraditi krišku Da bismo to učinili, napisat ćemo sljedeći upit:

    Odaberite ..Djeca u recima .Članovi u stupcima odakle (.)
    Gdje je tu filtracija?

    gdje- ključna riječ
    je jedan član hijerarhije . Puno ime, uključujući sve pojmove, bilo bi: .. , ali zbog Budući da je ime ovog člana jedinstveno unutar osi, sva međupojašnjenja imena mogu se izostaviti.

    Zašto je termin datum u zagradama? Zagrade su tuple ( tuple). Torka je jedna ili više koordinata duž razne sjekire Na primjer, za filtriranje duž dvije osi odjednom, u zagradama navodimo dva pojma iz drugačiji mjere odvojene zarezima. To jest, tuple definira "odsječak" kocke (ili "filtriranje", ako je takva terminologija bliža).

    Tuple se koristi za više od pukog filtriranja. Torke također mogu biti u zaglavljima retka/stupca/stranice itd.

    To je potrebno, na primjer, za prikaz rezultata trodimenzionalnog upita u dvodimenzionalnoj tablici.

    Odaberite crossjoin(...Children, ..Children) na redovima .Members na stupcima odakle (.)
    Križno spajanje je funkcija. Vraća skup torki (da, skup može sadržavati torke!) koji proizlaze iz Kartezijevog produkta dvaju skupova. Oni. rezultirajući skup će sadržavati sve moguće kombinacije zemalja i godina. Zaglavlja retka će stoga sadržavati par vrijednosti: Država-godina.

    Pitanje je gdje je naznaka koje numeričke karakteristike trebaju biti prikazane? U ovom slučaju koristi se zadana mjera definirana za ovu kocku, tj. Cijena narudžbe. Ako želimo izvesti drugu mjeru, tada se sjetimo da su mjere članovi dimenzije Mjere. I ponašamo se na točno isti način kao i s ostalim osima. Oni. filtriranje upita prema jednoj od mjera prikazat će upravo tu mjeru u ćelijama.

    Pitanje: Koja je razlika između filtriranja prema mjestu i filtriranja određivanjem članova osi u redovima. Odgovor: praktički ništa. Jednostavno tamo gdje je isječak naznačen za one osi koje ne sudjeluju u formiranju naslova. Oni. ista os Ne možete biti prisutan u isto vrijeme na redovima, i u gdje.

    Izračunati članovi

    Za složenije upite možete deklarirati izračunate članove. Članovi osi atributa i osi mjere. Oni. Možete deklarirati, na primjer, novu mjeru koja će prikazati doprinos svake zemlje ukupnom iznosu narudžbi:

    Sa članom. kao '.CurrentMember / ..', FORMAT_STRING='0.00%' odaberite ...Djeca u redovima odakle .
    Izračun se odvija u kontekstu ćelije u kojoj su poznati svi njeni koordinatni atributi. Odgovarajuće koordinate (članovi) mogu se dobiti funkcijom CurrentMember za svaku od osi kocke. Ovdje moramo shvatiti da izraz .Trenutni član/..’ ne dijeli jedan pojam drugim, nego dijeli relevantne agregirane podatke kocke kriške! Oni. odsječak za trenutni teritorij bit će podijeljen u odsječak za sve teritorije, tj. ukupna vrijednost svih narudžbi. FORMAT_STRING – postavlja format za prikaz vrijednosti, tj. %.

    Drugi primjer izračunatog člana, ali na osi godina:

    Sa članom. kao '. - .’
    Očito, izvješće neće sadržavati jedinicu, već razliku odgovarajućih odjeljaka, tj. razlika u količini narudžbi u ove dvije godine.

    Prikaz u ROLAP-u

    OLAP sustavi se na ovaj ili onaj način temelje na nekoj vrsti sustava za pohranu i organizaciju podataka. Kada govorimo o RDBMS-u, govorimo o ROLAP-u (ostavit ćemo MOLAP i HOLAP za neovisno proučavanje). ROLAP – OLAP na relacijskoj bazi podataka, tj. opisani u obliku običnih dvodimenzionalnih tablica. ROLAP sustavi pretvaraju MDX upite u SQL. Glavni računalni problem za baze podataka je brza agregacija. Da bi se agregirali brže, podaci u bazi podataka obično su visoko denormalizirani, tj. nisu pohranjeni vrlo učinkovito u smislu zauzetog prostora na disku i nadzora integriteta baze podataka. Osim toga, dodatno sadrže pomoćne tablice koje pohranjuju djelomično agregirane podatke. Stoga se za OLAP obično stvara zasebna shema baze podataka, koja samo djelomično replicira strukturu izvornih transakcijskih baza podataka u smislu direktorija.

    Navigacija

    Mnogi OLAP sustavi nude interaktivne alate za navigaciju za već generirani upit (i sukladno tome odabrane podatke). U ovom slučaju koristi se takozvano "bušenje" ili "bušenje". Adekvatniji prijevod na ruski bio bi riječ "produbljivanje". Ali to je stvar ukusa, u nekim se sredinama zadržala riječ "bušenje".

    bušilica– ovo je detaljizacija izvješća smanjenjem stupnja agregacije podataka, u kombinaciji s filtriranjem po nekoj drugoj osi (ili više osi). Postoji nekoliko vrsta bušenja:

    • bušiti u dubinu– filtriranje po jednoj od izvornih osi izvješća s prikazom detaljnih informacija o potomcima unutar hijerarhije odabranog člana filtriranja. Na primjer, ako postoji izvješće o distribuciji narudžbi raščlanjeno po zemljama i godinama, tada klikom na godinu 2007 prikazat će se izvješće raščlanjeno po istim zemljama i mjesecima 2007.
    • drill-side– filtriranje pod jednom ili više odabranih osi i uklanjanje agregacije duž jedne ili više drugih osi. Na primjer, ako postoji izvješće o distribuciji narudžbi raščlanjeno prema zemljama i godinama, tada će se klikom na godinu 2007 prikazati drugo izvješće raščlanjeno, na primjer, prema zemljama i dobavljačima s filtriranjem prema 2007.
    • drill-trough– uklanjanje agregacije duž svih osi i istovremeno filtriranje duž njih – omogućuje vam da vidite izvorne podatke iz tablice činjenica iz koje je dobivena vrijednost u izvješću. Oni. Kada kliknete na vrijednost ćelije, prikazuje se izvješće sa svim nalozima koji su dali ovaj iznos. Neka vrsta trenutnog bušenja u samu “dubinu” kocke.
    To je sve. Sada, ako se odlučite posvetiti poslovnoj inteligenciji i OLAP-u, vrijeme je da počnete čitati ozbiljnu literaturu.

    Oznake: Dodajte oznake

    Početna Uvjeti Članci Tečajevi Tvrtka Iskustvo Blog Savjeti Preuzimanja Partneri Kontakti Promocije

    Članci > Automatizacija proračuna i upravljačkog računovodstva >

    Alexander Karpov, voditelj projekta bud-tech.ru, autor serije knjiga “100% praktično planiranje proračuna” i knjige “Organizacija i automatizacija upravljačkog računovodstva”

    www.bud-tech.ru

    Možda će nekima korištenje OLAP tehnologije (On-line Analytic Processing) pri izradi izvješća djelovati pomalo egzotično, pa im korištenje OLAP-CUBE uopće nije jedan od najvažnijih zahtjeva pri automatizaciji proračuna i upravljačkog računovodstva.

    Zapravo, vrlo je zgodno koristiti višedimenzionalni CUBE kada radite s izvješćima za upravljanje. Prilikom izrade proračunskih formata možete se susresti s problemom multivarijantnih obrazaca (više o tome možete pročitati u Knjizi 8 “Tehnologija postavljanja proračuna u poduzeću” i u knjizi “Postavljanje i automatizacija upravljačkog računovodstva”).

    To je zbog činjenice da učinkovito upravljanje poduzećem zahtijeva sve detaljnije izvješćivanje menadžmenta. Odnosno, sustav koristi sve više različitih analitičkih odjeljaka (u informacijskim sustavima analitika je određena skupom referentnih knjiga).

    Naravno, to dovodi do činjenice da menadžeri žele primati izvješća u svim analitičkim dijelovima koji ih zanimaju. To znači da izvještaji moraju nekako “disati”. Drugim riječima, možemo reći da je u ovom slučaju riječ o tome da značenje istog izvješća treba pružiti informacije u različitim analitičkim aspektima. Stoga statična izvješća mnogim modernim menadžerima više ne odgovaraju. Oni trebaju dinamiku koju višedimenzionalni CUBE može pružiti.

    Tako je OLAP tehnologija već postala obavezan element u modernim i budućim informacijskim sustavima. Stoga pri odabiru softverskog proizvoda morate obratiti pozornost na to koristi li OLAP tehnologiju.

    Štoviše, morate znati razlikovati prave KOCKE od imitacije. Jedna od takvih simulacija su pivot tablice u MS Excelu. Da, ovaj alat izgleda kao KOCKA, ali to zapravo nije jer se radi o statičnim, a ne dinamičkim tablicama. Osim toga, imaju puno lošiju implementaciju mogućnosti izrade izvješća pomoću elemenata iz hijerarhijskih direktorija.

    Kako bismo potvrdili relevantnost korištenja KOCKE prilikom konstruiranja izvješćivanje uprave Možete dati jednostavan primjer s proračunom prodaje. U primjeru koji se razmatra, za tvrtku su relevantni sljedeći analitički dijelovi: proizvodi, podružnice i kanali prodaje. Ako su ove tri analitike važne za tvrtku, tada se proračun prodaje (ili izvještaj) može prikazati u više verzija.

    Treba napomenuti da ako kreirate proračunske linije na temelju tri analitička odjeljka (kao u primjeru koji razmatramo), to vam omogućuje stvaranje prilično složenih proračunskih modela i izradu detaljnih izvješća pomoću CUBE-a.

    Na primjer, proračun prodaje može se sastaviti koristeći samo jednu analitiku (imenik). Primjer proračuna prodaje izgrađenog na temelju jedne analitike “Proizvodi” prikazan je na Slika 1.

    Riža. 1. Primjer proračuna prodaje izgrađenog na temelju jedne analitike “Proizvodi” u OLAP-CUBE-u programskog paketa INTEGRALA

    Isti proračun prodaje može se sastaviti pomoću dvije analitike (direktorija). Na Slika 2.

    Riža. 2. Primjer proračuna prodaje izgrađenog na temelju dvije analitike “Proizvodi” i “Grane” u OLAP-CUBE-u programskog paketa INTEGRALA

    .

    Ako postoji potreba za izradom detaljnijih izvješća, tada se isti proračun prodaje može sastaviti pomoću tri analitike (direktorija). Na Slika 3.

    Riža. 3. Primjer proračuna prodaje izgrađenog na temelju tri analitike “Proizvodi”, “Poslovnice” i “Prodajni kanali” u OLAP-CUBE-u programskog paketa INTEGRALA

    Treba podsjetiti da CUBE koji se koristi za generiranje izvješća omogućuje prikaz podataka u različitim sekvencama. Na Slika 3 Prodajni budžet prvo se “proširuje” po proizvodu, zatim po granama, a zatim po kanalima prodaje.

    Isti podaci mogu se prikazati različitim redoslijedom. Na Slika 4 isti prodajni proračun se “odmotava” prvo po proizvodima, zatim po kanalima prodaje, a zatim po granama.

    Riža. 4. Primjer prodajnog proračuna izgrađenog na temelju tri analitike “Proizvodi”, “Distribucijski kanali” i “Poslovnice” u OLAP-CUBE-u programskog paketa INTEGRAL

    Na Slika 5 isti prodajni budžet se “odmotava” prvo po granama, zatim po proizvodima, a zatim po kanalima prodaje.

    Riža. 5. Primjer proračuna prodaje izgrađenog na temelju tri analitike “Branches”, “Products” i “Sales Channels” u OLAP-CUBE programskom paketu “INTEGRAL”

    Zapravo, ovo nisu sve moguće opcije za povlačenje prodajnog proračuna.

    Osim toga, morate obratiti pozornost na činjenicu da KUB omogućuje rad s hijerarhijskom strukturom imenika. U prikazanim primjerima hijerarhijski direktoriji su “Proizvodi” i “Prodajni kanali”.

    Sa stajališta korisnika, on to i jest u ovom primjeru prima nekoliko izvješća o upravljanju (vidi Riža. 1-5), a sa stajališta postavki u softverskom proizvodu, ovo je jedno izvješće. Jednostavno korištenjem CUBE-a možete ga vidjeti na nekoliko načina.

    Naravno, u praksi je moguć vrlo velik broj opcija za ispis različitih izvješća o upravljanju ako se njihovi članci temelje na jednom ili više analitičara. A sam skup analitike ovisi o potrebama korisnika za detaljima. Istina, ne bismo trebali zaboraviti da, s jedne strane, što je veći analitičar, to se detaljnija izvješća mogu izraditi. No, s druge strane, to znači da će model financijskog proračuna biti složeniji. U svakom slučaju, ako postoji KUB, tvrtka će imati priliku pregledati potrebna izvješća u različitim verzijama, u skladu s analitičkim dijelovima od interesa.

    Potrebno je spomenuti još nekoliko karakteristika OLAP-CUBE-a.

    U višedimenzionalnom hijerarhijskom OLAP-CUBE-u postoji nekoliko dimenzija: tip retka, datum, redovi, direktorij 1, direktorij 2 i direktorij 3 (vidi. Riža. 6). Naravno, izvješće prikazuje onoliko gumba s imenicima koliko ih ima u proračunskoj liniji koja sadrži maksimalan broj imenika. Ako ni u jednoj proračunskoj liniji nema niti jedne referentne knjige, izvješće neće imati niti jedan gumb s referentnim knjigama.

    Riža. 6. OLAP-CUBE mjerenja programskog paketa INTEGRAL

    U početku se OLAP-CUBE gradi duž svih dimenzija. Prema zadanim postavkama, kada se izvješće inicijalno sastavlja, dimenzije se nalaze točno u područjima prikazanim u Slika 6. Odnosno, dimenzija kao što je "Datum" nalazi se u području okomitih dimenzija (dimenzije u području stupaca), dimenzije "Redovi", "Imenik 1", "Imenik 2" i "Imenik 3" - u područje vodoravnih dimenzija (dimenzije u redovima područja), a dimenzija “Row Type” je u području “neproširenih” dimenzija (dimenzije u području stranice). Ako je dimenzija u zadnjem području, tada se podaci u izvješću neće "proširiti" na tu dimenziju.

    Svaka od ovih dimenzija može se smjestiti u bilo koje od tri područja. Nakon prijenosa mjerenja, izvješće se trenutačno ponovno izrađuje kako bi odgovaralo novoj konfiguraciji mjerenja. Na primjer, možete zamijeniti datum i retke s referentnim knjigama. Ili možete premjestiti jednu od referentnih knjiga u okomito područje mjerenja (pogledajte. Riža. 7). Drugim riječima, možete "izvrnuti" izvješće u OLAP-CUBE i odabrati opciju izlaza izvješća koja je najprikladnija za korisnika.

    Riža. 7. Primjer rekonstrukcije izvješća nakon promjene konfiguracije mjerenja programskog paketa INTEGRALA

    Konfiguracija mjerenja može se promijeniti ili u glavnom obrascu CUBE ili u uređivaču mape promjena (pogledajte. Riža. 8). U ovom uređivaču također možete povući i ispustiti mjerenja s jednog područja na drugo pomoću miša. Osim toga, možete zamijeniti mjerenja u jednom području.

    Osim toga, u istom obrascu možete konfigurirati neke mjerne parametre. Za svaku dimenziju možete prilagoditi mjesto ukupnih zbrojeva, redoslijed sortiranja elemenata i nazive elemenata (pogledajte. Riža. 8). Također možete odrediti koji će se naziv elementa prikazati u izvješću: skraćeni (Name) ili puni (FullName).

    Riža. 8. Editor mjernih karata programskog paketa INTEGRAL

    Parametre mjerenja možete uređivati ​​izravno u svakom od njih (pogledajte. Riža. 9). Da biste to učinili, kliknite na ikonu koja se nalazi na gumbu pored naziva mjerenja.

    Riža. 9. Primjer uređivanja imenika 1 Proizvodi i usluge u programskom paketu INTEGRALA

    Pomoću ovog editora možete odabrati elemente koje želite prikazati u izvješću. Standardno se u izvješću prikazuju svi elementi, no po potrebi se neki elementi ili mape mogu izostaviti. Na primjer, ako trebate prikazati samo jednu grupu proizvoda u izvješću, tada morate poništiti odabir svih ostalih u uređivaču mjerenja. Nakon toga, izvješće će sadržavati samo jednu grupu proizvoda (vidi. Riža. 10).

    Također možete sortirati elemente u ovom editoru. Osim toga, elementi se mogu preuređivati ​​na različite načine. Nakon takvog pregrupiranja, izvješće se trenutačno ponovno gradi.

    Riža. 10. Primjer ispisa u izvješću samo jedne grupe proizvoda (mape) u programskom paketu INTEGRALA

    U uređivaču dimenzija možete brzo kreirati vlastite grupe, povući i ispustiti elemente iz direktorija, itd. Prema zadanim postavkama automatski se stvara samo grupa Ostalo, ali se mogu kreirati i druge grupe. Stoga, pomoću uređivača dimenzija, možete konfigurirati koji će elementi referentnih knjiga i kojim redoslijedom biti prikazani u izvješću.

    Valja napomenuti da se sva takva preslagivanja ne bilježe. Odnosno, nakon zatvaranja izvješća ili nakon njegovog ponovnog izračuna, svi imenici će biti prikazani u izvješću u skladu s konfiguriranom metodologijom.

    Zapravo, sve takve promjene mogle su se napraviti na početku prilikom postavljanja linija.

    Na primjer, korištenjem ograničenja također možete odrediti koji elementi ili grupe direktorija trebaju biti prikazani u izvješću, a koji ne.

    Bilješka: tema ovog članka detaljnije se obrađuje na radionicama "Upravljanje proračunom poduzeća" I “Organizacija i automatizacija upravljačkog računovodstva” koju je proveo autor ovog članka Alexander Karpov.

    Ako korisnik gotovo redovito treba prikazati samo određene elemente ili mape direktorija u izvješću, tada je bolje napraviti takve postavke unaprijed prilikom kreiranja redaka izvješća. Ukoliko su korisniku važne različite kombinacije elemenata imenika u izvješćima, tada nema potrebe postavljati nikakva ograničenja prilikom postavljanja metodologije. Sva takva ograničenja mogu se brzo konfigurirati pomoću uređivača mjerenja.

    Opće informacije

    Microsoft Excel omogućuje vam stvaranje izvješća zaokretne tablice na temelju izvornih podataka online analitičke obrade (OLAP). Kada radite s izvješćima zaokretne tablice koja se temelje na OLAP izvornim podacima i izvješćima koja se temelje na ne-OLAP izvornim podacima, možete primijetiti razlike u funkcionalnosti i izvedbi alata. Ovaj članak govori o nekim od glavnih razlika između izvješća zaokretne tablice koja se temelje na izvornim podacima OLAP-a i izvješća zaokretne tablice koja se temelje na izvornim podacima koji nisu OLAP.

    Primite podatke i ažurirajte razlike

    OLAP baze podataka organizirane su kako bi se olakšalo pronalaženje i analiza velikih količina podataka. Prije nego što Excel prikaže sažete podatke u zaokretnoj tablici, OLAP poslužitelj izvodi izračune kako bi sažeo podatke. Prema potrebi u Excel se vraćaju samo potrebni sažeti podaci.

    S vanjskim bazama podataka koje nisu OLAP vraćaju se svi pojedinačni zapisi, a Excel radi sažimanje. Posljedično, OLAP baze podataka daju Excelu mogućnost analize znatno većih količina vanjskih podataka.

    OLAP poslužitelj gura nove podatke u Excel kad god se promijeni izgled izvješća ili prikaza zaokretne tablice ili zaokretnog grafikona. Kada koristite izvorne podatke koji nisu OLAP, podaci se drugačije osvježavaju, a različite mogućnosti osvježavanja dostupne su u dijaloškom okviru Mogućnosti zaokretne tablice.

    Podaci koji nisu OLAP mogu se vratiti u Microsoft Excel kao vanjski raspon podataka ili izvješće zaokretne tablice ili zaokretni grafikon. OLAP podaci mogu se vratiti u Excel samo kao izvješće zaokretne tablice ili zaokretni grafikon.

    Zahtjev za pozadinu

    Ne možete omogućiti opciju pozadinskog upita u dijaloškom okviru Mogućnosti zaokretne tablice kada se izvješće zaokretne tablice temelji na OLAP izvoru podataka.

    Upiti s parametrima

    Izvješća zaokretne tablice temeljena na OLAP izvoru podataka ne podržavaju upotrebu parametarskih upita.

    Optimizacija memorije

    Potvrdni okvir Optimiziraj memoriju u dijaloškom okviru Mogućnosti zaokretne tablice nije dostupan kada se izvješće zaokretne tablice temelji na OLAP izvoru podataka.

    Opcije polja stranice

    U izvješćima zaokretne tablice koja se temelje na izvornim podacima koji nisu OLAP, možete koristiti parametre polja stranice za dohvaćanje podataka za svaki element pojedinačno ili za sve elemente istovremeno. Ove opcije polja stranice nisu dostupne u izvješćima koja se temelje na OLAP izvornim podacima. Izvorni OLAP podaci uvijek se dohvaćaju za svaki element prema potrebi, omogućujući izvješćima da prikazuju informacije iz velikih OLAP baza podataka.

    Razlike u obračunu

    Opcije polja stranice

    Ne možete promijeniti funkciju za sažimanje podatkovnih polja u izvješću zaokretne tablice koje se temelji na OLAP izvornim podacima. Do ovog ograničenja dolazi jer se ukupni iznosi izračunavaju na OLAP poslužitelju. Funkcije sažetka

    Nije moguće stvoriti izračunato polje ili izračunatu stavku u zaokretnoj tablici na temelju OLAP izvora podataka.

    Izračunata polja i izračunate stavke

    Kada radite s međuzbrojevima u izvješću zaokretne tablice koje se temelji na izvornim podacima OLAP-a, primjenjuju se sljedeća ograničenja.

    Ne možete promijeniti funkciju ukupnog iznosa za međuzbrojeve u izvješću zaokretne tablice.

    OLAP-CUBE (dinamičko upravljanje izvješćivanjem)

    Nije moguće prikazati međuzbrojeve za unutarnja ili interna polja stupaca u izvješću zaokretne tablice.

    Budući da se ukupni iznosi izračunavaju na OLAP poslužitelju, ne možete promijeniti međuskrivene stavke stranice u dijaloškom okviru Mogućnosti zaokretne tablice.

    Međuzbrojevi

    Opcija Total * u dijaloškom okviru Mogućnosti zaokretne tablice može se koristiti samo u izvješćima zaokretne tablice koja se temelje na izvornim podacima OLAP-a. Ova opcija označava sve međuzbrojeve i ukupne zbrojeve zvjezdicom (*) kako bi označila da te vrijednosti sadrže skrivene kao i prikazane stavke.

    Razlike u izgledu i dizajnu

    Dimenzije i mjere

    Kada radite s izvješćem zaokretne tablice koje se temelji na izvornim podacima OLAP-a, analitičar se može koristiti samo kao polja retka, stupca ili stranice. Mjere se mogu koristiti samo kao podatkovna polja. Kada povučete dimenziju u područje podataka polja ili dimenziju u područje retka, stupca ili margine stranice, dobit ćete sljedeću poruku o pogrešci:

    Polje koje želite premjestiti ne može se postaviti u ovo područje zaokretne tablice.

    Kada je izvješće zaokretne tablice temeljeno na OLAP izvornim podacima aktivno, alatna traka zaokretne tablice prikazuje ikonu pokraj svakog retka polja. Ikona pokazuje gdje će vam Excel omogućiti da postavite polje u izvješću zaokretne tablice. Ako je ikona u gornjem lijevom kutu, polje je dimenzija koju možete povući u red, stupac ili polje na stranici područja. Ako je ikona u donjem desnom kutu, polje je mjera koju možete povući u područje podatkovnih polja.

    Dimenzije i mjere

    Microsoft Excel vam omogućuje preimenovanje polja koja dodate u zaokretnu tablicu. Kada se izvješće zaokretne tablice temelji na izvornim podacima OLAP-a, vaše će se korisničko ime izgubiti kada izbrišete polje iz zaokretne tablice.

    Grupiranje i razgrupiranje elemenata

    U programu Excel 2000 ne možete grupirati stavke u izvješću zaokretne tablice koje se temelji na izvornim podacima OLAP-a;

    Preimenovanje polja

    Izvješća zaokretne tablice temeljena na OLAP izvornim podacima omogućuju vam prikaz najniže razine podataka dostupnih na OLAP poslužitelju.

    Grupiranje i razgrupiranje elemenata

    Za izvorne podatke koji nisu OLAP, stavke u novom izvješću zaokretne tablice prvo se pojavljuju poredane uzlaznim redoslijedom prema nazivu stavke.

    pojedinosti

    Naredba Prikaži stranice nije dostupna u izvješćima zaokretne tablice koja se temelje na OLAP izvornim podacima.

    Prikaži stavke bez podataka

    Opcija Prikaži stavke bez podataka u dijaloškom okviru Polja zaokretne tablice nije dostupna u izvješćima zaokretne tablice koja se temelje na izvornim podacima OLAP-a.

    U nastavku se nalazi popis pitanja na temu Informacijske tehnologije u upravljanju MPPU/MFPU “Sinergija”

    ... je interaktivni automatizirani sustav koji pomaže s ...

    OLAP se u užem smislu riječi tumači kao...

    OLAP sustavi (online analitička obrada) su...

    Pokazalo se da su OLTP sustavi malo korisni jer...

    Automatizirani sustav upravljanja (automatizirani informacijski…

    U MS Projectu...

    U OLTP sustavu dolazi do ažuriranja podataka...

    Dijagram dizajniran za analizu plana rada korištenjem metoda...

    Informacijski sustav je skup međusobno povezanih elemenata...

    Informacijska tehnologija je...

    Informacijska podrška je...

    Informacijske tehnologije utječu na razvoj društva na sljedeće načine...

    Razmjena informacija u strukturi organa upravljanja organizacijom…

    Izvršni informacijski sustavi…

    Karakteristike “malih” informacijskih sustava uključuju...

    Karakteristike informacijskih sustava srednje veličine uključuju...

    Metode obrade informacija su...

    Modularni princip izgradnje računovodstvenih informacijskih sustava...

    Slika prikazuje fragment dijagrama tipa..., napravljen u pro...

    Na mrežnom dijagramu u MS Projectu zadatak iz vanjskog projekta...

    Na mrežnom dijagramu u MS Projectu zadatak koji se ne odnosi na...

    Na mrežnom dijagramu u programu MS Project zadatak dodijeljen...

    Na mrežnom dijagramu u MS Projectu sažeti zadatak, kombiniran

    O sastavu i broju uključenih automatiziranih radnih mjesta...

    Znanost o informacijskim djelatnostima, informacijskim procesima i...

    Organizacija informacijskog sustava u kojem na udaljenom poslužitelju...

    Glavna svrha OLAP sustava je...

    Glavna svrha ERP sustava je automatizacija...

    Glavna svrha MPS metodologije je...

    Glavne karakteristike OLAP sustava su...

    Podsustav tehničke podrške uključuje...

    Redoslijed tehnoloških faza za modifikaciju primarne...

    Prilikom umrežavanja osobnih računala u obliku intrapro...

    Primijenjeno softver Računalo je namijenjeno...

    Primjer predmeta informacijska tehnologija je tehnologija...

    Proces podrške odlučivanju uključuje...

    Mreža na razini poduzeća ili korporativna mreža informacijski je...

    Sustav umjetne inteligencije je…

    Sustavi za obradu transakcija su sustavi dizajnirani za...

    Sustavi za obradu transakcija u skladu su sa...

    Sustavi za podršku odlučivanju – DS…

    Suvremene metode i alati za analizu i planiranje procesa…

    Izrada integriranih automatiziranih informacijskih sustava…

    Stvoreni informacijski sustavi postaju neprikladni za korištenje...

    Specifičnost informacijskog sustava podrške upravljanju očituje se...

    Korištenjem tradicionalnih OLTP sustava možete...

    Struktura korporativnih informacijskih sustava je...

    Kako bismo ubrzali i pojednostavili rad HR menadžera u tvrtki...

    Kako bismo ubrzali i pojednostavili rad HR menadžera u tvrtki...

    Zabilježene percipirane činjenice okolnog svijeta predstavljaju...

    Lanac radnji koji najtočnije odražava proces upravljanja...

    Ekonomski problemi rješavani dijalogom karakteriziraju...

    Ekspertni sustavi dizajnirani su za obradu...

    Je li sigurnosna povreda ili je povezana sa sigurnošću...

    OLAP postao jednostavan

    Nevjerojatno je u blizini...

    Tijekom svog rada često sam imao potrebu izrađivati ​​složena izvješća, uvijek sam pokušavao pronaći nešto zajedničko u njima kako bih ih jednostavnije i univerzalnije sastavio, čak sam napisao i objavio članak na tu temu „Osipovljevo stablo. ” Međutim, moj članak je bio kritiziran i rekli su da su svi problemi koje sam iznio odavno riješeni u OLAP-u (www.molap.rgtu.ru) te su preporučili gledanje pivot tablica u EXCEL-u.
    Pokazalo se toliko jednostavnim da sam, upotrijebivši svoje domišljate male ruke, smislio vrlo jednostavnu shemu preuzimanja podataka iz 1C7 ili bilo koje druge baze (u daljnjem tekstu 1C bilo koja baza) i analize u OLAP-u.
    Mislim da su mnoge OLAP sheme učitavanja prekomplicirane, ja biram jednostavnost.

    Karakteristike :

    1. Za rad je potreban samo EXCEL 2000.
    2. Korisnik može sam dizajnirati izvješća bez programiranja.
    3. Učitavanje iz 1C7 u jednostavnom formatu tekstualne datoteke.
    4. Za knjigovodstvena knjiženja Već postoji univerzalna obrada za istovar koja radi u bilo kojoj konfiguraciji. Za preuzimanje ostalih podataka dostupna je obrada uzorka.
    5. Možete unaprijed dizajnirati obrasce izvješća i zatim ih primijeniti na različite podatke bez ponovnog dizajna.
    6. Dosta dobra izvedba. U prvoj duljoj fazi, podaci se prvo uvoze u EXCEL iz tekstualne datoteke i gradi se OLAP kocka, a zatim se vrlo brzo na temelju te kocke može napraviti bilo koji izvještaj. Na primjer, podaci o prodaji proizvoda za trgovinu za 3 mjeseca s asortimanom od 6000 proizvoda učitavaju se u EXCEL za 8 minuta na Cel600-128M, ocjena po proizvodima i grupama (OLAP izvješće) preračunava se za 1 minutu.
    7. Podaci se preuzimaju iz 1C7 u cijelosti za navedeno razdoblje (sva kretanja, po svim skladištima, tvrtkama, računima). Prilikom uvoza u EXCEL moguće je koristiti filtere koji učitavaju samo podatke potrebne za analizu (npr. iz svih kretanja, samo prodaje).
    8. Trenutno su razvijene metode za analizu kretanja ili ostataka, ali ne i kretanja i ostataka zajedno, iako je to načelno moguće.

    Što je OLAP : (www.molap.rgtu.ru)

    Recimo da imate trgovački lanac. Neka se podaci o trgovinskim operacijama učitaju u tekstualnu datoteku ili tablicu ovako:

    Datum - datum operacije
    Mjesec - mjesec rada
    Tjedan - tjedan rada
    Vrsta - kupnja, prodaja, povrat, otpis
    Suprotna strana - vanjska organizacija koja sudjeluje u transakciji
    Autor - osoba koja je izdala račun

    U 1C, na primjer, jedan redak ove tablice odgovarat će jednom retku fakture; neka polja (druga strana, datum) preuzeta su iz zaglavlja fakture.

    Podaci za analizu obično se učitavaju u OLAP sustav za određeno vremensko razdoblje, iz kojeg se u principu može odabrati drugo razdoblje korištenjem filtera za učitavanje.

    Ova tablica je izvor za OLAP analizu.

    Korisnik sam određuje koja će od polja tablice biti Dimenzije, koji Podaci i koje Filtre primijeniti. Sustav sam gradi izvještaj u vizualnom tabelarnom obliku. Dimenzije se mogu postaviti u naslove redaka ili stupaca tablice izvješća.
    Kao što vidite, iz jedne jednostavne tablice možete dobiti mnogo podataka u obliku raznih izvješća.


    Kako ga sami koristiti :

    Raspakirajte podatke iz distribucije točno u direktorij c:\fixin (za trgovinski sustav to je moguće u c:\reports). Pročitajte readme.txt i slijedite sve upute u njemu.

    Prvo morate napisati obradu koja učitava podatke iz 1C u tekstualnu datoteku (tablicu). Morate odrediti sastav polja koja će se iskrcati.
    Na primjer, gotova univerzalna obrada, koja radi u bilo kojoj konfiguraciji i preuzima transakcije za određeno razdoblje za OLAP analizu, preuzima sljedeća polja za analizu:

    Datum|Dan u tjednu|Tjedan|Godina|Kvartal|Mjesec|Dokument|Tvrtka|Dugovanje|DtNomenklatura
    |DtGroupNomenclature|DtSectionNomenclature|Credit|Iznos|ValAmount|Količina
    |Valuta|DtCounterparties|DtGroupCounterparties|KtCounterparties|KtGroupCounterparties|
    CT Razni objekti

    Gdje se pod predznakom Dt(Kt) nalaze podračuni Dugovanja (Potraživanja), Grupa je grupa ovog podračuna (ako postoji), Odjeljak je grupa grupe, Klasa je grupa odjeljka.

    Za sustav trgovanja, polja mogu biti sljedeća:

    Smjer|Vrsta kretanja|Za gotovinu|Proizvod|Količina|Cijena|Iznos|Datum|Tvrtka
    |Skladište|Valuta|Dokument|Dan u tjednu|Tjedan|Godina|Kvartal|Mjesec|Autor
    |Kategorija proizvoda|Kategorija kretanja|Kategorija druge strane|Grupa proizvoda
    |Vrijednost|Trošak|Druga strana

    Za analizu podataka koriste se tablice "Analiza kretanja.xls" ("Računovodstvena analiza.xls"). Prilikom otvaranja nemojte onemogućavati makronaredbe, inače nećete moći ažurirati izvještaje (pokreću ih VBA makronaredbe). Ove datoteke preuzimaju izvorne podatke iz datoteka C:\fixin\motions.txt (C:\fixin\buh.txt), inače su iste.

    Osnove OLAP-a

    Stoga ćete možda morati kopirati svoje podatke u jednu od ovih datoteka.
    Za učitavanje podataka u EXCEL odaberite ili napišite svoj filtar i kliknite gumb "Generiraj" na listu "Uvjeti".
    Listovi izvješća počinju s prefiksom "Izvješće". Idite na list izvješća, kliknite na "Ažuriraj" i podaci izvješća će se promijeniti u skladu sa zadnjim učitanim podacima.
    Ako niste zadovoljni standardnim izvješćima, postoji list Predložak izvješća. Kopirajte ga na novi list i prilagodite vrstu izvješća radeći sa zaokretnom tablicom na ovom listu (za više informacija o radu sa zaokretnim tablicama pogledajte bilo koju knjigu EXEL 2000). Preporučujem postavljanje izvješća na malom skupu podataka, a zatim njihovo pokretanje na velikom nizu, jer... Ne postoji način da se onemogući ponovno crtanje tablica svaki put kada se promijeni izgled izvješća.

    Tehničke napomene :

    Prilikom učitavanja podataka iz 1C, korisnik odabire mapu u koju će prenijeti datoteku. Učinio sam to jer je vjerojatno da će nekoliko datoteka (ostatci i pokreti) biti učitano u bliskoj budućnosti. Zatim se klikom na gumb “Pošalji” -> “U OLAP analizu u EXCEL 2000” u Exploreru podaci iz odabrane mape kopiraju u mapu C:\fixin. (da bi se ova naredba pojavila na popisu naredbe “Pošalji”, trebate kopirati datoteku “Za OLAP analizu u EXCEL 2000.bat” u direktorij C:\Windows\SendTo) Stoga, odmah prenesite podatke imenovanjem datoteke motions.txt ili buh.txt.

    Format tekstualne datoteke:
    Prvi red tekstualne datoteke su zaglavlja stupaca odvojena znakom "|", preostali redovi sadrže vrijednosti ovih stupaca odvojenih znakom "|".

    Za uvoz tekstualnih datoteka u Excel koristi se Microsoft Query (komponenta EXCEL-a); da bi funkcionirao, morate imati datoteku shema.ini koja sadrži sljedeće podatke u direktoriju za uvoz (C:\fixin):


    ColNameHeader=Istina
    Format=Razgraničeno(|)
    MaxScanRows=3
    Skup znakova=ANSI
    ColNameHeader=Istina
    Format=Razgraničeno(|)
    MaxScanRows=3
    Skup znakova=ANSI

    Objašnjenje: motions.txt i buh.txt su naziv odjeljka, odgovara nazivu uvezene datoteke, opisuje kako uvesti tekstualnu datoteku u Excel. Preostali parametri znače da prvi redak sadrži nazive stupaca, razdjelnik stupaca je "|", skup znakova je Windows ANSI (za DOS - OEM).
    Vrsta polja se određuje automatski na temelju podataka sadržanih u stupcu (datum, broj, niz).
    Popis polja ne treba nigdje opisivati ​​- EXCEL i OLAP će sami odrediti koja se polja nalaze u datoteci prema naslovima u prvom redu.

    Pažnja, provjerite svoje regionalne postavke "Upravljačka ploča" -> "Regionalne postavke". U mojoj obradi, brojevi se učitavaju s razdjelnikom zarezom, a datumi su u formatu "DD.MM.GGGG".

    Kada kliknete gumb "Generiraj", podaci se učitavaju u zaokretnu tablicu na listu "Osnova", a sva izvješća na listovima "Izvješće" preuzimaju podatke iz ove zaokretne tablice.

    Razumijem da će ljubitelji MS SQL Servera i moćnih baza podataka početi gunđati da je sve previše pojednostavljeno, da će moja obrada biti iscrpljena jednogodišnjim uzorkom, ali prije svega želim dati prednosti OLAP analize srednjim velike organizacije. Pozicionirao bih ovaj proizvod kao alat za godišnju analizu za veleprodajne tvrtke, kvartalnu analizu za trgovce na malo i operativnu analizu za bilo koju organizaciju.

    Morao sam petljati s VBA kako bi se podaci mogli uzeti iz datoteke s bilo kojim popisom polja i kako bih mogao unaprijed pripremiti obrasce izvješća.

    Opis rada u EXCEL-u (za korisnike):

    Upute za korištenje izvješća:
    1. Preuzete podatke poslati na analizu (provjeriti kod administratora). Da biste to učinili, desnom tipkom miša kliknite mapu u koju ste preuzeli podatke iz 1C i odaberite naredbu "Pošalji", a zatim "U OLAP analizu u EXCEL 2000".
    2. Otvorite datoteku "Motion Analysis.xls"
    3. Odaberite Filter Value; filtri koji su vam potrebni mogu se dodati na kartici "Vrijednosti".
    4. Pritisnite gumb "Generiraj" i preuzeti podaci će se učitati u EXCEL.
    5. Nakon učitavanja podataka u EXCEL, možete vidjeti različita izvješća. Da biste to učinili, samo kliknite gumb "Osvježi" u odabranom izvješću. Listovi izvješća počinju s Izvještaj.
    Pažnja! Nakon što promijenite vrijednost filtra, trebate ponovno kliknuti gumb "Generiraj" kako bi se podaci u EXCEL-u ponovno učitali iz datoteke za učitavanje u skladu s filtrima.

    Obrada iz demo primjera:

    Obrada motionsbuh2011.ert – Najnovija verzija učitavanje transakcija iz Računovodstva 7.7 za analizu u Excelu. Ima potvrdni okvir "Priloži datoteci", koji vam omogućuje da učitate podatke u dijelovima po razdoblju, dodajući ih istoj datoteci, umjesto ponovnog učitavanja u istu datoteku:

    Obrada motionswork.ert učitava podatke o prodaji za analizu u Excelu.

    Primjeri izvješća :

    Ožičenje šaha:

    Opterećenje operatera po vrstama računa:

    p.s. :

    Jasno je da se slična shema može koristiti za organiziranje preuzimanja podataka iz 1C8.
    2011. godine javio mi se korisnik koji je trebao poboljšati ovu obradu u 1C7 kako bi uploadao velike količine podataka, našao sam vanjskog izvođača i obavio posao. Dakle, razvoj je prilično relevantan.

    Obrada motionsbuh2011.ert je poboljšana kako bi se nosila s istovarom velikih količina podataka.

    Prva jasna definicija OLAP(On-line analitička obrada) predložio je 1993. E.F. Codd u članku objavljenom uz podršku Arbor Software (sada Hyperion Software). Članak je uključivao 12 pravila koja su sada postala široko poznata i opisana su na web stranici bilo kojeg pružatelja OLAP aplikacija. Kasnije, 1995. godine, dodano je još šest manje poznatih pravila, sva su podijeljena u četiri skupine i nazvana "features". Ovdje su pravila koja definiraju OLAP aplikaciju, s komentarima Nigela Pendsea, jednog od kreatora web stranice OLAP Report.

    Glavne karakteristike OLAP-a uključuju:

    1. Višedimenzionalnost podatkovnog modela. Malo ljudi se raspravlja s ovom tvrdnjom, a smatra se glavnom karakteristikom OLAP-a. Dio ovog zahtjeva je sposobnost konstruiranja različitih projekcija i presjeka modela.

    2. Intuitivni mehanizmi za manipulaciju podacima. Codd vjeruje da se manipulacija podacima treba provoditi korištenjem radnji izravno u ćeliji tablice, bez upotrebe izbornika ili složenih izbornika. Moglo bi se pretpostaviti da to implicira korištenje operacija mišem, ali Codd to ne tvrdi. Mnogi proizvodi ne slijede ovo pravilo. S naše točke gledišta, ova karakteristika malo utječe na kvalitetu procesa analize podataka. Smatramo da program treba ponuditi mogućnost odabira modela rada, jer... ne vole svi korisnici iste stvari.

    3. Dostupnost. OLAP je posrednik. Codd posebno naglašava da je OLAP motor posredni program između heterogenih izvora podataka i korisničkog sučelja. Većina proizvoda pruža ove funkcije, ali jednostavnost pristupa podacima često je manja od one koju bi drugi dobavljači softvera željeli.

    4. Skupno izdvajanje podataka. Ovo pravilo zahtijeva da proizvodi nude i vlastite baze podataka za pohranu analiziranih podataka i dinamički (živi) pristup vanjskim podacima. Slažemo se s Coddom po ovom pitanju i žalimo što ga slijedi nekoliko OLAP proizvoda. Čak i oni programi koji nude takve funkcije rijetko ih čine jednostavnima i dovoljno automatiziranima. Kao rezultat toga, Codd podržava višedimenzionalni prikaz podataka plus djelomični predizračun velikih višedimenzionalnih baza podataka s transparentnim end-to-end pristupom detaljnim informacijama. Danas se na njega gleda kao na definiciju hibridnog OLAP-a, koji postaje najpopularnija arhitektura, pa je Codd vrlo precizno sagledao glavne trendove u ovom području.

    5. Arhitektura klijent-poslužitelj. Codd vjeruje da ne samo da bi svaki proizvod trebao biti klijent-poslužitelj proizvod, već da bi svaka poslužiteljska komponenta OLAP proizvoda trebala biti dovoljno inteligentna da se različiti klijenti mogu povezati uz minimalan napor i programiranje. Ovo je mnogo složeniji test od jednostavne klijent-poslužiteljske arhitekture i relativno mali broj proizvoda ga prolazi. Mogli bismo tvrditi da je ovaj test možda složeniji nego što bi trebao biti i da ne bi trebao diktirati arhitekturu sustava programerima.

    6. Transparentnost. Ovaj test je također težak, ali neophodan. Potpuna usklađenost znači da korisnik, recimo, proračunske tablice može imati potpuni pristup mogućnostima koje pruža OLAP mehanizam, a da uopće ne zna odakle su podaci došli. Da bi se to postiglo, proizvodi moraju omogućiti dinamički pristup heterogenim izvorima podataka i potpuno funkcionalan modul proračunske tablice. OLAP poslužitelj smješten je između proračunske tablice i skladišta podataka.

    7. Višekorisnički rad. Codd navodi da, da bi se smatrale strateškim OLAP alatom, aplikacije moraju činiti više od pukog čitanja i tumačenja podataka, te sukladno tome moraju osigurati istovremeni pristup (uključujući i dohvaćanje i ažuriranje podataka), cjelovitost i sigurnost.

    Posebne značajke

    8. Rukovanje nenormaliziranim podacima. To znači da je moguća integracija između OLAP motora i nenormaliziranog izvora podataka. Codd naglašava da kada se ažuriraju podaci koji se izvode u OLAP okruženju, mora biti moguće promijeniti nenormalizirane podatke u vanjskim sustavima.

    9. Pohranjivanje OLAP rezultata odvojeno od izvornih podataka. U stvarnosti, to ima veze s implementacijom proizvoda, a ne s njegovim mogućnostima, no malo tko bi se protivio ovoj izjavi. U biti, Cobb zagovara široko prihvaćeni sustav da OLAP aplikacije trebaju graditi analize izravno na transakcijskim podacima i da se promjene OLAP podataka trebaju držati odvojene od transakcijskih podataka.

    10. Označavanje podataka koji nedostaju. To znači da se podaci koji nedostaju moraju razlikovati od nulte vrijednosti. U pravilu, svi moderni OLAP sustavi podržavaju ovu značajku.

    11. Rukovanje vrijednostima koje nedostaju. Sve vrijednosti koje nedostaju treba zanemariti u analizi, bez obzira na njihov izvor.

    Karakteristike generiranja izvješća

    12. Fleksibilno izvješćivanje. Različite dimenzije moraju biti raspoređene na bilo koji način kako bi odgovarale potrebama korisnika. Većina proizvoda ispunjava ovaj zahtjev putem namjenskih uređivača izvješća. Volio bih da su iste značajke dostupne u interaktivnim preglednicima, ali to je mnogo rjeđe. Ovo je jedan od razloga zašto preferiramo da se analiza i funkcionalnost izvješća kombiniraju u jednom modulu.

    1. Pojam olap kocke

    13. Dosljedna izvedba pri izradi izvješća. To znači da performanse sustava prilikom generiranja izvješća ne bi trebale značajno pasti kako se veličina ili veličina baze podataka povećava.

    14. Automatska regulacija fizičkog sloja. OLAP sustav mora automatski prilagoditi fizičku strukturu kako bi je prilagodio vrsti i strukturi modela.

    Kontrola dimenzija

    15. Opća funkcionalnost. Sve dimenzije trebaju imati iste mogućnosti u strukturi i funkcionalnosti.

    16. Neograničen broj dimenzija i razina agregacije. Zapravo, pod neograničenim brojem Codd podrazumijeva 15-20, t.j. broj koji očito premašuje analitičareve maksimalne potrebe.

    17. Neograničene operacije između podataka različitih mjerenja. Codd vjeruje da, da bi se aplikacija mogla nazvati višedimenzionalnom, mora podržavati bilo kakav izračun koristeći podatke iz svih dimenzija.

    Pojedinosti o Hyperion proizvodima mogu se pronaći na web stranici www.hyperion.ru

    verzija za ispis

    leđa

    10.8 Rad sa zaokretnim tablicama (objekt zaokretne tablice)

    Objekt Excel.PivotTable, programski rad sa zaokretnim tablicama i OLAP kockama u Excelu pomoću VBA, PivotCache objekt, izrada izgleda zaokretne tablice

    Tijekom poslovanja većine poduzeća nakupljaju se tzv. sirovi podaci o aktivnostima. Na primjer, za trgovačko poduzeće mogu se akumulirati podaci o prodaji robe - za svaku kupnju zasebno; za poduzeća mobilnih komunikacija - statistika o opterećenju baznih stanica itd. Vrlo često menadžment poduzeća treba analitičke informacije koje se generiraju na temelju sirovih informacija – na primjer, za izračunavanje doprinosa svake vrste proizvoda prihodima poduzeća ili kvaliteti usluge u području datu stanicu. Vrlo je teško izvući takve informacije iz sirovih informacija: trebate pokrenuti vrlo složene SQL upite za čije je izvršenje potrebno puno vremena i često ometaju trenutni rad. Stoga se sada sve više sirovi podaci prvo konsolidiraju u arhivsko skladište podataka - Data Warehouse, a zatim u OLAP kocke, koje su vrlo prikladne za interaktivnu analizu. OLAP kocke je najlakše zamisliti kao višedimenzionalne tablice, u kojima umjesto standardne dvije dimenzije (stupaca i redaka, kao u običnim tablicama), može postojati puno dimenzija. Izraz "presjek" obično se koristi za opisivanje mjerenja u kocki. Na primjer, odjel marketinga može trebati informacije po vremenu, po regiji, po vrsti proizvoda, po kanalu prodaje itd. Pomoću kocki (za razliku od standardnih SQL upita) vrlo je jednostavno dobiti odgovore na pitanja poput „koliko je proizvoda ove vrste prodano u četvrtom kvartalu prošle godine u Sjeverozapadnoj regiji preko regionalnih distributera.

    Naravno, takve se kocke ne mogu izraditi u konvencionalnim bazama podataka. Rad s OLAP kockama zahtijeva specijalizirane softverske proizvode. SQL Server dolazi s Microsoftovom OLAP bazom podataka pod nazivom Analysis Services. Postoje OLAP rješenja Oraclea, IBM-a, Sybasea itd.

    Za rad s takvim kockama Excel ima ugrađeni klijent.

    Na ruskom se zove Stožerna tablica(na grafičkom ekranu mu se može pristupiti kroz izbornik Podaci -> Stožerna tablica), a na engleskom - Zaokretna tablica. U skladu s tim, objekt koji ovaj klijent predstavlja naziva se zaokretna tablica. Treba napomenuti da može raditi ne samo s OLAP kockama, već i s običnim podacima u Excel tablicama ili bazama podataka, ali mnoge mogućnosti su izgubljene.

    PivotTable i PivotTable softverski su proizvodi tvrtke Panorama Software koje je kupio Microsoft i integrirao u Excel.

    Stoga se rad s objektom zaokretne tablice donekle razlikuje od rada s drugim Excel objektima. Često je teško shvatiti što treba učiniti. Stoga se preporuča aktivno koristiti snimač makronaredbi za primanje savjeta. U isto vrijeme, kada rade sa zaokretnim tablicama, korisnici često moraju izvoditi iste ponavljajuće operacije, pa je automatizacija neophodna u mnogim situacijama.

    Kako programski izgleda rad sa zaokretnom tablicom?

    Prvo što trebamo napraviti je stvoriti PivotCache objekt koji će predstavljati skup zapisa dohvaćenih iz OLAP izvora. Vrlo grubo, ovaj PivotCache objekt može se usporediti s QueryTableom. Možete koristiti samo jedan objekt PivotCache po objektu PivotTable. Objekt PivotCache kreira se pomoću metode Add() zbirke PivotCaches:

    Dim PC1 kao PivotCache

    Postavite PC1 = ActiveWorkbook.PivotCaches.Add(xlExternal)

    PivotCaches je standardna kolekcija, a među metodama koje zaslužuju detaljno razmatranje u njoj se može navesti samo metoda Add(). Ova metoda uzima dva parametra:

    • SourceType- obavezno, definira vrstu izvora podataka za zaokretnu tablicu. Možete odrediti izradu zaokretne tablice na temelju raspona u Excelu, podataka iz baze podataka, vanjskog izvora podataka, druge zaokretne tablice itd. U praksi obično ima smisla koristiti OLAP samo kada ima puno podataka - prema tome, potrebna vam je specijalizirana vanjska pohrana (na primjer, Microsoft Analysis Services). U ovoj situaciji odabrana je vrijednost xlExternal.
    • Izvor podataka- potrebno u svim slučajevima, osim kada je vrijednost prvog parametra xlExternal. Naime, njime se definira raspon podataka na temelju kojeg će se kreirati zaokretna tablica. Obično uzima objekt Range.

    Sljedeći zadatak je konfigurirati postavke objekta PivotCache. Kao što je već spomenuto, ovaj objekt je vrlo sličan QueryTableu, a njegov skup svojstava i metoda je vrlo sličan. Neka od najvažnijih svojstava i metoda:

    • ADOConnection- mogućnost vraćanja objekta ADO Connection koji se automatski stvara za povezivanje s vanjskim izvorom podataka. Koristi se za daljnje konfiguriranje svojstava veze.
    • Veza- radi potpuno isto kao svojstvo objekta QueryTable istog naziva. Može prihvatiti niz veze, gotov objekt Recordset, tekstualnu datoteku ili web zahtjev. Datoteka Microsoft Query. Najčešće, kada radite s OLAP-om, niz veze se piše izravno (budući da dobivanje Recordset objekta, na primjer, za promjenu podataka, nema puno smisla - OLAP izvori podataka gotovo su uvijek samo za čitanje). Na primjer, postavljanje ovog svojstva za povezivanje s bazom podataka Foodmart (uzorak baze podataka Analysis Services) na poslužitelju LONDON može izgledati ovako:

    PC1.Connection = "OLEDB;Provider=MSOLAP.2;Data Source=LONDON1;Početni katalog = FoodMart 2000"

    • Svojstva CommandType I CommandText također opisuju vrstu naredbe koja se šalje poslužitelju baze podataka i sam tekst naredbe. Na primjer, da biste pristupili prodajnoj kocki i u potpunosti je prebacili u predmemoriju na klijentu, možete upotrijebiti kod kao

    PC1.CommandType = xlCmdCube

    PC1.CommandText = Array("Sales")

    • vlasništvo LocalConnection omogućuje vam povezivanje s lokalnom kockom (*.cub datoteka) stvorenom pomoću programa Excel. Naravno, nije preporučljivo koristiti takve datoteke za rad s "produkcijskim" količinama podataka - samo za potrebe izrade izgleda itd.
    • vlasništvo MemoryUsed vraća količinu RAM-a koju koristi PivotCache. Ako zaokretna tablica temeljena na ovom zaokretnom predmemoriju još nije stvorena i otvorena, vraća 0. Može se koristiti za provjeru hoće li vaša aplikacija raditi na slabim klijentima.
    • vlasništvo OLAP vraća True ako je PivotCache povezan s OLAP poslužiteljem.
    • OptimizeCache- mogućnost optimizacije strukture predmemorije. Početno preuzimanje podataka trajat će dulje, no tada se brzina može povećati. Ne radi za OLE DB izvore.

    Preostala svojstva objekta PivotCache ista su kao i svojstva objekta QueryTable i stoga se o njima ovdje neće raspravljati.

    Glavna metoda objekta PivotCache je metoda CreatePivotTable(). Pomoću ove metode izvodi se sljedeća faza - izrada zaokretne tablice (objekta PivotTable). Ova metoda uzima četiri parametra:

    • TableDestination- jedini potrebni parametar.

      Prihvaća objekt Range u čijem će se gornjem lijevom kutu postaviti stožerna tablica.

    • TableName- naziv stožerne tablice. Ako nije navedeno, automatski će se generirati naziv pogleda "PivotTable1".
    • ReadData- ako je postavljeno na True, tada će cijeli sadržaj kocke biti automatski smješten u predmemoriju. Morate biti vrlo oprezni s ovim parametrom, jer njegova nepravilna upotreba može dramatično povećati opterećenje klijenta.
    • Zadana verzija- ovo svojstvo obično nije navedeno. Omogućuje određivanje verzije zaokretne tablice koja se stvara. Prema zadanim postavkama koristi se najnovija verzija.

    Stvaranje zaokretne tablice u prvoj ćeliji prvog radnog lista može izgledati ovako:

    PC1.CreatePivotTable Range("A1")

    Napravili smo pivot tablicu, ali je odmah nakon izrade prazna. Pruža četiri područja u koja možete smjestiti polja iz izvora (na grafičkom zaslonu sve se to može konfigurirati pomoću prozora Popis polja zaokretne tablice- otvara se automatski ili pomoću gumba Izgled na posljednjem ekranu čarobnjaka zaokretne tablice):

    • područje stupca- sadrži one dimenzije (“sekciju” u kojoj će se podaci analizirati) čiji su članovi manji;
    • područje linije- one dimenzije koje imaju više članova;
    • područje stranice- ona mjerenja za koja samo trebate filtrirati (npr. prikazati podatke samo za tu i tu regiju ili samo za tu i tu godinu);
    • područje podataka- zapravo središnji dio stola. Oni numerički podaci (primjerice, količina prodaje) koje analiziramo.

    Osloniti se na to da će korisnik pravilno postaviti elemente u sva četiri područja je teško.

    Osim toga, ovo može potrajati neko vrijeme. Stoga je često potrebno programski rasporediti podatke u zaokretnu tablicu. Ova se operacija izvodi pomoću objekta CubeField. Glavno svojstvo ovog objekta je Orijentacija, ono određuje gdje će se ovo ili ono polje nalaziti. Na primjer, postavimo dimenziju kupaca u područje stupaca:

    PT1.CubeFields("").Orijentacija = xlColumnField

    Zatim - mjerenje vremena u području linije:

    PT1.CubeFields("").Orijentacija = xlRowField

    Zatim - dimenzija proizvoda na područje stranice:

    PT1.CubeFields("").Orijentacija = xlPageField

    I na kraju, indikator (numerički podaci za analizu) Jedinična prodaja:

    PT1.CubeFields(“.”).Orijentacija = xlDataField

    Sada je zaokretna tablica stvorena i možete raditi s njom. Međutim, često je potrebno izvršiti još jednu operaciju - proširiti željenu razinu hijerarhije dimenzija. Na primjer, ako nas zanima tromjesečna analiza, tada moramo proširiti tromjesečnu razinu dimenzije Vrijeme (prema zadanim postavkama prikazana je samo gornja razina). Naravno, korisnik to može učiniti sam, ali ne može se uvijek računati na to da će shvatiti gdje kliknuti. Na primjer, možete programski proširiti hijerarhiju dimenzije vremena na razinu kvartala za 1997. koristeći objekte PivotField i PivotItem:

    PT1.PivotFields(“.”).PivotItems(“.”).DrilledDown = True

    / Na kubistički način. Primjena OLAP kocki u upravljačkoj praksi velikih poduzeća


    U kontaktu s

    Kolege

    Konstantin Tokmačev, arhitekt sustava

    U kubističkom stilu.
    Primjena OLAP kocki u upravljačkoj praksi velikih poduzeća

    Možda je prošlo vrijeme kada su se računalni resursi korporacije trošili samo na bilježenje informacija i računovodstvenih izvješća. U isto vrijeme, upravljačke odluke donosile su se "na oko" u uredima, na sastancima i sastancima. Možda je u Rusiji došlo vrijeme da se korporativni računalni sustavi vrate njihovom glavnom resursu - rješavanju problema upravljanja na temelju podataka registriranih u računalu

    O prednostima poslovne analitike

    U petlji korporativnog upravljanja, između “sirovih” podataka i “poluga” utjecaja na objekt upravljanja nalaze se “indikatori uspješnosti” - KPI. Oni čine neku vrstu "kontrolne ploče", odražavajući stanje različitih podsustava kontroliranog objekta. Opremanje poduzeća informativnim pokazateljima uspješnosti te praćenje njihovog izračuna i dobivenih vrijednosti posao je poslovnog analitičara. Usluge automatizirane analize, kao što je uslužni program MS SQL Server Analysis Services (SSAS) i njegov glavni alat, OLAP kocka, mogu pružiti značajnu pomoć u organiziranju analitičkog rada korporacije.

    Ovdje treba naglasiti još jednu stvar. Recimo, u američkoj tradiciji specijalnost usmjerena na rad s OLAP kockama zove se BI (Business Intelligence). Ne treba imati iluzija da američki BI odgovara ruskom “poslovnom analitičaru”. Bez uvrede, ali često je naš poslovni analitičar “podračunovođa” i “podprogramer”, stručnjak s nejasnim znanjem i malom plaćom, koji zapravo nema nikakav svoj alat i metodologiju.

    BI specijalist je zapravo primijenjeni matematičar, visokokvalificirani stručnjak koji stavlja moderne matematičke metode u arsenal tvrtke (ono što se zvalo Operations Research - metode operacijskog istraživanja). BI je više u skladu sa specijalnošću "sistemski analitičar" koja je jednom u SSSR-u diplomirala na Fakultetu računalne matematike i matematike Moskovskog državnog sveučilišta. M.V. Lomonosov. OLAP kocka i usluge analize mogu postati obećavajuća osnova za radno mjesto ruskog poslovnog analitičara, možda nakon napredne obuke u smjeru američkog BI-a.

    Nedavno se pojavio još jedan štetan trend. Zahvaljujući specijalizaciji, izgubljeno je međusobno razumijevanje između različitih kategorija zaposlenika korporacije. Računovođa, menadžer i programer, poput “labuda, raka i štuke” u I.A.-ovoj basni. Krylov, vuku korporaciju u različitim smjerovima.

    Računovođa je zaokupljen izvještavanjem, njegovi iznosi, kako u značenju tako iu dinamici, nisu direktno vezani uz poslovni proces poduzeća.

    Menadžer je zauzet svojim dijelom poslovnog procesa, ali nije u mogućnosti globalno, na razini poduzeća kao cjeline, procijeniti rezultate i izglede svog djelovanja.

    Konačno, programer koji je nekada (zahvaljujući svom obrazovanju) bio provodnik naprednih tehničkih ideja iz sfere znanosti u sferu poslovanja, pretvorio se u pasivnog izvršitelja fantazija računovođe i menadžera, pa nije više neuobičajeno da IT odjele korporacija vode računovođe i, općenito, svi kojima nije lijen. Nedostatak inicijative, nepismeni, ali relativno visoko plaćeni 1C programer prava je pošast ruskih korporacija. (Skoro kao domaći nogometaš.) O takozvanim “ekonomistima i pravnicima” da i ne govorim, o njima je sve već odavno rečeno.

    Dakle, pozicija poslovnog analitičara, opremljenog SSAS aparatom koji temelji na znanju, vješt u osnovama programiranja i računovodstva, sposoban je konsolidirati rad tvrtke u odnosu na analizu i prognozu poslovnog procesa.

    Prednosti OLAP kocki

    OLAP kocka je moderni lijek analiza baze podataka korporativnog računalnog sustava, koja omogućava zaposlenicima na svim razinama hijerarhije pružiti potreban skup pokazatelja koji karakteriziraju proizvodni proces tvrtke. Poanta nije samo u tome da vam prikladno sučelje i fleksibilni jezik upita za MDX kocku (MultiDimensional eXpressions) omogućuju formuliranje i izračunavanje potrebnih analitičkih pokazatelja, već i nevjerojatna brzina i lakoća kojom OLAP kocka to radi. Štoviše, ta brzina i jednostavnost, u određenim granicama, ne ovise o složenosti izračuna i veličini baze podataka.

    Neki uvod u OLAP-
    kocka se može dati "zaokretnom tablicom" MS Excela. Ti objekti imaju sličnu logiku i slična sučelja. No, kao što će se vidjeti iz članka, OLAP funkcionalnost je neusporedivo bogatija, a performanse neusporedivo veće, pa “pivot table” ostaje lokalni desktop proizvod, dok je OLAP proizvod na razini poduzeća.

    Zašto je OLAP kocka tako prikladna za rješavanje analitičkih problema? OLAP kocka je dizajnirana na način da su svi pokazatelji u svim mogućim dijelovima unaprijed izračunati (cijeli ili djelomično), a korisnik može samo "izvući" tražene pokazatelje (mjere) i dimenzije (dimenzije) s mišem, a program može ponovno crtati tablice.

    Sva moguća analitika u svim dijelovima čini jedno ogromno polje, odnosno ne polje, već samo višedimenzionalnu OLAP kocku. Koji god zahtjev korisnik (menadžer, poslovni analitičar, rukovoditelj) uputi analitičkoj usluzi, brzina odgovora objašnjava se dvjema stvarima: prvo, potrebna analitika može se lako formulirati (bilo odabrati s popisa imenom ili specificirati formula u MDX jeziku ), drugo, u pravilu je već izračunata.

    Formulacija analitike moguća je u tri opcije: to je ili polje baze podataka (odnosno polje skladišta), ili polje izračuna definirano na razini dizajna kocke, ili izraz MDX jezika pri interaktivnom radu s kockom.

    To znači nekoliko atraktivnih značajki OLAP kocki. U biti, nestaje barijera između korisnika i podataka. Zapreka je u obliku aplikacijskog programera, koji najprije treba objasniti problem (postaviti zadatak). Drugo, morat ćete pričekati da aplikacijski programer izradi algoritam, napiše i ispravi program, a zatim ga eventualno modificira. Ako ima puno zaposlenika, a njihovi zahtjevi su raznoliki i promjenjivi, tada je potreban cijeli tim aplikativnih programera. U tom smislu OLAP kocka (i kvalificirani poslovni analitičar) zamjenjuje cijeli tim aplikativnih programera u analitičkom poslu, kao što moćni bager s bageristom zamjenjuje cijeli tim gastarbajtera s lopatama pri kopanju jarka!

    Ujedno se postiže još jedna vrlo važna kvaliteta dobivenih analitičkih podataka. Budući da postoji samo jedna OLAP kocka za cijelu tvrtku, tj. Ovo je isto polje s analitičarima za sve, što eliminira dosadna odstupanja u podacima. Kada menadžer mora postaviti isti zadatak nekolicini neovisnih zaposlenika kako bi eliminirao faktor subjektivnosti, ali oni i dalje donose različite odgovore, koje se svatko obvezuje nekako objasniti itd. OLAP kocka osigurava ujednačenost analitičkih podataka na različitim razinama korporativne hijerarhije, tj. ako rukovoditelj želi detaljizirati određeni pokazatelj koji ga zanima, tada će sigurno doći do podataka niže razine s kojima radi njegov podređeni, a to će biti upravo podaci na temelju kojih je izračunat pokazatelj više razine , a ne neki drugi podatak, dobiven na neki drugi način, u neko drugo vrijeme i sl. Odnosno, cijela tvrtka vidi istu analitiku, ali na različitim razinama agregacije.

    Navedimo primjer. Recimo da upravitelj kontrolira potraživanja. Sve dok je KPI za dospjela potraživanja zelen, to znači da je sve normalno i da nisu potrebne nikakve radnje menadžmenta. Ako se boja promijenila u žutu ili crvenu, nešto nije u redu: režemo KPI-ove po prodajnim odjelima i odmah vidimo odjele "crveno". Sljedeći odjeljak po menadžerima - i identificira se prodavač čiji klijenti kasne s plaćanjem. (Nadalje, dospjeli iznos može se podijeliti prema kupcima, prema uvjetima itd.) Šef korporacije može izravno kontaktirati prekršitelje na bilo kojoj razini. Ali općenito, isti KPI (na njihovim razinama hijerarhije) vide i voditelji odjela i menadžeri prodaje. Stoga, da bi ispravili situaciju, ne trebaju čak ni čekati “poziv na tepih”... Naravno, sam KPI ne mora nužno biti iznos zakašnjelih plaćanja - to može biti ponderirano prosječno razdoblje dospjelih plaćanja ili, općenito, stopa obrta potraživanja.

    Napomenimo da nam složenost i fleksibilnost MDX jezika, zajedno s brzim (ponekad trenutnim) rezultatima, omogućuje rješavanje (uzimajući u obzir faze razvoja i otklanjanja pogrešaka) složenih zadataka upravljanja koji inače uopće ne bi bili postavljeni zbog složenosti za programere aplikacija i početne nesigurnosti u formulaciji. (U praksi se često susreću dugi rokovi aplikativnim programerima za rješavanje analitičkih problema zbog slabo razumljivih formulacija i dugih modifikacija programa pri promjeni uvjeta.)

    Obratimo pozornost i na činjenicu da svaki zaposlenik tvrtke može od općeg polja OLAP analitičara prikupiti točno onu žetvu koja mu je potrebna za njegov rad, a ne biti zadovoljan "trakom" koja mu je izrezana u komunalnom “standardna izvješća”.

    Višekorisničko sučelje za rad s OLAP kockom u načinu rada klijent-poslužitelj omogućuje svakom zaposleniku, neovisno o drugima, vlastite (čak i vlastite izrade s određenom vještinom) analitičke blokove (izvješća), koji se nakon definiranja automatski ažurirani - drugim riječima, uvijek su ažurni.

    Odnosno, OLAP kocka vam omogućuje da analitički rad (koji zapravo ne provode samo analitičari recepcije, već zapravo gotovo svi zaposlenici tvrtke, čak i logističari i menadžeri koji kontroliraju stanja i pošiljke) bude selektivniji, “ne općenito” čime se stvaraju uvjeti za poboljšanje rada i povećanje produktivnosti.

    Rezimirajući naš uvod, napominjemo da korištenje OLAP kocki može podići upravljanje poduzećem na višu razinu. Ujednačenost analitičkih podataka na svim razinama hijerarhije, njihova pouzdanost, složenost, jednostavnost kreiranja i modificiranja indikatora, individualne postavke, velika brzina obrade podataka, te u konačnici ušteda novca i vremena utrošenog na podršku alternativnim analitičkim putovima (aplikativni programeri, neovisni izračuni zaposlenika) otvaraju izglede za korištenje OLAP kocki u praksi velikih ruskih tvrtki.

    OLTP + OLAP: povratna sprega u lancu upravljanja tvrtkom

    Sada pogledajmo opću ideju OLAP kocki i njihovu točku primjene u lancu korporativnog upravljanja. Termin OLAP (OnLine Analytical Processing) uveo je britanski matematičar Edgar Codd uz svoj ranije uvedeni termin OLTP (OnLine Transactions Processing). O tome će biti riječi kasnije, ali E. Codd je, naravno, predložio ne samo pojmove, već i matematičke teorije OLTP-a i OLAP-a. Ne ulazeći u detalje, u suvremenoj interpretaciji OLTP je relacijska baza podataka, koja se smatra mehanizmom za snimanje, pohranu i dohvaćanje informacija.

    Metodologija rješenja

    ERP sustavi (Enterprice Resource Planning), kao što su 1C7, 1C8, MS Dynamics AX, imaju korisnički orijentirana softverska sučelja (unos i uređivanje dokumenata, itd.) i relacijsku bazu podataka (DB) za pohranu i dohvaćanje informacija, koju danas predstavlja softver proizvoda kao što je MS SQL Server (SS).

    Imajte na umu da su podaci registrirani u bazi podataka ERP sustava zaista vrlo vrijedan resurs. Nije stvar samo u tome da registrirani podaci osiguravaju trenutni protok dokumenata u korporaciji (vađenje dokumenata, njihovo ispravljanje, mogućnost ispisa i usklađivanja itd.), a ne samo mogućnost obračuna financijska izvješća(porezi, revizija itd.). Sa stanovišta upravljanja puno je važnije da je OLTP sustav (relacijska baza podataka) zapravo stvarni digitalni model aktivnosti korporacije u prirodnoj veličini.

    Ali za upravljanje procesom nije dovoljno registrirati podatke o njemu. Proces treba predstaviti u obliku sustava numeričkih pokazatelja (KPI) koji karakteriziraju njegov napredak. Osim toga, prihvatljivi rasponi vrijednosti moraju biti definirani za indikatore. I samo ako vrijednost indikatora padne izvan dopuštenog intervala, treba slijediti kontrolna radnja.

    Što se tiče takve logike (ili mitologije) kontrole (“kontrole devijacijom”), oboje starogrčki filozof Platon, koji je stvorio sliku kormilara (cybernose), koji se oslanja na veslo kada čamac skrene s kursa, i američki matematičar Norbert Wiener, koji je stvorio znanost kibernetike na pragu računalne ere.

    Uz uobičajeni sustav za evidentiranje informacija OLTP metodom, potreban je još jedan sustav - sustav za analizu prikupljenih informacija. Ovaj dodatak, koji u kontrolnoj petlji ima ulogu povratne veze između menadžmenta i kontrolnog objekta, je OLAP sustav ili, ukratko, OLAP kocka.

    Kao softversku implementaciju OLAP-a, razmotrit ćemo uslužni program MS Analysis Services, koji je dio standardne isporuke MS SQL Servera, skraćeno SSAS. Imajte na umu da bi, prema planu E. Codda, OLAP kocka u analitici trebala dati istu sveobuhvatnu slobodu djelovanja koju pružaju OLTP sustav i relacijska baza podataka (SQL Server) u pohranjivanju i dohvaćanju informacija.

    OLAP logistika

    Pogledajmo sada konkretnu konfiguraciju vanjskih uređaja, aplikacijskih programa i tehnoloških operacija na kojima se temelji automatizirani rad OLAP kocke.

    Pretpostavit ćemo da korporacija koristi ERP sustav, na primjer, 1C7 ili 1C8, unutar kojeg se informacije bilježe kao i obično. Baza podataka ovog ERP sustava nalazi se na određenom poslužitelju i podržava je MS SQL Server.

    Također ćemo pretpostaviti da drugi poslužitelj ima instaliran softver, uključujući MS SQL Server s uslužnim programom MS Analysis Services (SSAS), kao i MS SQL Server Management Studio, MS C#, MS Excel i MS Visual Studio. Ovi programi zajedno čine potrebni kontekst: alate i potrebna sučelja za programere OLAP kocki.

    SSAS poslužitelj ima slobodno distribuiran program pod nazivom blat, koji se poziva (s parametrima) iz naredbeni redak i pružanje poštanskih usluga.

    Na radnim mjestima zaposlenika, unutar lokalna mreža, između ostalog, instalirani su MS Excel programi (verzije ne manje od 2003.) te, eventualno, poseban upravljački program koji osigurava rad MS Excela s MS Analysis Services (osim ako odgovarajući upravljački program nije već uključen u MS Excel).

    Definicije radi, pretpostavit ćemo da radne stanice zaposlenika imaju operacijski sustav Windows XP i na poslužiteljima - Windows poslužitelj 2008. Dodatno, neka se MS SQL Server 2005 koristi kao SQL Server, s Enterprise Edition (EE) ili Developer Edition (DE) instaliranim na poslužitelju s OLAP kockom. U ovim izdanjima moguće je koristiti tzv. “poluaditivne mjere”, tj. dodatne agregatne funkcije (statistike) osim uobičajenih zbrojeva (na primjer, ekstrem ili prosjek).

    Dizajn OLAP kocke (OLAP kubizam)

    Recimo nekoliko riječi o dizajnu same OLAP kocke. Jezikom statistike, OLAP kocka je skup pokazatelja performansi izračunatih u svim potrebnim odjeljcima, na primjer, indikator otpreme u odjeljcima po kupcima, po robi, po datumima itd. Zbog izravnog prijevoda s engleskog u ruskoj literaturi o OLAP kockama, indikatori se nazivaju "mjere", a odjeljci se nazivaju "dimenzije". Ovo je matematički točan, ali sintaktički i semantički ne baš uspješan prijevod. Ruske riječi "mjera", "dimenzija", "dimenzija" gotovo su iste u značenju i pisanju, dok su engleske "mjera" i "dimenzija" različite u pisanju i značenju. Stoga dajemo prednost tradicionalnim ruskim statističkim izrazima "pokazatelj" i "rez", koji su slični po značenju.

    Postoji nekoliko mogućnosti programske implementacije OLAP kocke u odnosu na OLTP sustav gdje se bilježe podaci. Razmotrit ćemo samo jednu shemu, najjednostavniju, najpouzdaniju i najbržu.

    U ovom dizajnu, OLAP i OLTP ne dijele tablice, a OLAP analitika izračunava se što je moguće detaljnije tijekom faze ažuriranja kocke (Proces), koja prethodi fazi upotrebe. Ova shema se zove MOLAP (Multidimensional OLAP). Njegovi nedostaci su asinkronija s ERP-om i visoki troškovi memorije.

    Iako se formalno OLAP kocka može izgraditi korištenjem svih (tisuća) tablica relacijske baze podataka ERP sustava kao izvora podataka i svih (stotina) njihovih polja kao indikatora ili odjeljaka, u stvarnosti to ne bi trebalo biti učinjeno. Obratno. Za učitavanje u kocku ispravnije je pripremiti zasebnu bazu podataka, nazvanu "izlog" ili "skladište".

    Na to nas tjera nekoliko razloga.

    • Prvo, vezanje OLAP kocke na tablice prava baza podaci sigurno će stvoriti tehničke probleme. Promjena podataka u tablici može pokrenuti osvježavanje kocke, a osvježavanje kocke nije nužno brz proces, tako da će kocka biti u stanju stalne ponovne izgradnje; Istovremeno, procedura ažuriranja kocke može blokirati (prilikom čitanja) podatke tablica baze podataka, usporavajući rad korisnika pri registraciji podataka u ERP sustavu.
    • Drugo, Previše indikatora i rezova dramatično će povećati prostor za pohranu kocke na poslužitelju. Ne zaboravimo da OLAP kocka ne pohranjuje samo izvorne podatke, kao u OLTP sustavu, već i sve pokazatelje zbrane po svim mogućim dijelovima (pa čak i svim kombinacijama svih odjeljaka). Osim toga, brzina ažuriranja kocke i, u konačnici, brzina izgradnje i ažuriranja analitike i korisničkih izvješća koja se temelje na njima će se sukladno tome usporiti.
    • Treći, previše polja (indikatora i odjeljaka) stvarat će probleme u OLAP developer sučelju, jer popisi elemenata postat će golemi.
    • četvrto, OLAP kocka je vrlo osjetljiva na povrede integriteta podataka. Kocka se ne može izgraditi ako se ključni podaci ne nalaze na poveznici navedenoj u strukturi veza polja kocke. Privremena ili trajna kršenja integriteta, prazna polja uobičajena su u bazi podataka ERP sustava, ali to apsolutno nije prikladno za OLAP.

    Također možete dodati da ERP sustav i OLAP kocka trebaju biti smješteni na različitim poslužiteljima kako bi podijelili opterećenje. No onda, ako postoje zajedničke tablice za OLAP i OLTP, javlja se i problem mrežnog prometa. Praktično nerješivi problemi nastaju u ovom slučaju kada je potrebno konsolidirati nekoliko različitih ERP sustava (1C7, 1C8, MS Dynamics AX) u jednu OLAP kocku.

    Vjerojatno možemo nastaviti gomilati tehničke probleme. Ali što je najvažnije, upamtite da, za razliku od OLTP-a, OLAP nije sredstvo za snimanje i pohranu podataka, već analitički alat. To znači da nema potrebe prenositi i preuzimati "prljave" podatke iz ERP-a u OLAP "za svaki slučaj". Naprotiv, prvo morate razviti koncept upravljanja tvrtkom, barem na razini KPI sustava, a zatim dizajnirati aplikacijsko skladište podataka (skladište), koje se nalazi na istom poslužitelju kao i OLAP kocka, a sadrži mali , pročišćena količina podataka iz ERP-a potrebnih za upravljanje.

    Bez promicanja loše navike, OLAP kocka u odnosu na OLTP može se usporediti s dobro poznatom "mirnom kockom", kroz koju se "čisti proizvod" izdvaja iz "fermentirane mase" stvarne registracije.

    Dakle, dobili smo da je izvor podataka za OLAP posebna baza podataka (skladište), koja se nalazi na istom poslužitelju kao i OLAP. Općenito to znači dvije stvari. Prvo, moraju postojati posebne procedure koje će kreirati skladište od ERP baza podataka. Drugo, OLAP kocka je asinkrona sa svojim ERP sustavima.

    Uzimajući u obzir gore navedeno, predlažemo sljedeću verziju arhitekture računalnog procesa.

    Arhitektura rješenja

    Pretpostavimo da postoji mnogo ERP sustava određene korporacije (holdinga) smještenih na različitim poslužiteljima, analitički podaci za koje bismo željeli da budu konsolidirani unutar jedne OLAP kocke. Ističemo da u opisanoj tehnologiji objedinjujemo podatke iz ERP sustava na razini skladišta, ostavljajući dizajn OLAP kocke nepromijenjen.

    Na OLAP serveru kreiramo slike (prazne kopije) baza podataka svih ovih ERP sustava. Povremeno (svake noći) izvodimo djelomičnu replikaciju odgovarajućih aktivnih ERP baza podataka na te prazne kopije.

    Zatim se pokreće SP (stored procedure) koji na istom OLAP poslužitelju bez mrežnog prometa, na temelju parcijalnih replika baza podataka ERP sustava, kreira (ili nadopunjuje) skladište (warehouse) - izvor podataka OLAP kocke.

    Zatim se pokreće standardna procedura za ažuriranje/izgradnju kocke na temelju skladišnih podataka (Operacija procesa u SSAS sučelju).

    Komentirajmo neke aspekte tehnologije. Kakvu vrstu posla rade SP-ovi?

    Kao rezultat djelomične replikacije, trenutni podaci pojavljuju se na slici nekog ERP sustava na OLAP poslužitelju. Usput, djelomična replikacija može se izvesti na dva načina.

    Prvo, iz svih tablica u bazi podataka ERP sustava, tijekom djelomične replikacije, kopiraju se samo one koje su potrebne za izgradnju skladišta. Ovo je kontrolirano fiksnim popisom naziva tablica.

    Drugo, djelomična replikacija također može značiti da se ne kopiraju sva polja tablice, već samo ona koja su uključena u izgradnju skladišta. Popis polja za kopiranje je naveden ili dinamički kreiran u SP-u na slici kopije (ako nisu sva polja inicijalno prisutna u kopiji tablice).

    Naravno, moguće je ne kopirati cijele retke tablice, već samo dodati nove zapise. Međutim, to stvara ozbiljne neugodnosti kada se ERP revizije obračunavaju "retroaktivno", što je često slučaj u stvarnim sustavima. Stoga je lakše, bez daljnjeg odlaganja, kopirati sve zapise (ili ažurirati "rep" počevši od određenog datuma).

    Zatim, glavni zadatak SP-a je pretvoriti podatke ERP sustava u skladišni format. Ako postoji samo jedan ERP sustav, tada se zadatak konverzije uglavnom svodi na kopiranje i eventualno preformatiranje potrebnih podataka. Ali ako trebate konsolidirati nekoliko ERP sustava u istoj OLAP kocki različite strukture, tada transformacije postaju kompliciranije.

    Zadatak objedinjavanja nekoliko različitih ERP sustava u kocku posebno je težak ako se skupovi njihovih objekata (imenici robe, izvođači, skladišta itd.) djelomično preklapaju, objekti imaju isto značenje, ali su prirodno različito opisani u imenicima. različitim sustavima(u smislu kodova, identifikatora, imena itd.).

    U stvarnosti, takva slika nastaje u velikom holdingu, kada nekoliko njegovih sastavnih autonomnih društava iste vrste obavljaju približno iste vrste djelatnosti na približno istom području, ali koriste vlastite i neusuglašene sustave registracije. U ovom slučaju, kada konsolidirate podatke na razini skladišta, ne možete bez pomoćnih tablica mapiranja.

    Obratimo malo pozornosti na arhitekturu skladištenja. Obično je shema OLAP kocke predstavljena u obliku "zvijezde", tj. kao podatkovna tablica okružena “zrakama” direktorija - tablice sekundarnih ključnih vrijednosti. Tablica je blok "indikatora", a referentne knjige su njihovi dijelovi. U ovom slučaju, imenik, pak, može biti proizvoljno neuravnoteženo stablo ili uravnotežena hijerarhija, na primjer, višerazinska klasifikacija robe ili izvođača. U OLAP kocki, numerička polja podatkovne tablice iz skladišta automatski postaju "indikatori" (ili mjere), a odjeljci (ili dimenzije) mogu se definirati pomoću tablica sekundarnih ključeva.

    Ovo je vizualni “pedagoški” opis. Zapravo, arhitektura OLAP kocke može biti mnogo složenija.

    Prvo, skladište se može sastojati od nekoliko "zvjezdica", koje su moguće povezane preko zajedničkih imenika. U ovom slučaju, OLAP kocka će biti unija nekoliko kocki (nekoliko podatkovnih blokova).

    Drugo, "zraka" zvjezdice može biti ne samo jedan direktorij, već cijeli (hijerarhijski) sustav datoteka.

    Treće, na temelju postojećih odjeljaka dimenzija, novi hijerarhijski odjeljci mogu se definirati pomoću alata OLAP razvojnog sučelja (recimo, s manje razina, s drugačijim redoslijedom razina, itd.)

    Četvrto, na temelju postojećih indikatora i odjeljaka, korištenjem MDX jezičnih izraza, mogu se definirati novi indikatori (izračuni). Važno je napomenuti da su nove kocke, novi indikatori, novi odjeljci automatski potpuno integrirani s izvornim elementima. Također treba napomenuti da loše formulirani izračuni i hijerarhijski odjeljci mogu značajno usporiti rad OLAP kocke.

    MS Excel kao sučelje s OLAP-om

    Posebno je zanimljivo korisničko sučelje s OLAP kockama. Naravno, najpotpunije sučelje pruža sam uslužni program SSAS. To uključuje alat za razvoj OLAP kocke, interaktivni dizajner izvješća i prozor za interaktivni rad s OLAP kockom pomoću upita u MDX jeziku.

    Osim samog SSAS-a, postoji mnogo programa koji pružaju sučelje za OLAP, pokrivajući njihovu funkcionalnost u većoj ili manjoj mjeri. Ali među njima postoji jedan, koji, po našem mišljenju, ima neporecive prednosti. Ovo je MS Excel.

    Sučelje s MS Excelom pruža poseban upravljački program, koji se može zasebno preuzeti ili je uključen u distribuciju programa Excel. Ne pokriva sve funkcionalnosti OLAP-a, ali s porastom broja verzija MS Excela, ta pokrivenost postaje sve šira (primjerice, u MS Excelu 2007 pojavljuje se grafički prikaz KPI-a, što nije bilo u MS Excelu 2003 itd. ).

    Naravno, uz njegovu prilično potpunu funkcionalnost, glavna prednost MS Excela je široka distribucija ovog programa i blisko poznavanje ogromnog broja uredskih korisnika. U tom smislu, za razliku od drugih programa za sučelja, tvrtka ne treba ništa dodatno kupovati niti treba ikoga dodatno obučavati.

    Velika prednost MS Excela kao sučelja s OLAP-om je mogućnost daljnje samostalne obrade podataka dobivenih u OLAP izvješću (tj. nastaviti proučavati podatke dobivene iz OLAP-a na drugim listovima istog Excela, ne koristeći više OLAP alate, već koristeći obične Excel alate).

    Facubi noćni ciklus tretmana

    Sada ćemo opisati dnevni (noćni) računski ciklus rada OLAP-a. Izračun se provodi pod kontrolom programa facubi, napisanog u C# 2005 i pokrenutog preko Task Scheduler-a na poslužitelju sa skladištem i SSAS-om. Na početku, facubi ide na Internet i čita trenutne tečajeve (koristi se za predstavljanje niza pokazatelja u valuti). Zatim izvršite sljedeće korake.

    Najprije facubi lansira SP-ove koji izvode djelomičnu replikaciju baza podataka različitih ERP sustava (elemenata držanja) dostupnih na lokalnoj mreži. Replikacija se vrši, kao što smo rekli, na unaprijed pripremljene “pozadine” – slike udaljenih ERP sustava koji se nalaze na SSAS poslužitelju.

    Drugo, putem SP-a vrši se preslikavanje iz ERP replika u skladište skladišta - poseban DB, koji je izvor podataka OLAP kocke i nalazi se na SSAS poslužitelju. U ovom slučaju rješavaju se tri glavna zadatka:

    • ERP podaci prilagođeni traženim formatima kocke; Govorimo i o tablicama i o poljima tablica. (Ponekad potrebnu tablicu treba "oblikovati", recimo, iz nekoliko MS Excel listova.) Slični podaci mogu imati različite formate u različitim ERP-ovima, na primjer, ključna ID polja u 1C7 imenicima imaju 36-znamenkasti kod znakova duljine 8 , i _idrref polja u imenicima 1S8 – heksadecimalni brojevi duljine 32;
    • tijekom obrade provodi se logička kontrola podataka (uključujući pisanje "zadanih vrijednosti" umjesto podataka koji nedostaju, gdje je to moguće) i kontrola cjelovitosti, tj. provjera prisutnosti primarnih i sekundarnih ključeva u odgovarajućim klasifikatorima;
    • konsolidacija koda objekti koji imaju isto značenje u različitim ERP-ovima. Na primjer, odgovarajući elementi imenika različitih ERP-ova mogu imati isto značenje, recimo, oni su ista druga strana. Problem konsolidacije kodova rješava se konstruiranjem tablica preslikavanja, gdje se različiti kodovi istih objekata dovode u jedinstvo.

    Treće, facubi pokreće standardnu ​​proceduru za ažuriranje podataka kocke procesa (iz procedura uslužnog programa SSAS).

    Na temelju popisa za provjeru facubi šalje e-poruke o tijeku koraka obrade.

    Nakon izvršavanja facubi, Task Scheduler pokreće nekoliko excel datoteka naizmjenično, u kojima su izvješća unaprijed kreirana na temelju indikatora OLAP kocke. Kao što smo rekli, MS Excel ima posebno softversko sučelje (zasebno preuzimanje ili ugrađeni upravljački program) za rad s OLAP kockama (sa SSAS-om). Kada pokrenete MS Excel, aktiviraju se MS VBA programi (kao što su makronaredbe) koji osiguravaju ažuriranje podataka u izvješćima; izvještaji se po potrebi modificiraju i šalju poštom (blat program) korisnicima prema kontrolnim listama.

    Korisnici lokalne mreže s pristupom SSAS poslužitelju primit će izvješća "uživo" konfigurirana za OLAP kocku. (U principu, oni sami, bez ikakve pošte, mogu ažurirati OLAP izvješća u MS Excelu koji se nalaze na njihovim lokalnim računalima.) Korisnici izvan lokalne mreže će ili dobiti izvorna izvješća, ali s ograničenom funkcionalnošću, ili za njih (nakon ažuriranja OLAP-a) izvješća u MS Excelu) izračunat će se posebna “mrtva” izvješća koja ne pristupaju SSAS poslužitelju.

    Evaluacija rezultata

    Gore smo govorili o asinkroniji OLTP-a i OLAP-a. U tehnološkoj varijanti koja se razmatra, ciklus ažuriranja OLAP kocke se izvodi noću (recimo, počinje u 1 sat ujutro). To znači da u tekućem radnom danu korisnici rade s jučerašnjim podacima. Budući da OLAP nije alat za snimanje (pogledajte posljednju reviziju dokumenta), već alat za upravljanje (razumijte trend procesa), takvo kašnjenje obično nije kritično. Međutim, ako je potrebno, čak iu opisanoj verziji kockaste arhitekture (MOLAP), ažuriranje se može provesti nekoliko puta dnevno.

    Vrijeme izvršenja procedura ažuriranja ovisi o značajkama dizajna OLAP kocke (veća ili manja složenost, više ili manje uspješne definicije indikatora i odjeljaka) i o volumenu baza podataka vanjskih OLTP sustava. Prema iskustvu, procedura izgradnje skladišta traje od nekoliko minuta do dva sata, procedura ažuriranja kocke (Proces) traje od 1 do 20 minuta. Govorimo o složenim OLAP kockama koje ujedinjuju desetke zvjezdastih struktura, desetke zajedničkih "zraka" (referentnih odjeljaka) za njih i stotine indikatora. Procjenjujući obujam baza podataka vanjskih ERP sustava na temelju otpremnih dokumenata, govorimo o stotinama tisuća dokumenata i, sukladno tome, milijunima linija proizvoda godišnje. Povijesna dubina obrade od interesa za korisnika bila je tri do pet godina.

    Opisana tehnologija korištena je u nizu velikih korporacija: od 2008. u Russian Fish Company (RRK) i Russian Sea company (RM), od 2012. u tvrtki Santa Bremor (SB). Neke su korporacije prvenstveno tvrtke za trgovinu i nabavu (PPC), druge su proizvodne tvrtke (pogoni za preradu ribe i plodova mora u Republici Moldaviji i Republici Bjelorusiji). Sve korporacije su veliki holdingi, koji ujedinjuju nekoliko tvrtki sa neovisnim i različitim računalnim računovodstvenim sustavima - u rasponu od standardnih ERP sustava kao što su 1C7 i 1C8 do "reliktnih" računovodstvenih sustava temeljenih na DBF-u i Excelu. Dodat ću da opisana tehnologija rada OLAP kocki (bez uzimanja u obzir faze razvoja) ili uopće ne zahtijeva posebne zaposlenike, ili je odgovornost jednog stalno zaposlenog poslovnog analitičara. Zadatak se već godinama izvršava automatski, pružajući svakodnevno ažurna izvješća različitim kategorijama zaposlenika poduzeća.

    Prednosti i mane rješenja

    Iskustvo pokazuje da je predloženo rješenje prilično pouzdano i jednostavno za korištenje. Lako se mijenja (spajanje/isključivanje novih ERP-ova, kreiranje novih indikatora i odjeljaka, kreiranje i modificiranje Excel izvješća i njihovih mailing lista) uz nepromjenjivost facubi kontrolnog programa.

    MS Excel kao sučelje s OLAP-om pruža dovoljnu izražajnost i omogućava različitim kategorijama uredskih zaposlenika brzo upoznavanje s OLAP tehnologijom. Korisnik prima dnevna "standardna" OLAP izvješća; korištenjem MS Excel sučelja s OLAP-om može samostalno kreirati OLAP izvještaje u MS Excelu. Osim toga, korisnik može samostalno nastaviti proučavati informacije OLAP izvješća koristeći uobičajene mogućnosti svog MS Excela.

    „Rafinirana“ skladišna baza podataka, u kojoj je nekoliko heterogenih ERP sustava konsolidirano (tijekom izgradnje kocke), čak i bez ikakvog OLAP-a, omogućuje rješavanje (na SSAS poslužitelju, korištenjem metode upita u Transact SQL ili SP metode) , itd.) mnogi primijenjeni problemi upravljanja. Podsjetimo, struktura baze podataka skladišta je unificirana i puno jednostavnija (u smislu broja tablica i broja polja tablice) od strukture baze podataka izvornog ERP-a.

    Posebno ističemo da u našem predloženom rješenju postoji mogućnost objedinjavanja različitih ERP sustava u jednu OLAP kocku. To vam omogućuje da dobijete analitiku za cijeli holding i održite dugoročni kontinuitet u analitici kada se korporacija preseli na drugi računovodstveni ERP sustav, recimo, kada pređete sa 1C7 na 1C8.

    Koristili smo model kocke MOLAP. Prednosti ovog modela su pouzdanost u radu i velika brzina obrade zahtjeva korisnika. Nedostaci: OLAP i OLTP su asinkroni, kao i velike količine memorije za pohranu OLAP-a.

    Zaključno, evo još jednog argumenta u korist OLAP-a koji je možda bio prikladniji u srednjem vijeku. Jer njegova dokazna snaga počiva na autoritetu. Skromni, očito podcijenjeni britanski matematičar E. Codd razvio je teoriju relacijskih baza podataka u kasnim 60-ima. Snaga ove teorije bila je tolika da je sada, nakon 50 godina, već teško pronaći nerelacijsku bazu podataka i upitni jezik baze podataka osim SQL-a.

    OLTP tehnologija, temeljena na teoriji relacijskih baza podataka, bila je prva ideja E. Codda. Zapravo, koncept OLAP kocki njegova je druga ideja koju je izrazio ranih 90-ih. Čak i ako niste matematičar, možete očekivati ​​da će druga ideja biti jednako učinkovita kao i prva. Odnosno, u smislu računalne analitike, OLAP ideje će uskoro preuzeti svijet i istisnuti sve ostale. Jednostavno zato što tema analitike nalazi svoje sveobuhvatno matematičko rješenje u OLAP-u, a to je rješenje „adekvatno“ (pojam B. Spinoze) praktičnom problemu analitike. “Adekvatno” znači kod Spinoze da sam Bog nije mogao smisliti ništa bolje...

    1. Larson B. Razvoj poslovne analitike u Microsoft SQL Server 2005. – St. Petersburg: “Peter”, 2008.
    2. Codd E. Relational Completeness of Data Base Sublanguages, Data Base Systems, Courant Computer Science Sumposia Series 1972, v. 6, Englwood cliffs, N.Y., Prentice – Hall.

    U kontaktu s