Operatori (sintassi MDX)

Gli operatori disponibili nel linguaggio MDX (Multidimensional Expressions) consentono di eseguire le operazioni seguenti:

  • Modificare i dati in modo permanente o temporaneo.

  • Ricercare oggetti o valori che soddisfano una condizione specificata.

  • Effettuare una scelta tra due valori o espressioni.

  • Verificare l'esistenza di condizioni specifiche prima di iniziare o eseguire il commit di una transazione oppure prima di eseguire istruzioni specifiche.

MDX supporta gli operatori elencati nella tabella seguente:

Per eseguire questo tipo di operazione Usare
Assegnare un valore a una variabile oppure associare un alias a una colonna di un set di risultati. Operatori di assegnazione
Eseguire addizioni, sottrazioni, moltiplicazioni e divisioni. Operatori aritmetici
Stabilire se una condizione è vera, ad esempio AND, OR, NOT e XOR. Operatori bit per bit
Confrontare un valore con un altro valore o un'espressione. Operatori di confronto
Combinare due stringhe in un'unica stringa in modo permanente o temporaneo. Operatori di concatenazione
Combinare due espressioni set in un unico set in modo permanente o temporaneo. Operatori sui set
Eseguire un'operazione su un operando. Operatori unari

Nota

Nelle query può eseguire operazioni qualsiasi utente in grado di visualizzare i dati del cubo da utilizzare con uno specifico operatore. Per modificare i dati è tuttavia necessario disporre delle autorizzazioni appropriate.

Quando si utilizzano più operatori, l'ordine in cui vengono valutati da MDX è molto importante. Per utilizzare alcuni operatori, inoltre, può essere necessario convertire i dati da un tipo di dati a un altro affinché gli operatori possano essere valutati.

Valutazione di espressioni complesse

Quando si compila un'espressione è possibile utilizzare gli operatori per combinare diverse espressioni più piccole. In queste espressioni complesse MDX valuta gli operatori in ordine in base alla definizione della precedenza dell'operatore usata da Analysis Services. Gli operatori con precedenza superiore vengono applicati prima di quelli con precedenza inferiore.

Informazioni sulla precedenza degli operatori

Nell'elenco seguente viene illustrata la precedenza degli operatori, dalla più alta alla più bassa. Gli operatori indicati sulla stessa riga hanno la stessa precedenza e vengono valutati da sinistra a destra, a meno che non siano presenti parentesi che impongono un ordine diverso:

  • IS

  • :

  • ^

  • /, *

  • +, -

  • <>, >=, =, <=, >, <

  • NOT

  • E

  • XOR

  • OPPURE

Per altre informazioni sugli operatori in MDX, vedere MDX Operator Reference (MDX).

Determinazione dei risultati

Quando si combinano più espressioni semplici in modo da formare un'espressione complessa, il tipo di dati del valore risultante viene ottenuto combinando le regole degli operatori con le regole relative alla precedenza dei tipi di dati.

Se il risultato è un carattere o un valore Unicode, le regole di confronto verranno determinate combinando le regole degli operatori con le regole sulla precedenza delle regole di confronto. Per altre informazioni sulle regole di confronto, vedere Linguaggi e regole di confronto (Analysis Services).

Sono previste inoltre regole per determinare precisione, scala e lunghezza del risultato in base alla precisione, alla scala e alla lunghezza delle varie espressioni semplici.

Conversione dei tipi di dati

MDX converte implicitamente un oggetto in un tipo diverso se tale oggetto viene utilizzato in un'espressione che richiede un tipo diverso. Nella tabella seguente sono definite le regole di conversione per ogni oggetto.

Tipo originale Tipo necessario Conversione
Livello Set <level.members>
Gerarchia Membro <hierarchy.defaultmember>
Membro Tuple (<Membro>)
Tuple Membro <tuple.item>(0)
Tuple Scalare <tuple.value>

Vedi anche

Guida di riferimento all'operatore MDX (MDX)
Elementi della sintassi MDX (MDX)