Operatori (sintassi MDX)Operators (MDX Syntax)

SI APPLICA A:sìSQL Server Analysis ServicesnoAzure Analysis ServicesAPPLIES TO:yesSQL Server Analysis ServicesnoAzure Analysis Services

Gli operatori disponibili nel linguaggio MDX (Multidimensional Expressions) consentono di eseguire le operazioni seguenti:In Multidimensional Expressions (MDX), operators let you perform the following actions:

  • Modificare i dati in modo permanente o temporaneo.Change data, either permanently or temporarily.

  • Ricercare oggetti o valori che soddisfano una condizione specificata.Search for values or objects that meet a specified condition.

  • Effettuare una scelta tra due valori o espressioni.Implement a decision between values or expressions.

  • Verificare l'esistenza di condizioni specifiche prima di iniziare o eseguire il commit di una transazione oppure prima di eseguire istruzioni specifiche.Test for specific conditions before beginning or committing a transaction, or before executing specific statements.

    MDX supporta gli operatori elencati nella tabella seguente:MDX supports the operators listed in the following table:

Per eseguire questo tipo di operazioneTo perform this type of operation UtilizzareUse
Assegnare un valore a una variabile oppure associare un alias a una colonna di un set di risultati.Assigns a value to a variable, or associates a result set column with an alias. Operatori di assegnazioneAssignment Operators
Eseguire addizioni, sottrazioni, moltiplicazioni e divisioni.Addition, subtraction, multiplication, division. Operatori aritmeticiArithmetic Operators
Stabilire se una condizione è vera, ad esempio AND, OR, NOT e XOR.Test for the truth of a condition, such as AND, OR, NOT, and XOR. Operatori bit per bitBitwise Operators
Confrontare un valore con un altro valore o un'espressione.Compare a value against another value or an expression. Operatori di confrontoComparison Operators
Combinare due stringhe in un'unica stringa in modo permanente o temporaneo.Either permanently or temporarily combine two strings into one string. Operatori di concatenazioneConcatenation Operators
Combinare due espressioni set in un unico set in modo permanente o temporaneo.Either permanently or temporarily combine two set expressions into a single set. Operatori sui setSet Operators
Eseguire un'operazione su un operando.Performs an operation on one operand. Operatori unariUnary Operators

Nota

Nelle query può eseguire operazioni qualsiasi utente in grado di visualizzare i dati del cubo da utilizzare con uno specifico operatore.In queries, anyone who can see the data in the cube to be used with some type of operator can perform operations. Per modificare i dati è tuttavia necessario disporre delle autorizzazioni appropriate.However, you need the appropriate permissions before you can successfully change the data.

Quando si utilizzano più operatori, l'ordine in cui vengono valutati da MDX è molto importante.When using multiple operators, the order in which MDX evaluates the operators is important. 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.Similarly, the user of operators may require that one data type be converted into another data type before the operators can be evaluated.

Valutazione di espressioni complesseEvaluating Complex Expressions

Quando si compila un'espressione è possibile utilizzare gli operatori per combinare diverse espressioni più piccole.You can build an expression by using operators to combine several smaller expressions. In queste espressioni complesse MDX valuta gli operatori nell'ordine in base alla definizione di precedenza degli operatori utilizzata da MicrosoftMicrosoft SQL ServerSQL Server Analysis ServicesAnalysis Services.In these complex expressions, MDX evaluates the operators in order based on the definition of operator precedence used by MicrosoftMicrosoft SQL ServerSQL Server Analysis ServicesAnalysis Services. Gli operatori con precedenza superiore vengono applicati prima di quelli con precedenza inferiore.MDX performs operators with higher precedence before performing operators with lower precedence.

Informazioni sulla precedenza degli operatoriUnderstanding Operator Precedence

Nell'elenco seguente viene illustrata la precedenza degli operatori, dalla più alta alla più bassa.The following list shows operator precedence, from highest to lowest. 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:Operators in the same line are equal in precedence, and are evaluated from left to right unless otherwise forced by parenthesis:

Determinazione dei risultatiDetermining Results

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.When you combine simple expressions to form a complex expression, the rules for the operators combined with the rules for data type precedence determine the data type of the resulting value.

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.If the result is a character or Unicode value, the rules for the operators combined with the rules for collation precedence determines the collation of the result. Per ulteriori informazioni sulle regole di confronto, vedere lingue e regole di confronto ( Analysis Services ) .For more information about collations, see Languages and Collations (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.There are also rules that determine the precision, scale, and length of the result based on the precision, scale, and length of the simple expressions.

Conversione dei tipi di datiConverting Data Types

MDX converte implicitamente un oggetto in un tipo diverso se tale oggetto viene utilizzato in un'espressione che richiede un tipo diverso.MDX implicitly converts an object to a different type when that object is used in an expression that requires a different type. Nella tabella seguente sono definite le regole di conversione per ogni oggetto.The following table defines the conversion rules for each object.

Tipo originaleOriginal Type Tipo necessarioType Needed ConversioneConversion
LevelLevel ImpostareSet <livello >. Members<level>.members
GerarchiaHierarchy MembroMember <gerarchia > .defaultmember<hierarchy>.defaultmember
MembroMember TuplaTuple (<Membro >)(<Member>)
TuplaTuple MembroMember <tupla > .item(0)<tuple>.item(0)
TuplaTuple ScalareScalar <tupla >. Value<tuple>.value

Vedere ancheSee Also

Riferimento agli operatori MDX ( MDX ) MDX Operator Reference (MDX)
Gli elementi della sintassi MDX ( MDX )MDX Syntax Elements (MDX)