Analiza şi administrarea datelor cu MDX

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:

Analiza datelor cu rapoartele MDX

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 crea un raport MDX:
  1. Conectaţi-vă la interfaţa web Essbase ca Manager bază de date sau un rol superior.
  2. Navigaţi la Analiză date:
    • În interfaţa Redwood, deschideţi aplicaţia, deschideţi baza de date (cubul) şi faceţi clic pe Analiză date.
    • În interfaţa web clasică, extindeţi aplicaţia, selectaţi un cub, faceţi clic pe meniul Acţiuni din partea dreaptă a numelui cubului şi selectaţi Analiză date.
  3. În vizualizarea Analiză, selectaţi fila Rapoarte și faceţi clic pe Creare.
  4. Introduceţi numele pentru raport şi, opţional, o descriere.
  5. În câmpul Interogare, introduceţi o interogare MDX relevantă pentru cubul curent. De exemplu:
    SELECT
      {([West].children)}
    ON COLUMNS,
      {([Diet].children)}
    ON ROWS
    

    Interogarea trebuie să conţină specificaţiile axelor rândului și coloanei. Cu alte cuvinte, sintaxa de interogare trebuie să includă specificaţii pentru ambele ON COLUMNS și ON ROWS, chiar dacă numai un set gol {} este specificat pentru o axă.

    Deoarece contextul Analiză date este cubul activ, vă recomandăm să omiteţi specificaţia cubului opţional (clauza FROM) din rapoartele MDX. Omiterea clauzei FROM permite o mai mare flexibilitate, în cazul în care cubul este copiat sau redenumit, raportul va funcţiona în noul cub.

    Variabilele de înlocuire sunt acceptate în rapoartele MDX, dar nu variabilele de înlocuire a runtime-ului. Pentru a utiliza variabile de înlocuire la runtime, salvaţi interogarea MDX într-un script şi rulaţi-o din Smart View utilizând Calcul din panglica Essbase.

  6. Faceţi clic pe Validare pentru a verifica sintaxa MDX, apoi faceţi clic pe Salvare.
  7. Din panoul Rapoarte din stânga, selectaţi raportul salvat pentru a randa o grilă.

Pentru a afla mai multe despre MDX, consultaţi MDX şi Scrierea interogărilor MDX.

Accesarea rapoartelor 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.

Exemple de rapoarte MDX

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:

Rezultatul raportului arată membrii Produs 100, 200, 300, 400 și Dietă

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:

Rezultatul raportului arată, pe rânduri, membrii Produs 100, 200, 300, 400 și Dietă. Pe coloane, sunt afișaţi membrii atribut: Uncii_32, Uncii_20, Uncii_16 și Uncii_12

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:

Rezultatul raportului arată, pe rânduri, membrii Oregon, Utah, Nevada, Oklahoma, Louisiana, Ohio, Wisconsin, Missouri și Iowa pentru Piaţă. Profit este afișat pe coloane. Valorile datelor sunt negative.

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:

Rezultatul raportului arată, pe rânduri, membrii Produs 100, 200, 300, 400 și Dietă. Pe coloane sunt afișate pieţele principale Est și Central.

Inserarea şi exportul datelor cu ajutorul MDX

Î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.

Rularea script-urilor MDX

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:

Scrieţi, încărcaţi şi rulaţi un script MDX

Utilizaţi acest flux de lucru pt. a scrie script-uri MDX într-un editor de text şi a le încărca în Essbase.

  1. Scrieţi scriptul MDX într-un editor de text şi salvaţi-l cu extensia .mdx.

  2. Încărcaţi scriptul MDX în directorul aplicaţiei sau cubului, din Fişiere, în interfaţa web Essbase.

  3. Rulaţi scriptul MDX din Joburi sau din Smart View, folosind Calculate pe panglica Essbase.

Scrieţi un script MDX în Editorul de script-uri şi rulaţi-l

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.

  1. Pe pagina Aplicaţii, deschideţi aplicaţia şi apoi baza de date (cubul).

  2. Faceţi clic pe Script-uri şi apoi pe Script-uri MDX.

  3. Faceţi clic pe Creare, introduceţi un nume pentru script şi faceţi clic pe OK.

  4. Scrieţi scriptul MDX. Un arbore al membrilor şi o listă de funcţii vă pot ajuta.

  5. Validaţi şi salvaţi scriptul, apoi închideţi editorul de script-uri.

  6. Rulaţi scriptul MDX din Joburi (consultaţi Rulare MDX) sau, dacă utilizaţi Smart View, utilizând Calcul din panglica Essbase.

  1. În pagina Aplicaţii, extindeţi o aplicaţie şi un cub.

  2. Din meniul Acţiuni al cubului, faceţi clic pe Inspectare.

  3. Faceţi clic pe Script-uri, apoi faceţi clic pe Script-uri MDX.

  4. Faceţi clic pe + pt. a deschide un editor de script-uri.

  5. Scrieţi scriptul MDX. Un arbore al membrilor şi o listă de funcţii vă pot ajuta.

  6. Validaţi şi salvaţi scriptul, apoi închideţi editorul de script-uri.

  7. Rulaţi scriptul MDX din Joburi (consultaţi Rulare MDX) sau, dacă utilizaţi Smart View, utilizând Calcul din panglica Essbase.

Crearea unui script MDX în Cube Designer şi rularea sa

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.

  1. Într-un registru de lucru al aplicaţiei, creaţi o foaie de calcul MDX. Consultaţi Lucrul cu foile de calcul MDX în Cube Designer.
  2. Adăugaţi un nume de fişier în câmpul Nume fişier.
  3. În câmpul Executare MDX, indicaţi dacă se va executa MDX la crearea cubului. Intrările valide sunt Da şi Nu.
  4. Adăugaţi scriptul MDX sub linia Script.
  5. Salvaţi registrul de lucru al aplicaţiei.
  6. Generaţi cubul. Consultaţi Crearea unei aplicaţii şi a unui cub în Cube Designer.
  7. Rulaţi scriptul MDX din Joburi sau, dacă utilizaţi Smart View, utilizând Calcul din panglica Essbase.

Îndrumări pt. script-urile MDX

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.

Utilizarea variabilelor de înlocuire

Exemple de script-uri MDX

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