MultiDimensional eXpressions

Questa voce o sezione  sull'argomento programmazione non cita le fonti necessarie o quelle presenti sono insufficienti.

* * *

Puoi migliorare questa voce aggiungendo citazioni da fonti attendibili secondo le linee guida sull'uso delle fonti.

Questa voce o sezione  sull'argomento informatica non è ancora formattata secondo gli standard.

* * *

Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti del progetto di riferimento.

MultiDimensional eXpressions è un linguaggio informatico usato nelle interrogazioni di tipo OLAP - On-Line Analytical Processing per scorrere dimensionalmente il Cubo OLAP del Data Mart in un Data Warehouse.

Sintatticamente somiglia al linguaggio SQL(linguaggio adottato per le interrogazioni in database relazionali), ma ha una semantica diversa. In alcuni aspetti risulta essere verboso e ridondante, tuttavia è possibile omettere nelle espressioni regolari alcune parti significative, la cui interpretazione è basata su regole di default.

MDX non è un linguaggio di interrogazione in senso stretto: permette di calcolare, a partire da un cubo, un dataset che ha una struttura simile a un cubo.

## Definizioni

[modifica | modifica wikitesto]

Dimensioni e attributi dimensionali si chiamano livelli. I valori delle dimensioni e degli attributi dimensionali si dicono membri (per denotare un membro le [ ] sono facoltative).

[STORE].[ALL].[Italia].[EmiliaRomagna].[RE] : percorso completo
[STORE].[RE] : Se il membro "RE" è univoco nella dimensione STORE
[CITY].[RE] : Se il livello CITY è univoco in tutte le dimensioni del cubo

Una tupla è una ennupla di membri denotati tra parentesi ( ), la cui tupla è costituita da un membro per cui la sua dimensione individua un evento primario (in altri termini è una tupla corrispondente al pattern primario).

([data].[05/05/2015], [prodotto].[brilli], [store][DiCasa])

Un evento secondario è individuato da una tupla corrispondente a un pattern secondario (nell'esempio sottostante corrispondente al pattern: {Data, Prodotto}):

([data].[05/05/2015], [prodotto].[brilli])

## Esempio query MDX

[modifica | modifica wikitesto]

L'esempio corrente mostra l'uso dell'istruzione SELECT. Questa query ritorna il risultato contenuto tra gli importi del membro "Vendite Negozio" contenuti nel 2002 e 2003 nello stato della California.

SELECT
{ [Measures].[Vendite Negozio] } ON COLUMNS,
{ [Data].[2002], [Data].[2003] } ON ROWS
FROM Vendite
WHERE ( [Store].[USA].[CA] )

## Differenze con un linguaggio per interrogazione di un database relazionale

[modifica | modifica wikitesto]

* La clausola WHERE non prevede operatori logici espliciti, l'unico operatore è l'AND definito ponendo in virgola più membri(Esempio: { [Date].[2002], [Date].[2003] } ON ROWS)
* Le condizioni possono essere specificate alternativamente alla clausola where, direttamente nella select
* Specifichiamo lo scorrimento multidimensionale con "ON COLUMNS" e "ON ROWS".

V · D · M

Linguaggi di interrogazione

In uso| .QL · ALPHA · CQL · Cypher · D · DMX · Datalog · GraphQL · Gremlin · ISBL · LDAP · LINQ · MQL · MDX · OQL · OCL · QUEL · SMARTS · SPARQL · SQL · XQuery · XPath · YQL
Proprietari| YQL · LINQ
Superati| CODASYL
Controllo di autorità| LCCN (EN) sh2002008553 · J9U (EN, HE) 987007558928105171

|

Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica
*[EN]: inglese
*[HE]: ebraico