SQLShack

Å Hente informasjon fra En Tabelldatabase er enkelt-bare spør det med noen grunnleggende dax-funksjoner! I denne artikkelen vil vi lære å spørre En Tabellmodell med NOEN AV MDX-uttrykkene, undersøke resultatene FRA dax-spørring og analysere data fra tabellene.

Krav

forutsetningene for spørring MED MDX ER SQL Server Management Studio 2014 eller høyere med en INSTALLERT SSAS tabellforekomst og distribuert SSAS Tabellmodell database.

Miljøforberedelse

Spørring AV EN SSAS-Tabellmodelldatabase med MDX finner sted I SQL Server Management Studio, I MDX-spørringsvinduet.

OVERSIKT over FLERDIMENSJONALE Uttrykk (MDX)

MDX ER uttrykksspråk som kan spørre og analysere flerdimensjonale data I OLAP-kuber (som SSAS Flerdimensjonale modelldatabaser, f.eks.). Selv om den primært er designet for å spørre en Flerdimensjonal modelldatabase, kan den også spørre en Tabellmodelldatabase. PÅ DEN annen side kan dax-funksjoner ikke spørre Flerdimensjonale modelldatabaser, fordi dax-spørringsuttrykk er spesifikke For Tabellformede modelldatabaser.

STRUKTURELT INKORPORERER MDX xmla spesifisert syntaks. Siden DET ligner PÅ T-SQL, er DET NOEN DDL-setninger som kan administrere og organisere flerdimensjonale datakonstruksjoner. DETTE gjelder BARE FOR SSAS Flerdimensjonale modelldatabaser.

når det gjelder kompleksitet, er hovedtyper AV MDX-uttrykk: konstant (numerisk, streng etc.), skalar og objektorientert. Disse typene kombineres i komplekse uttrykk som svarer til setninger og MDX-funksjoner.

når vi snakker om spørring AV EN SSAS Tabellmodell database, er uttrykk i denne artikkelen kombinert skalar / konstant type, som enkle Kubeuttrykk. Disse uttrykkene henter bare data fra En tabellkube, viser resultatene i kolonne( r), bestiller data og forbereder den til videre analyse.

Spørring SSAS Tabellmodell database MED MDX

I begynnelsen AV DE FLESTE MDX spørringer ER SELECT-setning, etterfulgt MED EN FRA-setning. Det er veldig lik T-SQL ‘ s (i motsetning Til Evaluate-setningen I DAX):

1
2
3

velg fra

denne spørringen er den enkleste, og den returnerer verdi 1 («true»). DET betyr AT AW Tabular database er til stede.

Velge tabellen Produktnavn Fra Produkttabellen, VELG setning I T-SQL ser slik ut:

1
2
3

VELG dbo.Produktnavn Fra Produkt

den tilsvarende setningen skrevet I MDX, ville være logisk:

1
2
3
4
5

velg
{..}
fra

Legg Merke til braces {}, som er operatorene som parentesen I DAX. De vedlegger uttalelsene og gjør det mulig å legge til kompleksitet i spørringsskriving. MDX-spørringer er små bokstaver som DAX-spørringer.

denne spørringen vil hente Produktnavnskolonne og Produkttabell fra Aw-tabellkube, men i stedet for å vise enkeltkolonnen, øker den en utførelsesfeil:

hovedårsaken er i type databasemodell og syntaks: Flerdimensjonale og Tabellformede modelldatabaser har begge dimensjoner, som avgjørende konsept, MEN MDX i sin syntaks gjenkjenner kolonner, rader og andre elementer (spesifikke For Flerdimensjonale databaser) som akser i spørring – forestill dem som x, y, z-aksene på EN 3d-kubemodell.

NÅR du spør EN SSAS Tabellmodell database, MÅ MDX gjenkjenne minst to akser i dem: kolonner og rader, for å vise data riktig:

1
2
3
4
5
6

velg
{..} på kolonner,
{..} på rader
fra

nå setter vi aksene i spørringen, og resultatet viser:

som det kan ses, viser alle verdier I Kolonnen Produktnavn på kolonner i resultat, og rader viser tilsvarende år (I Regnskapsårskolonne) og antall elementer (i dette tilfellet sykkeldeler). Derfor, i stedet for tre akser I MDX-spørring, når spørring EN SSAS Tabellmodell database bare to akser er nok til å hente data.

dette eksemplet spør den samme tabellen i begge aksene:

1
2
3
4
5
6

velg
{..} på kolonner,
{..} på rader
fra

resultatet av spørringen viser:

verdien » 1 «betyr» sann » i dette tilfellet, og verdien «(null)» betyr at Det ikke er noen relaterte data I Standardkostnadskolonnen.

  1. Vise bestemt verdi (element) fra spesifisert kolonne og IKKE TOM funksjon

    MED MDX er det mulig å se enkeltverdien fra kolonne I Tabellmodelldatabase:

    1
    2
    3
    4
    5

    velg
    {{..}.Element (53)} på 0
    fra

    i dette eksemplet viser resultatet det 53. elementet (tilfeldig valgt) fra Kolonnen Modellnavn. Legg merke til den definerte aksen «på 0″ – i stedet for å definere » kolonner «(vi vil se i flere eksempler) eller» rader», er den ene verdien plassert på begynnelsen av tabellvisningen av spørringsresultatet.

    med inkludering AV IKKE TOM funksjon, enkelt beregnet verdi fra bestemt mål (Internett Totalt Salg) viser:

    1
    2
    3
    4
    5
    6

    velg
    ikke tom
    {.} på kolonner
    FRA

  2. Tuple funksjon

    Tuple er angitt sett med data, en kombinasjon av to eller flere dimensjon medlemmer (i dette tilfellet to verdier Fra År kolonne).

    1
    2
    3
    4
    5

    velg {.. : ..} på rader,
    {.} på kolonner
    fra

    Legg Merke til de angitte verdiene Fra År-kolonnen som angir antall år, og tilsvarende verdier Fra Totalmargin På internett i spørringsresultatet.

  3. BARN-Og MEDLEMSUTTRYKK

    dette uttrykket viser datasettet som er relatert til angitte kolonner eller mål. Vanligvis presenterer disse sett med verdier som barn eller medlemmer, og det er relatert til hierarki. De er ordnet hierarkisk i spørringsresultatet.

    1
    2
    3
    4
    5

    velg . PÅ KOLONNER,
    ..BARN PÅ RADER
    FRA

    I Dette tilfellet Er Internett Total Frakt mål basert på beregning Med Frakt kolonne, og dermed kan de kombinere.

    Legg Merke til at klammeparenteser ikke finnes i spørringen, men spørringen er fortsatt gyldig uten dem.

    for å vise bare verdiene fra en ønsket kolonne med BARNEUTTRYKKET, i samsvar med en ikke-relatert kolonne, bruk denne spørringen:

    1
    2
    3
    4
    5
    6

    velg
    {..} på 0,
    {..barn} på 1
    FRA

    Merk: i dette uttrykket står på 0 for på kolonner, og på 1 står for på rader akse.

    her er et annet eksempel ved BRUK AV MEDLEMSUTTRYKKET

    1
    2
    3
    4
    5

    Velg . På Kolonner,
    ..medlemmer På Rader
    Fra

  4. WHERE-setningsdelen

    Tillegg AV where-setningsdelen er en måte å filtrere bestemte data fra et bord, og det ligner WHERE-setningsdelen I T-SQL:

    1
    2
    3
    4
    5
    6
    7

    velg
    {..} på kolonner,
    {..} på rader
    fra
    hvor {..}

    verdien Fra Kolonnen Land Regionnavn, «Frankrike» er relatert til kolonnebyen I Geografi-tabellen, og spørringen som er inkludert i resultat bare byer Fra Frankrike.

    WHERE-setningen er faktisk sliceraksen, som legger til en ekstra dimensjon både i Flerdimensjonale og Tabellformede modelldatabaser.

  5. KASUSUTTRYKK

    dette uttrykket er en sammenligning basert på den logiske rekkefølgen av elementer, som returnerer et spørringsresultat.

    i dette eksemplet oppretter du et nytt mål kalt Oversikt Over Salgsbeløp som tilsvarer et angitt verdiområde Fra Internett Totalt Salgsmål:

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

    med medlem . som
    tilfelle .
    når 69712.49 Da ‘Stor’
    når 1045.6 Da ‘Dårlig’
    else ‘(normal)’
    slutt
    velg
    {.
    , .
    } på kolonner
    ,{..medlemmer} på rader
    fra

jeg håper du likte denne artikkelen, og glad spør en SSAS Tabellmodell database MED MDX!

  • Bruke Terning-Og Underkubeuttrykk
  • MDX-Språkreferanse (MDX)
  • GRUNNLEGGENDE MDX-Spørring (Analysis Services)

  • Forfatter
  • Siste Innlegg
Daniel Tikvicki
Daniel er en bibliotekar som løp inn I EN virvel AV IT-verden, hvor han leviterer og lærer hele tiden. Han liker bøker, bare alle former for kunstnerisk uttrykk (å være musiker / poet selv), og han er underjordisk utgiver(fanziner og eksperimentell musikk). Også interessante steder inkluderer teologi, mytologi og pseudovitenskap.
Daniel jobber for Tiden For ApexSQL LLC som Software sales engineer hvor Han spesialiserer SEG PÅ BI-miljøet.

Daniel Tikvicki
Siste innlegg Av Daniel Tikvicki (se alle)
  • slik overvåker DU SQL Server tempdb-databasen-6. juli 2017
  • slik overvåker du total SQL Server-indeksstørrelse-12. juni 2017
  • slik angir og bruker krypterte SQL Server-tilkoblinger-Mai 8, 2017

Write a Comment

Din e-postadresse vil ikke bli publisert.