MDX (Multidimensional Expressions) představuje výkonný jazyk pro manipulaci s daty a dotazování.
Jazyk MDX umožňuje provádět následující:
dotazovat se na data a metadata v krychlích Essbase a zobrazovat je v sestavách,
vkládat data do krychle Essbase,
exportovat data z krychle Essbase.
Dotaz MDX představuje jeden příkaz MDX, který poskytuje přesně jednu sadu výsledků, která se vztahuje na jednu krychli.
Sestava MDX představuje jeden dotaz MDX uložený v kontextu krychle. Sestavy MDX jsou k dispozici v komponentě Smart View a ve webovém rozhraní aplikace Essbase.
Skript MDX je soubor s příponou .mdx
, který lze nahrát a poté spustit z nabídky Úlohy nebo z komponenty Smart View. Ve skriptech MDX lze používat pouze výrazy MDX Insert a Export. K analýze dat tabulek je vhodnější používat místo skriptů MDX spíše sestavy MDX.
Témata:
Dotazy můžete ukládat a vykonávat ve webovém rozhraní aplikace Essbase pomocí sestav MDX. K vytvoření sestavy je nutné minimálně oprávnění Správce databází.
Definovat rozvržení pomocí záložky Ad hoc analýza není vždy tím nejefektivnějším způsobem, jak vytvořit složitější sestavu. Pokud víte přesně, na co se chcete dotazovat, můžete pomocí MDX vytvořit dotaz pro vyplnění mřížky.
Další informace o MDX naleznete v části MDX a Psaní dotazů MDX.
Způsob práce se sestavami závisí na vašem přístupu ke krychli.
Uživatelé s minimální rolí Přístup k databázi na úrovni aplikací si mohou generovat uložené sestavy MDX vytvořené jinými uživateli. Data, která se uživateli v sestavě zobrazí, závisí na filtraci přístupu daného uživatele.
Kromě generování uložených sestav mohou uživatelé s oprávněním Přístup k databázi exportovat sady výsledků v různých formátech: HTML, CSV, Excel a JSON.
Uživatelé s oprávněním Přístup k databázi si též mohou zobrazit dotaz MDX, který sestavu definuje; stačí kliknout na nabídku Akce u názvu sestavy a vybrat příkaz Zobrazit.
Máte-li alespoň roli Správce databází, můžete se sestavami pracovat stejným způsobem jako uživatelé s oprávněním Přístup k databázi. Dále můžete pomocí nabídky Akce sestavy upravovat a odstraňovat.
Máte-li oprávnění Správce služeb, můžete také pomocí tlačítka Vykonat jako zastoupit jiného uživatele a zkontrolovat tak jeho přístup k datům. Tato volba je užitečná při testování filtrů přiřazených různým uživatelům.
Příklady sestav MDX uvedené v této sekci ukazují speciální typy analýz, které můžete pomocí sestav MDX provádět a které by bylo obtížné provádět v zobrazení Ad hoc analýza.
Následující příklady jsou určeny pro použití v krychli Sample Basic.
Sestava metadat
Následující příklad vrátí pouze metadata (názvy prvků, ale žádná data):
SELECT {[Product].Levels(1).Members} ON ROWS, {} ON COLUMNS
Vrácená mřížka:
Sestava atributů
V následujícím příkladu jsou jako sloupce použity prvky dimenze atributů:
SELECT [Product].Children ON ROWS, [Ounces].Children ON COLUMNS WHERE {Sales}
Vrácená mřížka:
Filtrovaná sestava
V následujícím příkladu je použita výseč (slovo WHERE), která omezuje dotaz na značku Cola. Funkce Filtr dále omezí trhy úrovně 0 v dotazu na ty z nich, které vykazují záporný zisk.
SELECT { Profit } ON COLUMNS, Filter( [Market].levels(0).members, Profit < 0) ON ROWS WHERE {Cola}
Vrácená mřížka:
Sestava UDA
Následující příklad ukazuje data Produkt pro prvky dimenze Trh, u kterých je použit uživatelský atribut (UDA) „Významný trh“. Výseč (slovo WHERE) omezuje dotaz pouze na data Prodej.
SELECT [Product].Children ON ROWS, {Intersect(UDA([Market], "Major Market"), [Market].Children)} ON COLUMNS WHERE {Sales}
Vrácená mřížka:
Kromě toho, že je jazyk MDX užitečný k analýze na základě mřížky, umožňuje také kopírovat a aktualizovat podmnožiny vícerozměrných dat.
Klauzule vložení příkazu MDX umožňuje aktualizovat krychli pomocí vypočteného (nefyzického) prvku, který pomocí příkazu MDX definujete.
Pomocí klauzule exportu příkazu MDX lze ukládat a exportovat výsledky dotazů jako podmnožiny dat, které lze zobrazit nebo importovat později.
Příkazy MDX pro vložení a export lze spouštět jako uložené skripty MDX.
Další informace o příkazech MDX pro vložení a export najdete v části Zadání vložení příkazu MDX a Zadání exportu příkazu MDX.
Potřebujete-li provádět operace vložení nebo exportu dat, použijte skripty MDX.
K analýze dat v tabulkách používejte sestavy MDX. Prostudujte si téma Analýza dat pomocí sestav MDX.
Chcete-li použít skripty MDX, vyberte pracovní postup:
Tento pracovní postup slouží k psaní skriptů MDX v textovém editoru a k jejich nahrávání do aplikace Essbase.
Napište skript MDX v textovém editoru a uložte jej s příponou .mdx
.
Odešlete skript MDX do adresáře aplikace nebo krychle v nabídce Soubory webového rozhraní systému Essbase.
Skript MDX můžete spustit ze stránky Úlohy nebo z nástroje Smart View pomocí příkazu Vypočítat na pásu karet aplikace Essbase.
Tento pracovní postup použijte k zapsání skriptů MDX v editoru skriptů v krychli. Skripty poté spusťte z nabídky Úlohy.
Na stránce Aplikace otevřete aplikaci a poté otevřete databázi (krychli).
Klikněte na položku Skripty a poté na volbu Skripty MDX.
Klikněte na volbu Vytvořit, zadejte název skriptu a klikněte na tlačítko OK.
Napište skript MDX. Jako nápověda slouží strom prvků a seznam funkcí.
Skript ověřte a uložte. Poté editor skriptů zavřete.
Prostřednictvím volby Úlohy (viz Spustit MDX) spusťte skript MDX. Pokud využíváte modul Smart View, použijte volbu Vypočítat na pásu karet aplikace Essbase.
Na stránce Aplikace rozbalte aplikaci a krychli.
V nabídce krychle Akce klikněte na volbu Zkontrolovat.
Klikněte na volbu Skripty a poté na volbu Skripty MDX.
Kliknutím na tlačítko + otevřete editor skriptů.
Napište skript MDX. Jako nápověda slouží strom prvků a seznam funkcí.
Skript ověřte a uložte. Poté editor skriptů zavřete.
Prostřednictvím volby Úlohy (viz Spustit MDX) spusťte skript MDX. Pokud využíváte modul Smart View, použijte volbu Vypočítat na pásu karet aplikace Essbase.
K vytváření skriptů MDX pomocí sešitu aplikace a jejich spouštění z nabídky Úlohy použijte tento pracovní postup.
Při práci se skripty MDX použijte následující vodítka.
Potřebujete-li provádět operace vložení nebo exportu dat, použijte skripty MDX.
Pro analýzu mřížky používejte místo skriptů MDX sestavy MDX.
Skripty MDX mohou volitelně obsahovat substituční runtime proměnné.
Skripty MDX se substitučními proměnnými běhového prostředí musejí ve výpočetním příkazu SET RUNTIMESUBVARS používat syntaxi XML včetně <RTSV_HINT>
, aby je bylo možné použít v modulu Smart View.
Chcete-li nastavit substituční proměnnou běhového prostředí tak, aby v modulu Smart View docházelo k výpočtu pouze viditelného řezu dat, nastavte pro substituční proměnnou běhového prostředí hodnotu POV a pro typ dat hodnotu prvek.
Spouštíte-li skript z webového rozhraní systému Essbase, mohou skripty MDX používat substituční proměnné, ale nikoli substituční proměnné běhového prostředí. Chcete-li ve skriptech MDX použít substituční runtime proměnné, musíte skripty spouštět z modulu Smart View kliknutím na volbu Vypočítat na pásu karet aplikace Essbase.
Níže jsou uvedeny příklady skriptů MDX, které můžete spustit v Základní vzorové krychli buď prostřednictvím volby Úlohy, nebo v modulu Smart View.
Vložení skriptu MDX
Tento skript .mdx
lze uložit a spustit jej prostřednictvím volby Úlohy nebo z dialogu Vypočítat v modulu 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ýše uvedený příklad předpokládá, že již máte do základních vzorků přidán ukazatel Revised_Payroll.
Export skriptu MDX
Tento skript .mdx
lze uložit a spustit jej prostřednictvím volby Úlohy nebo z dialogu Vypočítat v modulu 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 spuštění skriptu se v adresáři krychle katalogu souborů uloží následující soubor exportu sample01.txt
:
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 skriptu MDX pomocí substituční runtime proměnné
Tento skript .mdx
lze uložit a spustit jej prostřednictvím dialogu Vypočítat v modulu 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 spuštění skriptu se v adresáři krychle katalogu souborů uloží následující soubor exportu sample002.txt
:
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