tietojen noutaminen Taulukkotietokannasta on helppoa-kyselet vain sitä joillakin DAX-perustoiminnoilla! Tässä artikkelissa, opimme kysely Taulukkomalli joitakin MDX lausekkeita, tutkia tuloksia DAX kyselyt ja analysoida tietoja taulukoista.
vaatimukset
MDX: n kyselyedellytykset ovat SQL Server Management Studio 2014 tai uudempi, jossa on asennettu SSAS-Taulukkomallitietokanta ja käytössä SSAS-Taulukkomallitietokanta.
ympäristön valmistelu
SSAS: n Taulukkomallitietokannan kyseleminen MDX: llä tapahtuu SQL Server Management studiossa, MDX-kyselyikkunassa.
moniulotteiset lausekkeet (MDX) yleiskatsaus
MDX on ilmaisukieli, joka voi kysellä ja analysoida moniulotteista dataa OLAP-kuutioissa (kuten SSAS moniulotteiset mallitietokannat, esim. Vaikka se on ensisijaisesti suunniteltu moniulotteisen mallitietokannan kyselyyn, se voi myös kysellä Taulukkomallitietokantaa. Toisaalta DAX-funktiot eivät voi kysellä moniulotteisia mallitietokantoja, koska Dax-kyselyn lausekkeet ovat erityisiä Taulukkomallitietokannoille.
rakenteellisesti MDX sisältää xmla-määritetyn syntaksin. Koska se muistuttaa T-SQL: ää, esiintyy joitakin DDL: n lausekkeita, jotka voivat hallita ja järjestää moniulotteisia tietorakenteita. Tämä koskee vain SSAS: n moniulotteisia mallitietokantoja.
kompleksisuuden osalta MDX-lausekkeiden päätyypit ovat: vakio(numeerinen, merkkijono jne.), skalaari ja olioorientoitunut. Nämä tyypit yhdistyvät kompleksisiksi lausekkeiksi, jotka vastaavat lausekkeita ja MDX-funktioita.
kun puhutaan SSAS-Taulukkomallitietokannan kyselystä, tässä artikkelissa olevat lausekkeet yhdistetään skalaariksi / vakiotyypiksi, yksinkertaisina kuution lausekkeina. Nämä lausekkeet hakevat tietoja vain Taulukkokuutiosta, näyttävät tulokset sarakkeissa, tilaavat tiedot ja valmistelevat ne tarkempaa analysointia varten.
tiedustellaan SSAS-Taulukkomallitietokantaa MDX: llä
useimpien MDX-kyselyjen alussa on SELECT statement, jonka jälkeen seuraa FROM-statement. Se on hyvin samankaltainen T-SQL: n (toisin kuin Evaluate lausuma DAX):
1
2
3
|
valitse kohteesta
|
tämä kysely on yksinkertaisin, ja se palauttaa arvon 1 (”true”). Se tarkoittaa, että AW Taulukkotietokanta on läsnä.
taulukon tuotenimen valitseminen Tuotetaulukosta, valitse lauseke T-SQL näyttää tältä:
1
2
3
|
valitse dbo.Tuotteen nimi tuotteesta
|
vastaava lausuma kirjoitettu MDX, olisi loogisesti:
1
2
3
4
5
|
valitse
{..}
alk.
|
huomaa henkselit {}, jotka ovat operaattoreita kuten suluissa DAX. Ne liittävät lausunnot ja tekevät mahdolliseksi lisätä monimutkaisuutta kyselyn kirjallisesti. MDX-kyselyt ovat DAX-kyselyjen tapaan kirjainlyhenteisiä.
tämä kysely noutaisi Tuotteen nimisarakkeen ja Tuotetaulukon AW-Taulukkokuutiosta, mutta yhden sarakkeen näyttämisen sijaan se aiheuttaa suoritusvirheen:
tärkein syy on tyyppi tietokantamalli ja syntaksi: Moniulotteisilla ja Taulukkomallitietokannoilla on molemmat ulottuvuudet, ratkaisevana käsitteenä, mutta MDX tunnistaa syntaksissaan sarakkeet, rivit ja muut elementit (moniulotteisille tietokannoille ominaiset) akseleiksi kyselyssä – kuvittele ne x -, y -, z-akseleiksi 3D-kuutiomallissa.
tiedusteltaessa SSAS-Taulukkomallitietokantaa MDX: n on tunnistettava vähintään kaksi akselia: sarakkeet ja rivit, jotta tiedot näkyvät oikein:
1
2
3
4
5
6
|
valitse
{..} sarakkeissa,
{..} riveillä
alkavalta
|
nyt asetamme akselit kyselyssä, ja sen tulos näyttää:
kuten voidaan nähdä, kaikki Tuotteen nimi-sarakkeen arvot näkyvät tulos-sarakkeissa, ja rivit osoittavat vastaavat Vuodet (tilivuosi-sarakkeessa) ja kappalemäärä (tässä tapauksessa polkupyörän osat). Siksi kolmen akselin sijasta MDX-kyselyssä SSAS-Taulukkomallitietokantaa tiedusteltaessa vain kaksi akselia riittää tietojen hakemiseen.
tämä esimerkki kysyy samaa taulukkoa molempien akselien sisällä:
1
2
3
4
5
6
|
valitse
{..} sarakkeissa,
{..} riveillä
alkavalta
|
kyselyn tulos näyttää:
arvo ” 1 ”tarkoittaa tässä tapauksessa” totta”, ja arvo” (null) ” tarkoittaa, että vakiokustannussarakkeessa ei ole asiaan liittyviä tietoja.
-
kun tarkastellaan tiettyä arvoa (kohdetta) määrätystä sarakkeesta ja ei-tyhjää funktiota
MDX: llä, on mahdollista nähdä yksittäinen arvo sarakkeesta Taulukkomallitietokannassa:
12345valitse{{..}.Kohde (53)} jäsenen 0alk.tässä esimerkissä tulos näyttää 53.kohteen (satunnainen poimittu) Mallinimisarakkeesta. Huomaa määritelty akseli ”on 0″ – sen sijaan, että määritellään” sarakkeet ”(näemme lisää esimerkkejä) tai” rivit”, että yksittäinen arvo on sijoitettu alkuperäisen alussa taulukon näkymä kyselyn tulos.
sisältäen muun kuin tyhjän funktion, yksittäisen lasketun arvon tietystä mittauksesta (Internet Total Sales) näytöt:
123456valitseei tyhjä{.} sarakkeissaalk. -
Tuple-funktio
Tuple on määritelty tietojoukko, joka koostuu kahdesta tai useammasta dimension jäsenestä (tässä tapauksessa kaksi arvoa Vuosisarakkeesta).
12345valitse {.. : ..} riveillä,{.} sarakkeissaalk.huomaa määritetyt arvot Vuosisarakkeesta, joka tekee vuosien vaihteluvälin, ja vastaavat arvot Internetin Kokonaismarginaalista kyselyn tuloksessa.
-
lapset ja JÄSENILMAISU
tässä lausekkeessa esitetään tietojoukko, joka liittyy tiettyihin sarakkeisiin tai mittoihin. Yleensä nämä arvomaailmat esiintyvät lapsina tai jäseninä, ja se liittyy hierarkiaan. Ne on järjestetty hierarkkisesti kyselyn tuloksessa.
12345valitse . SARAKKEISSA..Lapset riveilläalk.tässä tapauksessa Internetin Kokonaisrahtimitta perustuu laskelmaan Rahtisarakkeen kanssa, ja siten ne voivat yhdistää.
huomaa, että kyselyssä ei ole henkseleitä, mutta kysely on silti voimassa ilman niitä.
jos haluat näyttää vain arvot halutusta, lapset-ilmaisulla varustetusta sarakkeesta, käytä tätä kyselyä:
123456valitse{..} 0,{..lapset} 1alk.huomautus: tässä lausekkeessa 0 tarkoittaa sarakkeita ja 1 tarkoittaa rivien akselia.
tässä on vielä yksi jäsenilmaisua käyttävä esimerkki
12345valitse . sarakkeissa..jäsenet riveilläalk. -
missä lauseke
lisäys missä-lausekkeeseen on yksi tapa suodattaa tiettyjä tietoja taulukosta, ja se on samanlainen kuin missä lauseke T-SQL:
1234567valitse{..} sarakkeissa,{..} riveilläfromwhere {..}arvo maa – alueen nimisarakkeesta ”Ranska” liittyy sarakkeeseen Kaupunki maantieteellisessä taulukossa, ja kysely sisältyy tulokseen vain kaupungit Ranskasta.
WHERE-lauseke on itse asiassa slicer-akseli, joka tuo lisäulottuvuuden sekä moniulotteisiin että Taulukkomallitietokantoihin.
-
TAPAUSLAUSEKE
tämä lauseke on alkuaineiden loogiseen järjestykseen perustuva vertailu, joka palauttaa kyselytuloksen.
tässä esimerkissä Luo uusi mitta nimeltä Sales Amount Overview, joka vastaa Internet Total Sales measure-mittarista määriteltyjä arvoja:
123456789101112131415jäsenen kanssa . kutenasia .kun 69712,49 sitten ”suuri”kun 1045,6 sitten ”huono”else ”(normaali) ”loppuvalitse{., .} sarakkeissa,{..jäsenet} riveilläalk.
toivottavasti nautit tämän artikkelin, ja onnellinen kyselyssä SSAS Taulukkomalli tietokanta MDX!
- käyttäen kuutio-ja Subcube-lausekkeita
- MDX Language Reference (MDX)
- MDX Query Fundamentals (analysointipalvelut)
- tekijä
- tuoreita viestejä
Daniel työskentelee tällä hetkellä ApexSQL LLC: lle ohjelmistomyynnin insinöörinä, jossa hän on erikoistunut BI-ympäristöön.
- miten seurata SQL Server tempdb-tietokantaa-6. heinäkuuta 2017
- miten seurata SQL Server-indeksien kokoa-12. kesäkuuta 2017
- miten asettaa ja käyttää salattuja SQL Server-yhteyksiä-Toukokuu 8, 2017