24.09.2014

Onko raportointikuutiosi pyyhkäisty vasemmalla kädellä?

Tunnistatko raportointiympäristössäsi seuraavia ongelmia?

Muutama vinkki josta voi tarkistaa, voisiko omasta Microsoft-raportointikuutioostasi saada irti pienellä kehityspanostuksella paljon lisää. Esimerkeissä olevan Microsoftin AdventureWorks-demokuution voit ladata tarvittaessa  Codeplex:istä, http://msftdbprodsamples.codeplex.com/releases/view/55330. AdventureWorks-demokuutiokaan ei ole käytettävyydeltään paras mahdollinen, erityisesti sen aika/kalenterikäsittely kaipaisi parannuksia.

1. Avaa tuotantokuutio SQL Server Data Tools:illa (Business Intelligence Development Studio aiemmin).  File/Open/Analysis Services Database

2. Measures/Cubes. Ilmeisesti Wizard-tyyppinen lähestymistapa tuottaa joka osa-alueesta oman kuutionsa. Miten silloin vertaat esim. tilauskannan ja laskutuksen kehityksen suhdetta? Excelissä joudut vaihtamaan kuutiota jos haluat verrata asioita keskenään. Jos suorituskykyä haetaan, se kannattaa tehdä partitioilla. Siitä alla lisää. Mutta jos faktoja yhdistää edes yksi dimensio (vaikka tuote), kannattaa ne ehdottomasti pitää saman kuution sisällä. Vain silloin eri tapahtutumalajien kehitystä voi verrata keskenään. Eihän budjettiakaan tarkastella ilman myyntiä.

Tässähän voi olla taustalla sellainenkin ongelma että tieto itsessään on siiloutunut. Onko joka asialla oma tietovarastonsa? Jos on niin miksi? Onko siitä enemmän haittaa kuin hyötyä?

Yhdessä AdventureWorks-kuutiossa on monta Measure Grouppia

3. Calculations. Muutama rivi yksinkertaista MDX:ää helpottaa huomattavasti raportointia.  Jotta kuutio olisi helppo käyttää raportoinnissa, täällä kannattaisi vähintäänkin olla valmiina laskennallisina jäseninä Edellisen vuoden myynti, Muutos verrattuna edelliseen vuoteen jne. Lisäksi on erittäin järkevää lisätä valmiiksi dynaamisiksi seteiksi kalenterista edelliset 6kk sekä edelliset 12kk. Tai kuten alla, vaikka negatiivisen katteen tuotteet, jos tarpeellista. SSAS-kuution aikakäsittely on hieman puutteellinen verrattuna esim. Cognoksen vastaavaan. Siksi moni asia on ratkaistava laskennallisina jäseninä – jotta kuution käyttö on mahdollisimman jouhevaa.

Kuutiossa on paljon valmiiksi laskettuja mittareita sekä settejä

4. Partitiot. Partitioilla tuodaan suorituskykyä raportointiin hyvin helposti. Kuution käyttäminen on nopeampaa kun data on pilkottu pienempiin palasiin. Esimerkiksi – jos käytetään SQL Server Std-versiota, voidaan tehdä dynaamiset partitiot 3 kpl (std-lisenssi ei salli enempää partitoita per Measure Group) historiadatalle, edelliselle vuodella ja kuluvalle vuodelle. Koska tätä ja edellistä vuotta raportoidaan eniten, kannattaa nillä olla omat partitionsa. Tällöin myös kuution prosessointi on hurjan paljon nopeampaa- kun voidaan prosessoida vain kuluvan vuoden partitio. Ilman partitointia jodutaan prosessoimaan aina koko kuutio – eli käymään koko tapahtumahistoria läpi.

Tässä kuutiossa data on partitioitu

5. Aggregoinnit. Aggregointien lisääminen parantaa kuution suorituskykyä käytännössä ilmaiseksi. Pelkän wizardin käytölläkin saa jo hyviä tuloksia, tämä vie aikaa pari minuuttia. Kumma kyllä, tämäkin on monessa kuutiossa jätetty tekemättä.

Measure Gruopien taakse on määritelty aggregointeja

Share
Contact Person

Blog writer

Jani Liimatta