MDX (Multidimensional Expressions) er et effektivt språk for datamanipulering og -spørring.
Med MDX kan du:
Sende spørringer og rapportere om data og metadata i Essbase-kuber
Sette inn data i en Essbase-kube
Eksportere data fra en Essbase-kube
En MDX-spørring er én enkelt MDX-setning som har nøyaktig ett resultatsett som gjelder for én kube.
En MDX-rapport er én enkelt MDX-spørring som er lagret i kubekonteksten. Du kan få tilgang til MDX-rapporter fra Smart View og fra Web-grensesnittet for Essbase.
Et MDX-skript er en fil med filtypen MDX
som du kan laste opp og deretter kjøre fra Jobber eller i Smart View. Bare MDX-setninger for innsetting og eksport skal brukes i MDX-skript. Hvis du vil analysere rutenettdata, bør du bruke MDX-rapporter i stedet for MDX-skript.
Emner:
Du kan lagre og gjengi spørringer i Web-grensesnittet for Essbase ved hjelp av MDX-rapporter. Minimumstillatelsen som er nødvendig hvis du skal opprette en rapport, er Databasestyrer.
Definering av oppsett i fanen Ad hoc-analyse er ikke alltid den mest effektive måten å opprette en avansert rapport på. Hvis du vet akkurat hva du vil spørre etter, kan du bruke MDX til å opprette en spørring slik at rutenettet fylles ut.
Hvis du vil ha flere opplysninger om MDX-innsetting, se MDX og Skrive MDX-spørringer.
Hvordan du arbeider med rapporter, avhenger av kubetilgangen din.
Brukere med minst brukerrollen Databasetilgang på applikasjonsnivå kan gjengi lagrede MDX-rapporter som er opprettet av andre. Hvilke data en bruker ser i rapporten, avhenger av hvilken filtertilgang vedkommende har.
I tillegg til å gjengi lagrede rapporter kan brukere med Databasetilgang eksportere resultatsett i ulike formater: HTML, CSV, Excel og JSON.
Brukere med Databasetilgang kan også vise MDX-spørringen som definerer rapporten, ved å klikke på menyen Handlinger ved siden av rapportnavnet og velge Vis.
Hvis du minst har rollen Databasestyrer, kan du bruke rapporter på samme måte som brukere med Databasetilgang kan. I tillegg kan du redigere og slette rapporter ved hjelp av menyen Handlinger.
Hvis du er en Tjenesteadministrator, kan du også bruke knappen Utfør som til å etterligne andre brukere og kontrollere datatilgangen deres. Dette kan være nyttig hvis du vil teste filtrene som er tilordnet til ulike brukere.
MDX-eksemplene i denne delen viser spesielle typer analyser du kan utføre ved hjelp av MDX-rapporter, som ikke er enkle å oppnå i visningen Ad hoc-analyse.
Følgende eksempler er utformet for å fungere på kuben Sample Basic.
Metadatarapport
Følgende eksempel returnerer bare metadata (medlemsnavn, men ingen data):
SELECT {[Product].Levels(1).Members} ON ROWS, {} ON COLUMNS
returnerer rutenettet:
Attributtrapport
Følgende eksempel bruker medlemmer fra en attributtdimensjon i kolonner:
SELECT [Product].Children ON ROWS, [Ounces].Children ON COLUMNS WHERE {Sales}
returnerer rutenettet:
Filtrert rapport
Følgende eksempel bruker en slicer (leddet WHERE) til å begrense spørringen til Cola. I tillegg begrenser filterfunksjonen markedene på nivå 0 i spørringen til de som har negativ fortjeneste.
SELECT { Profit } ON COLUMNS, Filter( [Market].levels(0).members, Profit < 0) ON ROWS WHERE {Cola}
returnerer rutenettet:
UDA-rapport
Følgende eksempel viser produktdata for markedsdimensjonsmedlemmer som har det brukerdefinerte attributtet (UDA) Major Market. En slicer (leddet WHERE) begrenser spørringen til bare salgsdata.
SELECT [Product].Children ON ROWS, {Intersect(UDA([Market], "Major Market"), [Market].Children)} ON COLUMNS WHERE {Sales}
returnerer rutenettet:
I tillegg til at MDX er nyttig for rutenettbasert analyse, gir det deg også mulighet til å kopiere og oppdatere delsett av flerdimensjonale data.
Med leddet for MDX-innsetting kan du oppdatere kuben med data ved hjelp av et beregnet (ikke-fysisk) medlem som du definerer ved hjelp av MDX.
Med leddet for MDX-eksport kan du lagre og eksportere resultater av spørringer som delsett med data som du kan vise eller importere senere.
MDX-setninger for innsetting og eksport kan kjøres som lagrede MDX-skript.
Hvis du vil lære mer om MDX-innsetting og -eksport, kan du se Angivelse av MDX-innsetting og Angivelse av MDX-eksport.
Bruk MDX-skript når du trenger å utføre operasjonen Sett inn data eller Eksporter data.
Bruk MDX-rapporter til å analysere rutenettdata. Se Analysere data med MDX-rapporter.
Når du skal bruke MDX-skript, velger du en arbeidsflyt:
Bruk denne arbeidsflyten til å skrive MDX-skript i et tekstredigeringsprogram og laste dem opp til Essbase.
Skriv MDX-skriptet i et tekstredigeringsprogram, og lagre det med filtypen MDX
.
Last opp MDX-skriptet til applikasjons- eller kubekatalogen under Filer i Web-grensesnittet til Essbase.
Kjør MDX-skriptet fra Jobber eller fra Smart View ved å velge Beregn på Essbase-båndet.
Bruk denne arbeidsflyten til å skrive MDX-skript i et redigeringsprogram for skript på kuben, og kjør dem fra Jobber.
Åpne applikasjonen på siden Applikasjoner, og åpne databasen (kuben).
Klikk på Skript og deretter på MDX-skript.
Klikk på Opprett, skriv inn et navn for skriptet, og klikk på OK.
Skriv MDX-skriptet. Et medlemstre og en funksjonsliste kan være nyttig.
Valider og lagre skriptet, og lukk deretter skriptredigeringsprogrammet.
Kjør MDX-skriptet fra Jobber (se Kjør MDX), eller, hvis du bruker Smart View, ved å velge Beregn på Essbase-båndet.
Utvid en applikasjon og en kube på siden Applikasjoner.
Klikk på Inspiser på menyen Handlinger for kuben.
Klikk på Skript og deretter på MDX-skript.
Klikk på + slik at et skriptredigeringsprogram åpnes.
Skriv MDX-skriptet. Et medlemstre og en funksjonsliste kan være nyttig.
Valider og lagre skriptet, og lukk deretter skriptredigeringsprogrammet.
Kjør MDX-skriptet fra Jobber (se Kjør MDX), eller, hvis du bruker Smart View, ved å velge Beregn på Essbase-båndet.
Bruk denne arbeidsflyten til å opprette MDX-skript ved hjelp av en applikasjonsarbeidsbok, og kjør dem fra Jobber.
Bruk følgende retningslinjer når du jobber med MDX-skript.
Bruk MDX-skript til å utføre operasjonen Sett inn data eller Eksporter data.
For rutenettanalyse bruker du MDX-rapporter i stedet for MDX-skript.
MDX-skript kan inneholde erstatningsvariabler for kjøretid.
Hvis de skal kunne brukes i Smart View, må MDX-skript med erstatningsvariabler for kjøretid bruke XML-syntaksen med beregningskommandoen SET RUNTIMESUBVARS, inkludert <RTSV_HINT>
.
Hvis du vil konfigurere en erstatningsvariabel for kjøretid slik at den beregner bare den synlige sektoren med data i Smart View, setter du verdien for erstatningsvariabelen for kjøretid til Skjæringspunkt og datatypen til medlem.
Når MDX-skriptene kjøres fra Web-grensesnittet til Essbase, kan de bruke erstatningsvariabler, men ikke erstatningsvariabler for kjøretid. Hvis du vil bruke erstatningsvariabler for kjøretid i MDX-skript, må du kjøre skriptene fra Smart View ved å velge Beregn på Essbase-båndet.
Nedenfor finner du eksempler på MDX-skript du kan kjøre på kuben Sample Basic, enten fra Jobber eller i Smart View.
MDX-innsetting
Du kan lagre dette MDX
-skriptet og kjøre det fra Jobber eller fra dialogboksen Beregn i Smart View.
INSERT "([Measures].[Payroll])" TO "([Measures].[Revised_Payroll])" INTO [Sample].[Basic] FROM ( SELECT {[Measures].[Payroll]} ON COLUMNS, {Crossjoin (Crossjoin(Descendants([Year]), Crossjoin(Descendants([Scenario]), Descendants([Product]))), Descendants([Market]))} ON ROWS FROM [Sample].[Basic] );
Eksemplet ovenfor forutsetter at du tidligere har lagt til en Revised_Payroll-måling i Sample Basic.
MDX-eksport
Du kan lagre dette MDX
-skriptet og kjøre det fra Jobber eller fra dialogboksen Beregn i Smart View.
EXPORT INTO FILE "sample01" OVERWRITE SELECT {[Mar],[Apr]} ON COLUMNS, Crossjoin({[New York]}, Crossjoin({[Actual],[Budget]}, {[Opening Inventory],[Ending Inventory]})) ON ROWS FROM [Sample].[Basic] WHERE ([100-10])
Når du har kjørt skriptet, lagres eksportfilen sample01.txt
i kubekatalogen i filkatalogen:
Market,Scenario,Measures,Mar,Apr New York,Actual,Opening Inventory,2041,2108 New York,Actual,Ending Inventory,2108,2250 New York,Budget,Opening Inventory,1980,2040 New York,Budget,Ending Inventory,2040,2170
MDX-eksport med erstatningsvariabel for kjøretid
Du kan lagre dette MDX
-skriptet og kjøre det fra dialogboksen Beregn i Smart View.
SET RUNTIMESUBVARS { States = "Massachusetts"<RTSV_HINT><svLaunch> <description>US States</description> <type>member</type> <allowMissing>false</allowMissing> <dimension>Market</dimension> <choice>multiple</choice> </svLaunch></RTSV_HINT>; }; EXPORT INTO FILE "sample002" OVERWRITE SELECT {[Mar],[Apr]} ON COLUMNS, Crossjoin({&States}, Crossjoin({[Actual],[Budget]}, {[Opening Inventory],[Ending Inventory]})) ON ROWS FROM [Sample].[Basic] WHERE ([100-10])
Når du har kjørt skriptet, lagres eksportfilen sample002.txt
i kubekatalogen i filkatalogen:
Market,Scenario,Measures,Mar,Apr Massachusetts,Actual,Opening Inventory,-54,-348 Massachusetts,Actual,Ending Inventory,-348,-663 Massachusetts,Budget,Opening Inventory,-160,-520 Massachusetts,Budget,Ending Inventory,-520,-910