Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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> |