17.10.2016

Louhia Pro: Kuinka piilottaa kokonainen dimensio SSAS-kuutiossa?

Vaikka SSAS-kuutioiden käyttöoikeudet mahdollistavat melkein kaikki mahdolliset kombinaatiot, mitä vaativammallakin asiakkalla voi mieleen juolahtaa, on dimension tai attribuutin piilottaminen kokonaisuudessaan käyttöoikeuksilla mahdotonta.

Esimerkiksi kuutiossa on mahdollista:

Mutta, käyttäjiltä ei siis pysty piilottamaan esimerkiksi tietoa siitä, että joku muu saa dataa ulos tarkemmalla tasolla. Harvemminhan tämä on tarpeellista, mutta pari kertaa on tullut tällainenkin tarve eteen. Piilottamiseen on olemassa workaround, joka ei ainakaan itselläni tullut ihan heti mieleen. Sen voi nimittäin toteuttaa kuution Linked Object:eja käyttämällä.

Steb-by-step:

Skenaaario, jossa osa osastoista ei saa nähdä, että myyjätasoinen data on olemassa kuutiossa.

1.Luodaan minuutissa peruskuutio, jossa on ‘kaikki’ dimensiot käytössä. Käytetään tässä erimerkissä hmm… persoonallisesti mallinnettua, vanhaa ja tuttua Microsoftin AdventureWorks DW:tä pohjana.

peruskuutio
 

 

 

2. Luodaan tyhjä kuutio (Create Empty Cube) projektipäälliköille (ProjectSales). Projektipäälliköt eivät saa nähdä myyjäkohtaisia myyntejä.

uusikuutio

 

 

 

 

3. Avaa tämä uusi kuutio. Valitse oikalla napilla ‘New Linked Object’-wizard. Valitaan nykyisestä kuutiosta kaikki measuret. Näiden mukana pöllähtää mukana myös kaikki liittyvät dimensiot.

linkedobject

 

 

 

 

 

 

 

4. Nyt on siis käsissä uusi kuutio, joka sisältää vain linkit alkuperäiseen kuutioon. Poistetaan siitä Employee-dimensio

removeemployee

 

 

 

 

 

5. Seuraavaksi voidaan käyttöoikeuksilla säätää kuutioihin pääsy. Nyt on käsissä siis peruskuutio – sekä projektimyyntikuutio, josta ei edes näe, että myyjätasolle on mahdollista päästä.

excel

 

 

 

 

 

Harvemmin on oikeasti tarvetta piilottaa koko dimensio, mutta jos tulee tarvetta, linkatut objektit ovat ainut järkevä tapa toteutukseen. Toinen tapa on tehdä peruskuutiosta kopioita – mutta silloin haukataan levytilaa, kadotetaan kuutioiden prosessointiaikaa, sekä duplikoidaan logiikkaa. Linkattujen objektien ansioista kun peruskuutio on prosessoitu, on linkkikuutiokin ajan tasalla.

Toisaalta tässä on olemassa sellainen ‘hauska ominaisuus’, että muutokset eivät automaattisesti periydy eteenpäin. Eli jos muutat peruskuution rakennetta, on linkkikuutio käytännössä tehtävä uusiksi. Tai ainakin muutettu measure group poistettava ja lisättävä takaisin. Se ei onneksi ole kummoinenkaan tehtävä. Paitsi jos muut käyttöoikeusasetukset ovat monimutkaisia… periytymisongelman takia ei näitä linkattujen objektien kuutiossa ei oikein muuta logiikkaa kannata ollakaan.

https://msdn.microsoft.com/en-us/library/ms174899.aspx

Lisensoinnin kannalta linkatut objektit toimivat std-SQL Serverissä, jos kuutiot ovat saman SSAS-kannan sisällä. Toisen projektin/kannan kautta tarvitaan Enterprise-lisenssi.

Share
Contact Person

Blog writer

Jani Liimatta

Vincit Bilot

Bilot & Vincit have joined forces!

See where the story continues 

You have Successfully Subscribed!

Vincit Bilot

Bilot & Vincit have joined forces!

See where the story continues 

You have Successfully Subscribed!