SQLShack

információk lekérése táblázatos adatbázis egyszerű-csak lekérdezni néhány alapvető DAX funkciókat! Ebben a cikkben megtanuljuk, hogyan lehet lekérdezni egy táblázatos modellt néhány MDX kifejezéssel, megvizsgálni a DAX lekérdezés eredményeit és elemezni a táblázatok adatait.

követelmények

az MDX-sel történő lekérdezés előfeltételei az SQL Server Management Studio 2014 vagy újabb verzió, telepített SSAS táblázatos példánnyal és telepített SSAS táblázatos modelladatbázissal.

környezet előkészítése

az SSAS táblázatos modelladatbázis lekérdezése MDX-vel az SQL Server Management Studio-ban, az MDX lekérdezési ablakban történik.

multidimenzionális kifejezések (MDX) áttekintés

az MDX olyan kifejezési nyelv, amely OLAP kockákban képes többdimenziós adatok lekérdezésére és elemzésére (például SSAS többdimenziós modelladatbázisok, pl.). Bár elsősorban többdimenziós modelladatbázis lekérdezésére tervezték, lekérdezhet egy táblázatos modelladatbázist is. Másrészt a DAX függvények nem tudnak többdimenziós modelladatbázisokat lekérdezni, mert a DAX lekérdezési kifejezések a táblázatos modelladatbázisokra jellemzőek.

szerkezetileg az MDX magában foglalja az XMLA által meghatározott szintaxist. Mivel hasonló a T-SQL-hez, néhány DDL utasítás létezik, amelyek többdimenziós adatkonstrukciókat kezelhetnek és szervezhetnek. Ez csak az SSAS többdimenziós modelladatbázisokra vonatkozik.

a komplexitás tekintetében az MDX kifejezések fő típusai a következők: állandó (numerikus, karakterlánc stb.), skalár és objektum-orientált. Ezek a típusok összetett kifejezésekké egyesülnek, amelyek megfelelnek az utasításoknak és az MDX függvényeknek.

amikor egy SSAS táblázatos modelladatbázis lekérdezéséről beszélünk, a cikkben szereplő kifejezések kombinált skalár/állandó típusúak, mint egyszerű kocka kifejezések. Ezek a kifejezések csak táblázatos kockákból nyerik ki az adatokat, az eredményeket oszlop(ok) ban jelenítik meg, megrendelik az adatokat, és előkészítik azokat további elemzésre.

lekérdezése SSAS táblázatos modell adatbázis MDX

elején a legtöbb MDX lekérdezések SELECT utasítás, majd egy FROM utasítás. Nagyon hasonlít a T-SQL-hez (szemben a DAX értékelő utasításával):

1
2
3

válasszon

ez a lekérdezés a legegyszerűbb, és 1 értéket ad vissza (“true”). Ez azt jelenti, hogy AW táblázatos adatbázis van jelen.

a táblázat Terméknév kiválasztása a Terméktáblából, SELECT utasítás A T-SQL-ben így néz ki:

1
2
3

válassza a dbo lehetőséget.Terméknév a termékből

az MDX-ben írt megfelelő állítás logikusan:

1
2
3
4
5

válassza a
{lehetőséget..}
tól től

figyelje meg a zárójeleket {}, amelyek olyan operátorok, mint a zárójel a DAX-ban. Csatolják a nyilatkozatokat, és lehetővé teszik a komplexitás hozzáadását a lekérdezésírásban. Az MDX lekérdezések a DAX lekérdezésekhez hasonlóan nagybetűk érzéketlenek.

ez a lekérdezés lekérné a terméknév oszlopot és a Terméktáblát az AW táblázatos kockájából, de az egyetlen oszlop megjelenítése helyett végrehajtási hibát vet fel:

ennek fő oka az adatbázis modell típusa és a szintaxis: A többdimenziós és táblázatos modelladatbázisok dimenziókkal rendelkeznek, mint döntő fogalom, de az MDX szintaxisában az oszlopokat, sorokat és egyéb elemeket (a többdimenziós adatbázisokra jellemző) tengelyekként ismeri fel a lekérdezésben – képzelje el őket, mint x, y, z tengelyeket egy 3d kocka modellen.

SSAS táblázatos modelladatbázis lekérdezésekor az MDX-nek legalább két tengelyt fel kell ismernie: oszlopokat és sorokat az adatok megfelelő megjelenítéséhez:

1
2
3
4
5
6

válassza a
{lehetőséget..} oszlopokon,
{..}
sorokon tól től

most beállítjuk a tengelyeket a lekérdezésben, amelynek eredménye megmutatja:

mint látható, a terméknév oszlop összes értéke az eredmény oszlopain jelenik meg, a sorok pedig a megfelelő éveket (a pénzügyi év oszlopban) és a tételek számát (ebben az esetben a kerékpáralkatrészeket) mutatják. Ezért az MDX lekérdezés három tengelye helyett az SSAS táblázatos modelladatbázis lekérdezésekor csak két tengely elegendő az adatok lekéréséhez.

ez a példa ugyanazt a táblázatot lekérdezi mindkét tengelyen belül:

1
2
3
4
5
6

válassza a
{lehetőséget..} oszlopokon,
{..}
sorokon tól től

a lekérdezés eredménye megmutatja:

az ” 1 ” érték ebben az esetben “igaz”, a “(null)” érték pedig azt jelenti, hogy a Standard költség oszlopban nincsenek kapcsolódó adatok.

  1. megtekintése adott érték (elem) a megadott oszlop és nem üres funkció

    az MDX, akkor lehetséges, hogy az egyetlen értéket oszlop táblázatos modell adatbázis:

    1
    2
    3
    4
    5

    válassza a
    {{lehetőséget..}.Tétel (53)} tovább 0
    – tól

    ebben a példában az eredmény az 53. elemet (véletlenszerűen kiválasztott) mutatja a modellnév oszlopból. Figyeljük meg a meghatározott tengely “on 0″ – meghatározása helyett” oszlopok “(látni fogjuk a további példákban) vagy” sorok”, hogy egyetlen érték kerül kezdeti elején a táblázatos nézet lekérdezés eredménye.

    nem üres funkcióval, egyetlen számított érték az adott intézkedésből (internetes teljes értékesítés) jelenik meg:

    1
    2
    3
    4
    5
    6

    válassza a
    nem üres
    {lehetőséget.} oszlopokon
    tól től

  2. Tuple függvény

    a Tuple adatkészlet, két vagy több dimenziótag kombinációja (ebben az esetben két érték az év oszlopból).

    1
    2
    3
    4
    5

    válassza a {lehetőséget.. : ..} sorokon,
    {.} oszlopokon
    tól től

    figyelje meg az év oszlop megadott értékeit, amelyek az évek tartományát adják meg, valamint a lekérdezés eredményében az Internet teljes margójának megfelelő értékeket.

  3. ez a kifejezés a megadott oszlopokhoz vagy mértékekhez kapcsolódó adathalmazt mutatja. Ezek az értékek általában gyermekként vagy tagként jelennek meg, és a hierarchiához kapcsolódnak. A lekérdezés eredményében hierarchikusan vannak rendezve.

    1
    2
    3
    4
    5

    választ . OSZLOPOKON,
    ..Gyermekek sorokban
    tól től

    ebben az esetben az Internet Total Freight intézkedés alapja a számítás árufuvarozási oszlop, és így lehet kombinálni.

    vegye figyelembe, hogy a zárójelek nincsenek jelen a lekérdezésben, de a lekérdezés nélkül is érvényes.

    ha csak a kívánt oszlop értékeit szeretné megjeleníteni a CHILDREN kifejezéssel, egy nem kapcsolódó oszlopnak megfelelően, használja ezt a lekérdezést:

    1
    2
    3
    4
    5
    6

    válassza a
    {lehetőséget..} be 0,
    {..gyermekek} tovább 1
    – tól

    megjegyzés: ebben a kifejezésben az On 0 az oszlopokon, az on 1 pedig a sorok tengelyén áll.

    itt van még egy példa a tag kifejezés használatával

    1
    2
    3
    4
    5

    választ . oszlopokon,
    ..tagok sorokban
    tól től

  4. WHERE záradék

    a WHERE záradék hozzáadása az egyetlen módja a konkrét adatok szűrésének egy táblából, és hasonló a WHERE záradékhoz a T-SQL-ben:

    1
    2
    3
    4
    5
    6
    7

    válassza a
    {lehetőséget..} oszlopokon,
    {..} sorokon
    tól től
    hol {..}

    az Országrégió neve oszlop, a “Franciaország” értéke a város a földrajz táblában oszlophoz kapcsolódik, a lekérdezés pedig csak a franciaországi városok eredményében szerepel.

    a WHERE utasítás valójában a szeletelő tengely, amely extra dimenziót ad mind a többdimenziós, mind a táblázatos modelladatbázisokban.

  5. CASE expression

    ez a kifejezés az elemek logikai sorrendjén alapuló összehasonlítás, amely lekérdezési eredményt ad vissza.

    ebben a példában hozzon létre egy új mértéket, az értékesítési összeg áttekintését, amely megfelel az Internet teljes értékesítési mértékének megadott értéktartományának:

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

    taggal . mint
    eset .
    amikor 69712.49 akkor ‘nagy’
    amikor 1045.6 akkor ‘rossz’
    else ‘(normal)’
    vége
    válassza ki a
    {.
    , .
    } oszlopokon
    , {..tagok} a sorokon
    tól től

remélem tetszett ez a cikk, és boldog lekérdezése SSAS táblázatos modell adatbázis MDX!

  • kocka és Alkocka kifejezések használata
  • MDX nyelvi referencia (MDX)
  • MDX lekérdezés alapjai (elemzési szolgáltatások)

  • szerző
  • Legutóbbi hozzászólások
Daniel Tikvicki
Daniel könyvtáros, Aki belefutott az informatikai világ örvényébe, ahol folyamatosan lebeg és tanul. Szereti a könyveket, csak a művészi kifejezés minden formáját (maga is zenész / költő), és underground kiadó (fanzinok és kísérleti zene). Az érdekes pontok közé tartozik a teológia, a mitológia és az áltudomány.
Daniel jelenleg az ApexSQL LLC-nél dolgozik Szoftverértékesítési mérnökként, ahol a BI környezetre specializálódott.

Daniel Tikvicki
Daniel Tikvicki legújabb hozzászólásai (az összes megtekintése)
  • hogyan figyelemmel kíséri az SQL Server tempdb adatbázis-július 6, 2017
  • hogyan figyelemmel kíséri a teljes SQL Server indexek mérete-június 12, 2017
  • hogyan kell beállítani és használni a titkosított SQL Server kapcsolatok-május 8, 2017

Write a Comment

Az e-mail-címet nem tesszük közzé.