Analizzare e gestire i dati con MDX
MDX (Multidimensional Expressions) è un linguaggio di manipolazione dati ed esecuzione query particolarmente potente.
Il linguaggio MDX consente di:
-
eseguire query e report su dati e metadati nei cubi Essbase;
-
inserire i dati in un cubo Essbase;
-
esportare i dati da un cubo Essbase.
Una query MDX è un'istruzione MDX singola, che dispone esattamente di un solo set di risultati, che si applica a un cubo singolo.
Un report MDX è una query MDX singola salvata nel contesto del cubo. È possibile accedere ai report da Smart View e dall'interfaccia Web di Essbase.
Uno script MDX è un file con estensione .mdx che può essere caricato e quindi eseguito dalla pagina Job o in Smart View. Negli script MDX devono essere utilizzate solo istruzioni MDX Insert ed Export. Per analizzare i dati di griglia, utilizzare i report MDX anziché gli script MDX.
Analizzare i dati con report MDX
È possibile memorizzare e visualizzare le query nell'interfaccia Web di Essbase utilizzando i report MDX. L'autorizzazione minima richiesta per creare un report è Gestione database.
La definizione di layout mediante la scheda Analisi ad hoc potrebbe non essere il metodo più efficace per creare un report elaborato. Se si conosce esattamente la natura dei dati su cui eseguire una query, è possibile utilizzare il linguaggio MDX per creare la query per popolare la griglia.
Per ulteriori informazioni su MDX, vedere MDX e Writing MDX Queries.
Accesso ai report MDX
Le modalità d'uso dei report MDX di Essbase dipendono dall'accesso al cubo.
Gli utenti che dispongono, come minimo, del ruolo a livello applicazione Accesso a database possono visualizzare i report MDX salvati creati da altri utenti. I dati che un utente può vedere visualizzati nel report dipendono dell'accesso filtro di cui dispone.
Oltre a visualizzare i report salvati, gli utenti con il ruolo Accesso a database possono esportare i set di risultati in vari formati: HTML, CSV, Excel e JSON.
Gli utenti con il servizio Accesso a database possono inoltre visualizzare l'interrogazione MDX che definisce il report facendo clic sul menu Azioni accanto al nome del report e selezionando Visualizza.
Se si dispone almeno del ruolo Gestione database, è possibile utilizzare i report come gli utenti che dispongono del ruolo Accesso a database. Inoltre, è possibile modificare ed eliminare i report utilizzando il menu Azioni.
Gli amministratori di servizi usufruiscono del privilegio aggiuntivo che consiste nell'uso del pulsante Esegui come per rappresentare altri utenti e verificarne l'accesso ai dati. Ciò può essere utile per eseguire i test dei filtri assegnati ai vari utenti.
Esempi di report MDX
Gli esempi MDX di questa sezione descrivono tipi speciali di analisi, che è possibile eseguire tramite i report MDX. Salvare i report MDX nella vista Analizza dell'interfaccia Web di Essbase, nella scheda Report.
Gli esempi riportati di seguito sono stati progettati per l'uso con il cubo Sample Basic.
Report metadati
L'esempio seguente restituisce solo i metadati (i nomi dei membri ma non i dati):
SELECT
{[Product].Levels(1).Members}
ON ROWS,
{}
ON COLUMNS
viene restituita la griglia seguente:

Report attributi
L'esempio seguente utilizza i membri di una dimensione attributo nelle colonne:
SELECT
[Product].Children
ON ROWS,
[Ounces].Children
ON COLUMNS
WHERE {Sales}viene restituita la griglia seguente:

Report filtrato
L'esempio seguente utilizza uno slicer (clausola WHERE) per limitare la query a Cola. Inoltre, la funzione Filter limita i mercati di livello 0 nella query ai soli mercati con profitto negativo.
SELECT
{ Profit }
ON COLUMNS,
Filter( [Market].levels(0).members, Profit < 0)
ON ROWS
WHERE {Cola}
viene restituita la griglia seguente:

Report ADU
L'esempio seguente mostra i dati Product per i membri dimensione Market ai quali è associato l'attributo definito dall'utente (ADU) "Major Market". Uno slicer (clausola WHERE) limita la query in modo che includa solo i dati Sales.
SELECT
[Product].Children
ON ROWS,
{Intersect(UDA([Market], "Major Market"), [Market].Children)}
ON COLUMNS
WHERE {Sales}
viene restituita la griglia seguente:

Inserire ed esportare i dati con MDX
Oltre a essere utile per l'analisi basata su griglia di Essbase, MDX consente anche di copiare e aggiornare i subset di dati multidimensionali.
La clausola MDX Insert consente di aggiornare il cubo con i dati utilizzando un membro calcolato (non fisico) definito con il linguaggio MDX.
La clausola MDX Export consente di salvare ed esportare i risultati delle query sotto forma di subset che sarà possibile visualizzare o importare in un secondo momento.
Le istruzioni MDX Insert ed Export possono essere eseguite come script MDX salvati.
Per ulteriori informazioni sull'inserimento e l'esportazione MDX, vedere Specifica di inserimento MDX e Specifica di esportazione MDX.
Eseguire gli script MDX
Utilizzare gli script MDX quando è necessario eseguire operazioni di inserimento o esportazione dei dati.
Per l'analisi dei dati di griglia utilizzare i report MDX. Vedere Analizzare i dati con report MDX.
Per usare gli script MDX selezionare un workflow:
Scrivere, caricare ed eseguire uno script MDX
Utilizzare questo workflow per scrivere script MDX in un editor di testo e caricarli in Essbase.
-
Scrivere lo script MDX in un editor di testo e salvarlo con l'estensione
.mdx. -
Caricare lo script MDX nella directory dell'applicazione o del cubo sotto File nell'interfaccia Web Essbase.
-
Eseguire lo script MDX da Job o da Smart View, selezionando Calcola nella barra multifunzione Essbase.
Scrivere uno script MDX nell'editor di script ed eseguirlo
Utilizzare questo workflow per scrivere gli script MDX in un editor di script nel cubo ed eseguirli da Job.
-
Nella Home page aprire l'applicazione e il database (cubo).
-
Fare clic su Script, quindi su Script MDX.
-
Fare clic su Crea, immettere un nome per lo script e fare clic su OK.
-
Scrivere lo script MDX. Una struttura ad albero di membri e una lista di funzioni possono rivelarsi utili.
-
Convalidare e salvare lo script, quindi chiudere l'editor di script.
-
Eseguire lo script MDX da Job (vedere Esegui MDX) oppure, se si utilizza Smart View, selezionando Calcola nella barra multifunzione Essbase.
Creare uno script MDX in Cube Designer ed eseguirlo
Utilizzare questo workflow per creare gli script MDX utilizzando una cartella di lavoro dell'applicazione ed eseguirli da Job.
- Creare un foglio di lavoro MDX in una cartella di lavoro dell'applicazione. Vedere Utilizzo dei fogli di lavoro MDX in Cube Designer.
- Aggiungere un nome file nel campo Nome file.
- Nel campo Esegui MDX indicare se eseguire MDX al momento della creazione del cubo. Le voci valide sono Sì e No.
- Aggiungere lo script MDX sotto la riga Script.
- Salvare la cartella di lavoro dell'applicazione.
- Generare il cubo. Fare riferimento alla sezione Creare un'applicazione e uno cubo in Cube Designer.
- Eseguire lo script MDX da Job oppure, se si utilizza Smart View, selezionando Calcola nella barra multifunzione Essbase.
Istruzioni per gli script MDX
Utilizzare gli script MDX per eseguire le operazioni di inserimento o esportazione dei dati. Per l'analisi della griglia nell'interfaccia Web di Essbase, utilizzare i report MDX anziché gli script MDX. Gli script MDX possono facoltativamente includere variabili di sostituzione runtime ed è possibile eseguirle da Smart View.
Per poter essere utilizzato in Smart View, gli script MDX che con variabili di sostituzione nel runtime devono usare la sintassi XML all'interno del comando del calcolo SET RUNTIMESUBVARS, <RTSV_HINT> compreso.
Per definire una variabile di sostituzione in runtime in modo che calcoli solo la sezione di dati visibile in Smart View, impostarne il valore su POV e impostare il tipo di dati su member.
Quando l'esecuzione viene effettuata dall'interfaccia Web Essbase, gli script MDX possono usare le variabili di sostituzione, ma non le variabili di sostituzione in runtime. Per utilizzare le variabili di sostituzione in runtime negli script MDX, è necessario eseguire gli script da Smart View utilizzando l'opzione Calcola nella barra multifunzione Essbase.
Esempi di script MDX
Di seguito sono riportati alcuni esempi di script di inserimento ed esportazione MDX che è possibile eseguire nel cubo di base di esempio, dai job nell'interfaccia Web di Essbase o dall'operazione Calcola di Smart View.
Inserimento MDX
È possibile salvare questo script .mdx ed eseguirlo da Job o dalla schermata di dialogo Calcola in 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]
);Nell'esempio precedente si suppone che l'utente abbia aggiunto una misura Revised_Payroll al cubo Sample Basic.
Esportazione MDX
È possibile salvare questo script .mdx ed eseguirlo da Job o dalla schermata di dialogo Calcola in 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])Al termine dell'esecuzione dello script, il file sample01.txt di esportazione viene salvato nella directory del cubo del catalogo file:
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,2170MDX Export con una variabile di sostituzione in runtime
È possibile salvare questo script .mdx ed eseguirlo nella finestra di dialogo Calcola in 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])
Al termine dell'esecuzione dello script, il file sample002.txt di esportazione viene salvato nella directory del cubo del catalogo file:
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