sqlshack

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.

  1. kun tarkastellaan tiettyä arvoa (kohdetta) määrätystä sarakkeesta ja ei-tyhjää funktiota

    MDX: llä, on mahdollista nähdä yksittäinen arvo sarakkeesta Taulukkomallitietokannassa:

    1
    2
    3
    4
    5

    valitse
    {{..}.Kohde (53)} jäsenen 0
    alk.

    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:

    1
    2
    3
    4
    5
    6

    valitse
    ei tyhjä
    {.} sarakkeissa
    alk.

  2. Tuple-funktio

    Tuple on määritelty tietojoukko, joka koostuu kahdesta tai useammasta dimension jäsenestä (tässä tapauksessa kaksi arvoa Vuosisarakkeesta).

    1
    2
    3
    4
    5

    valitse {.. : ..} riveillä,
    {.} sarakkeissa
    alk.

    huomaa määritetyt arvot Vuosisarakkeesta, joka tekee vuosien vaihteluvälin, ja vastaavat arvot Internetin Kokonaismarginaalista kyselyn tuloksessa.

  3. 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.

    1
    2
    3
    4
    5

    valitse . 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ä:

    1
    2
    3
    4
    5
    6

    valitse
    {..} 0,
    {..lapset} 1
    alk.

    huomautus: tässä lausekkeessa 0 tarkoittaa sarakkeita ja 1 tarkoittaa rivien akselia.

    tässä on vielä yksi jäsenilmaisua käyttävä esimerkki

    1
    2
    3
    4
    5

    valitse . sarakkeissa
    ..jäsenet riveillä
    alk.

  4. missä lauseke

    lisäys missä-lausekkeeseen on yksi tapa suodattaa tiettyjä tietoja taulukosta, ja se on samanlainen kuin missä lauseke T-SQL:

    1
    2
    3
    4
    5
    6
    7

    valitse
    {..} sarakkeissa,
    {..} riveillä
    from
    where {..}

    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.

  5. 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:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15

    jäsenen kanssa . kuten
    asia .
    kun 69712,49 sitten ”suuri”
    kun 1045,6 sitten ”huono”
    else ”(normaali) ”
    loppu
    valitse
    {.
    , .
    } 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 Tikvicki
Daniel on kirjastonhoitaja, joka törmäsi IT-maailman pyörteeseen, jossa hän levitoi ja oppii jatkuvasti. Hän pitää kirjoista, pelkästään kaikenlaisesta taiteellisesta ilmaisusta (on itse muusikko/runoilija), ja hän on underground-Kustantaja (fanzines ja kokeellinen musiikki). Kiinnostuksen kohteita ovat myös teologia, mytologia ja näennäistiede.
Daniel työskentelee tällä hetkellä ApexSQL LLC: lle ohjelmistomyynnin insinöörinä, jossa hän on erikoistunut BI-ympäristöön.

Daniel Tikvicki
Daniel Tikvicki (Näytä kaikki)
  • 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

Write a Comment

Sähköpostiosoitettasi ei julkaista.