MDX (Multidimensional Expressions) är ett kraftfullt språk för datahantering och frågor.
Med MDX kan du:
Fråga och rapportera gällande data och metadata i Essbase-kuber
Infoga data i en Essbase-kub
Exportera data från en Essbase-kub
En MDX-fråga är en enskild MDX-sats med exakt en resultatuppsättning som gäller för en enda kub.
En MDX-rapport är en enskild MDX-sats som sparas i kubkontexten. Du kan komma åt MDX-rapporter från Smart View och från Essbase-webbgränssnittet.
Ett MDX-skript är en fil med ett .mdx
-tillägg som du kan ladda upp och sedan köra från Jobb eller i Smart View. MDX-satserna Insert och Export kan användas i MDX-skript. Om du vill analysera rutnätsdata använder du MDX-rapporter snarare än MDX-skript.
Avsnitt:
Du kan lagra och återge frågor i webbgränssnittet för Essbase med hjälp av MDX-rapporter. Den lägsta behörighet som krävs för att skapa en rapport är databasansvarig.
Att definiera layouter med fliken Ad hoc-analys är kanske inte alltid det effektivaste sättet att skapa en sofistikerad rapport. Om du vet exakt vad du vill fråga om kan du använda MDX för att skapa en fråga som fyller i rutnätet.
För mer information om MDX, se MDX och Skriva MDX-frågor.
Hur du arbetar med rapporter beror på din kubåtkomst.
Användare som har minst rollen Databasåtkomst på applikationsnivå kan återge sparade MDX-rapporter som skapats av andra. Vilka data som visas för en användare i rapporten beror på användarens filteråtkomst.
Utöver att återge sparade rapporter, kan användare med databasåtkomst även exportera resultatuppsättningar i olika format: HTML, CSV, Excel och JSON.
Användare med databasåtkomst kan även visa MDX-frågan som definierar rapporten genom att klicka på menyn Åtgärder bredvid rapportens namn och välja Visa.
Om du har minst rollen som databasansvarig kan du använda rapporter på samma sätt som användare med databasåtkomst kan. Du kan dessutom redigera och ta bort rapporter via menyn Åtgärder.
Om du är tjänsteadministratör kan du även använda knappen Kör som för att personifiera andra användare och kontrollera deras dataåtkomst. Det här kan vara användbart för att testa filter som har tilldelats till olika användare.
MDX-exemplen i detta avsnitt visar särskilda typer av analyser som du kan genomföra, med hjälp av MDX-rapporter, som inte kan åstadkommas enkelt i vyn Ad hoc-analys.
Följande exempel är utformade så att de fungerar för kuben Sample Basic.
Metadatarapport
Följande exempel returnerar endast metadata (medlemsnamn, men inga data):
SELECT {[Product].Levels(1).Members} ON ROWS, {} ON COLUMNS
Returnera rutnätet:
Attributrapport
I följande exempel används medlemmar från en attributdimension i kolumner:
SELECT [Product].Children ON ROWS, [Ounces].Children ON COLUMNS WHERE {Sales}
Returnera rutnätet:
Filtrerad rapport
I följande exempel används en utsnittsfunktion (WHERE-sats) för att begränsa frågan till Cola. Dessutom begränsar filterfunktionen nivå 0-marknaderna i frågan till de som har en negativ vinst.
SELECT { Profit } ON COLUMNS, Filter( [Market].levels(0).members, Profit < 0) ON ROWS WHERE {Cola}
Returnera rutnätet:
Rapport för användardefinierade attribut
I följande exempel visas produktdata för marknadsdimensionen som har det användardefinierade attributet "Major Market". En utsnittsfunktion (WHERE-sats) begränsar frågan så att endast försäljningsdata inkluderas.
SELECT [Product].Children ON ROWS, {Intersect(UDA([Market], "Major Market"), [Market].Children)} ON COLUMNS WHERE {Sales}
Returnera rutnätet:
MDX är inte bara användbart för rutnätsbaserade analyser utan gör också att du kan kopiera och uppdatera en delmängd av multidimensionella data.
Med satsen för att infoga flerdimensionella uttryck kan du uppdatera kuben med data med hjälp av en beräknad (icke-fysisk) medlem som du definierar med flerdimensionella uttryck.
Med satsen MDX Export kan du spara och exportera frågeresultat som datadelmängder som du kan visa eller importera senare.
MDX-satserna Insert och Export kan köras som sparade MDX-skript.
För mer information om MDX Insert och Export, se Specifikation för MDX Insert och Specifikation för MDX-export.
Använd MDX-skript när du behöver köra åtgärderna Infoga eller Exportera data.
Använd MDX-rapporter för att utföra analys av rutnätsdata. Se Analysera data med MDX-rapporter.
Om du vill använda MDX-skript väljer du ett arbetsflöde:
Använd det här arbetsflödet för att skriva MDX-skript i en textredigerare och ladda upp dem till Essbase.
Skriv MDX-skriptet i ett textredigeringsprogram och spara det med filtillägget .mdx
.
Ladda upp MDX-skriptet till en applikations- eller kubkatalog under Filer i Essbase-webbgränssnittet.
Kör MDX-skriptet under Jobb, eller från Smart View med Beräkna på menyfliken Essbase.
Använd det här arbetsflödet för att skriva MDX-skript i en skriptredigerare för kuben, och kör dem från Jobb.
På sidan Applikationer öppnar du applikationen och databasen (kuben).
Klicka på Skript och på MDX-skript.
Klicka på Skapa, ange ett namn för skriptet och klicka på OK.
Skriv MDX-skriptet. Ett medlemsträd och en funktionslista kan hjälpa dig.
Validera och spara skriptet och stäng skriptredigeringsprogrammet.
Kör MDX-skriptet från Jobb (se Kör MDX), eller, om du använder Smart View, med Beräkna på menyfliken Essbase.
På sidan Applikationer expanderar du en applikation och en kub.
På menyn Åtgärder för kuben klickar du på Inspektera.
Klicka på Skript och sedan på MDX-skript.
Klicka på + för att öppna ett skriptredigeringsprogram.
Skriv MDX-skriptet. Ett medlemsträd och en funktionslista kan hjälpa dig.
Validera och spara skriptet och stäng skriptredigeringsprogrammet.
Kör MDX-skriptet från Jobb (se Kör MDX), eller, om du använder Smart View, med Beräkna på menyfliken Essbase.
Använd det här arbetsflödet för att skapa MDX-skript med hjälp av en applikationsarbetsbok, och kör dem från Jobb.
Följ de här riktlinjerna när du arbetar med MDX-skript.
Använd MDX-skript eller utför åtgärderna Infoga eller Exportera data.
För rutnätsanalys ska du använda MDX-rapporter i stället för MDX-skript.
MDX-skript kan även inkludera exekveringsersättningsvariabler.
För att MDX-skript med ersättningsvariabler för exekvering ska kunna användas i Smart View måste de använda XML-syntax inom beräkningskommandot SET RUNTIMESUBVARS, inklusive <RTSV_HINT>
.
Om du vill ange en ersättningsvariabel för exekvering så att den endast beräknar det synliga datautsnittet i Smart View anger du Synvinkel som värde för ersättningsvariabeln för exekvering och Medlem som datatyp.
När MDX-skripten körs från Essbase-webbgränssnittet kan de använda ersättningsvariabler, men inte ersättningsvariabler för exekvering. För att kunna använda exekveringsersättningsvariabler i MDX-skript måste du köra skripten från Smart View med Beräkna på menyfliken Essbase.
Följande är exempel på MDX-skript du kan köra på kuben Sample Basic, antingen från Jobb eller i Smart View.
MDX-infogning
Du kan spara .mdx
-skriptet och köra det från Jobb eller från dialogrutan Beräkna 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] );
I exemplet ovan antas att du tidigare har lagt till ett Revised_Payroll-mått till Sample Basic.
MDX-export
Du kan spara .mdx
-skriptet och köra det från Jobb eller från dialogrutan Beräkna 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 kört skriptet sparas exportfilen sample01.txt
i kub- eller 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-export med exekveringsersättningsvariabel
Du kan spara .mdx
-skriptet och köra det från dialogrutan Beräkna 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 kört skriptet sparas exportfilen sample002.txt
i kub- eller 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