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. |
|
Eseguire addizioni, sottrazioni, moltiplicazioni e divisioni. |
|
Stabilire se una condizione è vera, ad esempio AND, OR, NOT e XOR. |
|
Confrontare un valore con un altro valore o un'espressione. |
|
Combinare due stringhe in un'unica stringa in modo permanente o temporaneo. |
|
Combinare due espressioni set in un unico set in modo permanente o temporaneo. |
|
Eseguire un'operazione su un operando. |
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 secondo un ordine basato sulla definizione di precedenza degli operatori utilizzata da Microsoft SQL Server 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
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).
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 |
(<Membro>) |
Tupla |
Membro |
<tuple>.item(0) |
Tupla |
Scalare |
<tuple>.value |
Vedere anche
Riferimento
Guida di riferimento agli operatori MDX (MDX)