SQL Tips: DMV-kyselyt kuutioiden dokumentointiin

Teemu Salonen
Teemu Salonen
29.8.2019

Useasti tulee tarve dokumentoida kuution mittarit ja dimensiot. Tämä vinkki helpottaa näiden asioiden dokumentointia, eikä niitä tarvitse käsin kerätä tiedostoon.

Tähän on olemassa niin sanotut DMV-kyselyt (SSAS Dynamic Management Views), joiden avulla kuutioiden metadataa pystytään louhimaan. Nämä kyselyt toimivat niin OLAP-kuutioiden kuin Tabulaaristenkin kuutioiden kanssa. Esittelen tässä nyt vain kuitenkin useimmin tarvitut kyselyt. Täydellisen listan komennoista saa täältä.

Avataan SSMS ja Analysis Services -yhteys palvelimelle.

Tällä kertaa esimerkkinä Adventure Works OLAP-kuutio.

Hiiren oikealla korvalla Adventure Works -tietokannan päältä New Query ja sieltä valitaan MDX. Kirjoitetaan MDX-kysely:

SELECT [CATALOG_NAME], [CUBE_NAME], [LAST_DATA_UPDATE], [CUBE_CAPTION], [BASE_CUBE_NAME] 
FROM $SYSTEM.MDSCHEMA_CUBES 
WHERE CUBE_SOURCE=1 

Haun tuloksesta nähdään kuutiot ja perspektiivit valitusta kannasta. Varsinaisissa kuutioissa BASE_CUBE_NAME-kenttä on tyhjä.

Tarkastellaan tarkemmin Adventure Works -kuution mittareita MDX-kyselyllä:

SELECT [CATALOG_NAME], [CUBE_NAME], [MEASUREGROUP_NAME], [MEASURE_CAPTION], [MEASURE_IS_VISIBLE] 
FROM $SYSTEM.MDSCHEMA_MEASURES 
WHERE [CUBE_NAME] = 'Adventure Works' 
ORDER BY [MEASUREGROUP_NAME] 

Haun tuloksesta nähdään kaikki mittariryhmät ja niiden alla olevat mittarit sekä myös sen ovatko mittarit näkyvissä käyttäjille.

Jos kuutioon on rakennettu KPI-mittareita, ne voidaan hakea MDX-kyselyllä:

SELECT [CATALOG_NAME], [CUBE_NAME], [KPI_CAPTION] 
FROM $SYSTEM.MDSCHEMA_KPIS 
WHERE [CUBE_NAME] = 'Adventure Works' 
ORDER BY [KPI_CAPTION] 

Tarkastellaan tarkemmin Adventure Works -kuution dimensioita MDX-kyselyllä:

SELECT [CATALOG_NAME], [CUBE_NAME], [DIMENSION_UNIQUE_NAME], 
[HIERARCHY_CAPTION], [HIERARCHY_IS_VISIBLE] 
FROM $SYSTEM.MDSCHEMA_HIERARCHIES 
WHERE [CUBE_NAME] = 'Adventure Works' 
AND HIERARCHY_ORIGIN = 2 
ORDER BY [DIMENSION_UNIQUE_NAME] 

Haun tuloksesta nähdään kaikki dimensiot sekä myös sen ovatko ne näkyvissä käyttäjille. Kysely näyttää myös hierarkioiden alla olevat attribuutit.

phoneenvelopelocation-arrow linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram