MDX (Multidimensional Expressions) je efektívny jazyk na manipuláciu s dátami a vykonávanie dopytov na dáta.
S príkazom MDX môžete vykonávať tieto úlohy:
vykazovať a vykonávať dopyty na dáta a metadáta v kockách Essbase,
vkladať dáta do kocky Essbase,
exportovať dáta z kocky Essbase.
Dopyt MDX je jediný príkaz MDX s presne jednou množinou výsledkov, ktorá sa vzťahuje na jednu kocku.
Zostava MDX je jediný dopyt MDX uložený v kontexte kocky. Prístup k zostavám MDX získate z aplikácie Smart View a z webového rozhrania Essbase.
Skript MDX je súbor s príponou .mdx
, ktorý môžete nahrať a potom spúšťať v časti Úlohy alebo v aplikácii Smart View. V skriptoch MDX môžete používať iba príkazy MDX Insert a Export. Na analýzu dát mriežky je namiesto skriptov MDX vhodnejšie použiť zostavy MDX.
Témy:
Vo webovom rozhraní Essbase môžete ukladať a vykresľovať dopyty pomocou zostáv MDX. Minimálne povolenie požadované na vytvorenie zostavy je na úrovni správcu databázy.
Definovanie rozložení pomocou karty Analýza ad hoc nemusí byť vždy najefektívnejší spôsob vytvorenia zložitej zostavy. Ak viete presne, na čo chcete vykonať dopyt, môžete vytvoriť dopyt pomocou skriptu MDX na vyplnenie mriežky.
Ďalšie informácie o MDX nájdete v častiach MDX a Písanie dopytov MDX.
Spôsob práce so zostavami závisí od vášho prístupu ku kocke.
Používatelia, ktorí majú aspoň rolu povoľujúcu prístup do databázy na úrovni aplikácie, môžu vykresliť zostavy MDX vytvorené inými používateľmi. Dáta, ktoré používateľ uvidí v zostave, závisia od prístupu daného používateľa k filtru.
Okrem vykreslenia uložených zostáv môžu používatelia s rolou povoľujúcou prístup do databázy aj exportovať množiny výsledkov v rozličných formátoch, ako sú HTML, CSV, Excel a JSON.
Používatelia s rolou povoľujúcou prístup do databázy môžu aj zobraziť dopyt MDX, ktorý definuje zostavu, a to kliknutím na ponuku Akcie vedľa názvu zostavy a výberom položky Zobraziť.
Ak máte aspoň rolu správcu databázy, zostavy môžete používať rovnakým spôsobom ako používatelia s rolou povoľujúcou prístup do databázy. Okrem toho môžete pomocou ponuky Akcie upraviť a odstrániť zostavy.
Ak ste administrátorom služby, môžete prostredníctvom tlačidla Vykonať ako prevziať rolu iných používateľov a skontrolovať, či majú prístup k dátam. Táto funkcia je užitočná napríklad pri testovaní filtrov priradených k rozličným používateľom.
Príklady skriptov MDX v tejto časti ilustrujú špeciálne typy analýz, ktoré môžete vykonávať pomocou zostáv MDX a ktoré nemožno jednoducho vykonať v zobrazení Analýza ad hoc.
Nasledujúce príklady sú navrhnuté tak, aby ich bolo možné použiť s kockou Sample Basic.
Zostava metadát
Nasledujúci príklad vráti iba metadáta (názvy členov bez akýchkoľvek dát):
SELECT {[Product].Levels(1).Members} ON ROWS, {} ON COLUMNS
vráti sa mriežka:
Zostava atribútov
Nasledujúci príklad využíva v stĺpcoch členy z dimenzie s atribútmi:
SELECT [Product].Children ON ROWS, [Ounces].Children ON COLUMNS WHERE {Sales}
vráti sa mriežka:
Filtrovaná zostava
V nasledujúcom príklade sa používa slicer (klauzula WHERE) na obmedzenie dopytu na výraz Cola. Funkcia Filter navyše obmedzuje trhy úrovne 0 v dopyte na trhy, ktoré majú záporný zisk.
SELECT { Profit } ON COLUMNS, Filter( [Market].levels(0).members, Profit < 0) ON ROWS WHERE {Cola}
vráti sa mriežka:
Zostava používateľom definovaných atribútov
Nasledujúci príklad uvádza dáta produktov pre členy dimenzie Trh s používateľom definovaným atribútom (UDA) s názvom „Major Market“. Slicer (klauzula WHERE) obmedzuje dopyt iba na dáta o predaji.
SELECT [Product].Children ON ROWS, {Intersect(UDA([Market], "Major Market"), [Market].Children)} ON COLUMNS WHERE {Sales}
vráti sa mriežka:
Jazyk MDX je nielen užitočný pri analýze na základe mriežky, ale umožňuje aj kopírovanie a aktualizáciu podmnožín multidimenzionálnych dát.
Klauzula MDX Insert umožňuje aktualizovať kocku s dátami pomocou vypočítaného (nefyzického) člena, ktorého definujete pomocou jazyka MDX.
Klauzula MDX Export umožňuje uložiť a exportovať výsledky dopytu ako podmnožiny dát, ktoré môžete neskôr zobraziť alebo importovať.
Príkazy MDX Insert a Export môžete spúšťať ako uložené skripty MDX.
Ďalšie informácie o klauzulách MDX Insert a MDX Export nájdete v častiach Špecifikácia klauzuly MDX Insert a Špecifikácia klauzuly MDX Export.
Ak potrebujete vykonať operáciu vkladania alebo exportu, použite skripty MDX.
Na analýzu dát mriežky použite zostavy MDX. Pozrite si časť Analýza dát pomocou zostáv MDX.
Ak chcete použiť skripty MDX, vyberte tok činností:
Pomocou tohto toku činností môžete písať skripty MDX v textovom editore a nahrávať ich do služby Essbase.
Napíšte skript MDX v textovom editore a uložte ho s príponou .mdx
.
Nahrajte skript MDX do adresára aplikácie alebo kocky v ponuke Súbory vo webovom rozhraní Essbase.
Spustite skript MDX z ponuky Úlohy alebo z aplikácie Smart View pomocou položky Vypočítať na páse s nástrojmi Essbase.
Pomocou tohto toku činností môžete písať skripty MDX v editore skriptu v kocke a spúšťať ich zo sekcie Úlohy.
Na stránke Aplikácie otvorte aplikáciu a potom otvorte databázu (kocku).
Kliknite na položku Skripty a potom na položku Skripty MDX.
Kliknite na položku Vytvoriť, zadajte názov skriptu a potom kliknite na tlačidlo OK.
Napíšte skript MDX. Pomôcť vám môže strom členov a zoznam funkcií.
Overte a uložte skript, potom zatvorte editor skriptu.
Spustite skript MDX z ponuky Úlohy (pozrite si časť Spustenie MDX). Ak používate aplikáciu Smart View, spustite ho pomocou položky Vypočítať na páse s nástrojmi Essbase.
Na stránke Aplikácie rozbaľte aplikáciu a kocku.
V ponuke Akcie kocky kliknite na položku Skontrolovať.
Kliknite na položku Skripty a potom na položku Skripty MDX.
Kliknutím na tlačidlo + otvorte editor skriptu.
Napíšte skript MDX. Pomôcť vám môže strom členov a zoznam funkcií.
Overte a uložte skript, potom zatvorte editor skriptu.
Spustite skript MDX z ponuky Úlohy (pozrite si časť Spustenie MDX). Ak používate aplikáciu Smart View, spustite ho pomocou položky Vypočítať na páse s nástrojmi Essbase.
Pomocou tohto toku činností môžete vytvárať skripty MDX s použitím zošita aplikácie a spúšťať ich z časti Úlohy.
Pri práci so skriptmi MDX používajte nasledujúce pokyny.
Skripty MDX používajte na vykonávanie dátových operácií vkladania alebo exportu.
Na analýzu mriežky je namiesto skriptov MDX vhodnejšie použiť zostavy MDX.
Skripty MDX môžu voliteľne obsahovať substitučné premenné runtime.
Na to, aby boli skripty MDX so substitučnými premennými runtime použiteľné v aplikácii Smart View, musia používať syntax XML v rámci príkazu výpočtov SET RUNTIMESUBVARS vrátane príkazu <RTSV_HINT>
.
Ak chcete nastaviť substitučnú premennú runtime tak, aby vypočítavala iba viditeľný výsek dát v aplikácii Smart View, nastavte hodnotu substitučnej premennej runtime na Uhol pohľadu a nastavte dátový typ na hodnotu člen.
Pri spustení z webového rozhrania Essbase môžu vaše skripty MDX používať substitučné premenné, nie však substitučné premenné runtime. Ak chcete v skriptoch MDX používať substitučné premenné runtime, je potrebné spustiť skripty z aplikácie Smart View pomocou položky Vypočítať na páse s nástrojmi Essbase.
Nasledujúca časť obsahuje príklady skriptov MDX, ktoré môžete spustiť vo vzorovej základnej kocke, z ponuky Úlohy alebo v aplikácii Smart View.
MDX Insert
Tento skript .mdx
môžete uložiť a spustiť ho z ponuky Úlohy alebo v dialógovom okne Vypočítať v aplikácii 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] );
V príklade vyššie sa vychádza z predpokladu, že ste do kocky Sample Basic predtým pridali mieru Revised_Payroll.
Export MDX
Tento skript .mdx
môžete uložiť a spustiť ho z ponuky Úlohy alebo v dialógovom okne Vypočítať v aplikácii 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])
Po spustení skriptu sa súbor exportu sample01.txt
uloží v adresári kocky katalógu súborov:
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
Export MDX s použitím substitučnej premennej runtime
Tento skript .mdx
môžete uložiť a spustiť ho v dialógovom okne Vypočítať alebo v aplikácii 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])
Po spustení skriptu sa súbor exportu sample002.txt
uloží v adresári kocky katalógu súborov:
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