MDX (Multidimensional Expressions) este un limbaj puternic de manipulare şi interogare a datelor.
Cu MDX, puteţi să:
Interogaţi şi raportaţi datele şi metadatele din cuburile Essbase
Inseraţi date într-un cub Essbase
Exportaţi date dintr-un cub Essbase
O interogare MDX este o singură instrucţiune MDX, care are exact un set de rezultate, care se aplică unui singur cub.
Un raport MDX este o singură interogare MDX, salvată în contextul cubului. Puteţi accesa rapoartele MDX din Smart View şi din interfaţa web Essbase.
Un script MDX este un fişier, cu o extensie .mdx
, pe care îl puteţi încărca şi apoi rula din Joburi sau din Smart View. Doar instrucţiunile MDX Insert şi Export trebuie utilizate în instrucţiunile MDX. Pentru a analiza datele grilei, utilizaţi rapoartele MDX în loc de scripturile MDX.
Subiecte:
Puteţi stoca și randa interogări în interfaţa web Essbase folosind rapoartele MDX. Permisiunea minimă necesară pentru a crea un raport este Manager bază de date.
Definirea Machetelor utilizând fila Analiză ad-hoc ar putea să nu fie întotdeauna cea mai eficientă modalitate de a crea un raport sofisticat. Dacă știţi exact ce doriţi să interogaţi, puteţi utiliza MDX pentru a crea o interogare pentru a popula grila.
Pentru a afla mai multe despre MDX, consultaţi MDX şi Scrierea interogărilor MDX.
Modul în care lucraţi cu rapoartele depinde de accesul la cubul dvs.
Utilizatorii care au cel puţin rolul Acces bază de date la nivel de aplicaţie pot randa rapoartele MDX salvate create de alţii. Datele pe care un utilizator le vede afişate în raport depind de accesul la filtre al utilizatorului respectiv.
Pe lângă randarea rapoartelor salvate, utilizatorii cu Acces la baza de date pot exporta seturi de rezultate în diferite formate: HTML, CSV, Excel şi JSON.
Utilizatorii cu Acces la baza de date pot vizualiza şi interogarea MDX care defineşte raportul, făcând clic pe meniul Acţiuni de lângă numele raportului şi selectând Vizualizare.
Dacă aveţi cel puţin rolul Manager bază de date, puteţi utiliza rapoartele în aceleaşi moduri în care le pot accesa utilizatorii cu Access la baza de date. În plus, puteţi să editaţi şi să ştergeţi rapoartele utilizând meniul Acţiuni.
Dacă sunteţi Administrator serviciu, puteţi utiliza în plus butonul Executare ca pentru a delega alţi utilizatori şi a verifica accesul lor la date. Acest lucru poate fi util pentru testarea filtrelor alocate diferiţilor utilizatori.
Exemplele MDX din această secţiune demonstrează tipuri speciale de analize pe care le puteţi efectua, utilizând rapoarte MDX, care nu sunt ușor de realizat în vizualizarea Analiză ad-hoc.
Următoarele exemple sunt desemnate să funcţioneze cu cubul Sample Basic.
Raportul Metadate
Următorul exemplu returnează numai metadate (numele membrilor, dar fără date):
SELECT {[Product].Levels(1).Members} ON ROWS, {} ON COLUMNS
returnarea grilei:
Raport atribut
Următorul exemplu folosește, pe coloane, membrii dintr-o dimensiune a atributelor:
SELECT [Product].Children ON ROWS, [Ounces].Children ON COLUMNS WHERE {Sales}
returnarea grilei:
Raport filtrat
Următorul exemplu folosește un slicer (clauza WHERE) pentru a limita interogarea la Cola. În plus, funcţia Filtrare limitează pieţele de nivel 0 din interogare la cele care au un profit negativ.
SELECT { Profit } ON COLUMNS, Filter( [Market].levels(0).members, Profit < 0) ON ROWS WHERE {Cola}
returnarea grilei:
Raport UDA
Următorul exemplu arată datele Produs pentru membrii dimensiunii Piaţă care au un atribut definit de utilizator (UDA) de „Piaţă majoră”. Un slicer (clauza WHERE) limitează interogarea pentru a include numai datele despre Vânzări.
SELECT [Product].Children ON ROWS, {Intersect(UDA([Market], "Major Market"), [Market].Children)} ON COLUMNS WHERE {Sales}
returnarea grilei:
În plus faţă de a fi util pt. analiza bazată pe grilă, MDX vă permite, de asemenea, să copiaţi şi să actualizaţi subseturi de date multidimensionale.
Clauza MDX Insert vă permite să actualizaţi cubul cu date, utilizând un membru (non-fizic) calculat, pe care-l definiţi cu ajutorul MDX.
Clauza MDX Export vă permite să salvaţi şi să exportaţi rezultatele interogării ca subseturi de date pe care le puteţi vizualiza sau importa ulterior.
Instrucţiunile MDX Insert şi Export pot rula ca script-uri MDX salvate.
Pentru a afla mai multe despre MDX Insert şi Export, consultaţi Specificaţia MDX Insert şi Specificaţia MDX Export.
Utilizaţi scripturile MDX când trebuie să executaţi operaţiile Inserare sau Export date.
Pentru analiza datelor grilei, utilizaţi rapoartele MDX. Consultaţi Analiza datelor cu rapoartele MDX.
Pentru a utiliza script-uri MDX, selectaţi un workflow:
Utilizaţi acest flux de lucru pt. a scrie script-uri MDX într-un editor de text şi a le încărca în Essbase.
Scrieţi scriptul MDX într-un editor de text şi salvaţi-l cu extensia .mdx
.
Încărcaţi scriptul MDX în directorul aplicaţiei sau cubului, din Fişiere, în interfaţa web Essbase.
Rulaţi scriptul MDX din Joburi sau din Smart View, folosind Calculate pe panglica Essbase.
Utilizaţi acest flux pt. a scrie script-uri MDX într-un editor de scripturi din cub şi rulaţi-le apoi din secţiunea Joburi.
Pe pagina Aplicaţii, deschideţi aplicaţia şi apoi baza de date (cubul).
Faceţi clic pe Script-uri şi apoi pe Script-uri MDX.
Faceţi clic pe Creare, introduceţi un nume pentru script şi faceţi clic pe OK.
Scrieţi scriptul MDX. Un arbore al membrilor şi o listă de funcţii vă pot ajuta.
Validaţi şi salvaţi scriptul, apoi închideţi editorul de script-uri.
Rulaţi scriptul MDX din Joburi (consultaţi Rulare MDX) sau, dacă utilizaţi Smart View, utilizând Calcul din panglica Essbase.
În pagina Aplicaţii, extindeţi o aplicaţie şi un cub.
Din meniul Acţiuni al cubului, faceţi clic pe Inspectare.
Faceţi clic pe Script-uri, apoi faceţi clic pe Script-uri MDX.
Faceţi clic pe + pt. a deschide un editor de script-uri.
Scrieţi scriptul MDX. Un arbore al membrilor şi o listă de funcţii vă pot ajuta.
Validaţi şi salvaţi scriptul, apoi închideţi editorul de script-uri.
Rulaţi scriptul MDX din Joburi (consultaţi Rulare MDX) sau, dacă utilizaţi Smart View, utilizând Calcul din panglica Essbase.
Utilizaţi acest flux de lucru pt. a crea script-uri MDX utilizând un registru de lucru al aplicaţiei, apoi rulaţi-le din secţiunea Joburi.
Utilizaţi următoarele îndrumări când lucraţi cu script-uri MDX.
Utilizaţi scripturile MDX când trebuie să executaţi operaţiile Inserare sau Export date.
Pentru a analiza grila, utilizaţi rapoartele MDX în loc de scripturile MDX.
Script-urile MDX pot include, opţional, variabile de înlocuire la runtime.
Pentru a putea fi utilizate în Smart View, script-urile MDX cu variabile de înlocuire la runtime trebuie să utilizeze sintaxa XML în comanda de calcul SET RUNTIMESUBVARS, inclusiv <RTSV_HINT>
.
Pentru a seta ca o variabilă de înlocuire la runtime să calculeze doar sectorul vizibil de date din Smart View, setaţi valoarea variabilei de înlocuire la runtime la Perspectivă şi setaţi tipul de date la membru.
Când sunt rulate din interfaţa web Essbase, script-urile dvs. MDX pot utiliza variabile de înlocuire, dar nu variabile de înlocuire la runtime. Pentru a utiliza variabile de înlocuire la runtime în script-uri MDX, trebuie să rulaţi script-urile din Smart View, utilizând Calcul din panglica Essbase.
Urmează exemple de script-uri MDX pe care le puteţi rula din cubul Sample Basic, fie din Joburi, fie din Smart View.
Inserare MDX
Puteţi să salvaţi acest script .mdx
şi să-l rulaţi din Joburi sau din dialogul Calcul din 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] );
Exemplul de mai sus presupune că aţi adăugat anterior un subindicator Revised_Payroll la Sample Basic.
Export MDX
Puteţi să salvaţi acest script .mdx
şi să-l rulaţi din Joburi sau din dialogul Calcul din 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])
După ce rulaţi scriptul, următorul fişier de export, sample01.txt
, este salvat în directorul cubului din catalogul de fişiere:
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 cu ajutorul variabilei de înlocuire la runtime
Puteţi să salvaţi acest script .mdx
şi să-l rulaţi din dialogul Calcul din 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])
După ce rulaţi scriptul, următorul fişier de export, sample002.txt
, este salvat în directorul cubului din catalogul de fişiere:
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