Share via


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

Utilizzare

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 sugli insiemi

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 crea un'espressione è possibile utilizzare gli operatori per combinare diverse espressioni più piccole. In queste espressioni complesse MDX valuta gli operatori secondo un ordine basato sulla definizione di precedenza degli operatori utilizzata da MicrosoftSQL ServerAnalysis 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

  • AS

  • DISTINCT

  • :

  • ^

  • /, *

  • +, -

  • EXISTING

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

  • NOT

  • AND

  • XOR

  • OR

Per ulteriori informazioni sugli operatori in MDX, vedere Guida di riferimento agli operatori MDX (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 ulteriori informazioni sulle regole di confronto, vedere Lingue e regole di confronto (Analysis Services - Dati multidimensionali).

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

Tupla

(<Member>)

Tupla

Membro

<tuple>.item(0)

Tupla

Valore scalare

<tuple>.value