Operatorer (syntax för MDX)

I Multidimensional Expressions (MDX) låter operatorer dig utföra följande åtgärder:

  • Ändra data, antingen permanent eller tillfälligt.

  • Sök efter värden eller objekt som uppfyller ett specificerat villkor.

  • Implementera ett beslut mellan värden eller uttryck.

  • Testa för specifika villkor innan du påbörjar eller genomför en transaktion, eller innan du utför specifika satser.

MDX stöder operatorerna som listas i följande tabell:

För att utföra denna typ av operation Användning
Tilldelar ett värde till en variabel, eller associerar en resultatmängdskolumn med ett alias. tilldelningsoperatorer
Addition, subtraktion, multiplikation, division. Aritmetiska operatorer
Testa för sanningen i ett tillstånd, såsom OCH, ELLER, INTE och XOR. Bitvisa operatorer
Jämför ett värde med ett annat värde eller ett uttryck. Jämförelseoperatorer
Antingen permanent eller tillfälligt kombinera två strängar till en sträng. Konkatenationsoperatorer
Antingen permanent eller tillfälligt kombinera två mängduttryck till en enda mängd. Ange operatorer
Utför en operation på en operand. Unära operatorer

Note

I frågor kan vem som helst som kan se datan i kuben som ska användas med någon typ av operator utföra operationer. Du behöver dock rätt behörigheter innan du kan ändra datan framgångsrikt.

När man använder flera operatorer är det viktigt i vilken ordning MDX utvärderar operatorerna. På liknande sätt kan användaren av operatorer kräva att en datatyp konverteras till en annan innan operatorerna kan utvärderas.

Utvärdering av komplexa uttryck

Du kan bygga ett uttryck genom att använda operatorer för att kombinera flera mindre uttryck. I dessa komplexa uttryck utvärderar MDX operatorerna i ordning baserat på definitionen av operatorprioritet som används av Analysis Services. MDX utför operatorer med högre prioritet innan operatorer med lägre prioritet utförs.

Förståelse av operatorprioritet

Följande lista visar operatörens prioritet, från högst till lägst. Operatorer i samma rad har lika företräde och utvärderas från vänster till höger om inte annat tvingas av parentes:

  • IS

  • :

  • ^

  • /, *

  • +, -

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

  • NOT

  • AND

  • XOR

  • OR

För mer information om operatorer i MDX, se MDX Operator Reference (MDX).

Att fastställa resultat

När du kombinerar enkla uttryck för att bilda ett komplext uttryck, bestämmer reglerna för operatorerna tillsammans med reglerna för datatypsprioritet datatypen för det resulterande värdet.

Om resultatet är ett tecken eller Unicode-värde, avgör reglerna för operatorerna tillsammans med reglerna för rangordning sammansättningen av resultatet. För mer information om kollationer, se Languages and Collations (Analysis Services).

Det finns också regler som bestämmer precision, skala och längd på resultatet baserat på precision, skala och längd på de enkla uttrycken.

Konvertering av datatyper

MDX konverterar implicit ett objekt till en annan typ när det objektet används i ett uttryck som kräver en annan typ. Följande tabell definierar konverteringsreglerna för varje objekt.

Ursprunglig typ Typ behövs Conversion
Nivå Ställ in <nivåmedlemmar>
Hierarchy Medlem <hierarchy.defaultmember>
Medlem Tupel (<Medlem>)
Tupel Medlem <tuple.item>(0)
Tupel Scalar <tuple.value>