Operátory (syntaxe MDX)

V Multidimenzionálních výrazech (MDX) vám operátory umožňují provádět následující akce:

  • Změňte data, ať už trvale nebo dočasně.

  • Hledejte hodnoty nebo objekty, které splňují danou podmínku.

  • Implementujte rozhodnutí mezi hodnotami nebo výrazy.

  • Testujte konkrétní podmínky před zahájením nebo potvrzením transakce, nebo před vykonáním konkrétních příkazů.

MDX podporuje operátory uvedené v následující tabulce:

Pro provedení tohoto typu operace Využití
Přiřazuje hodnotu proměnné nebo přiřazuje sloupec výsledkové množiny aliasem. operátory přiřazení
Sčítání, odečítání, násobení, dělení. Aritmetické operátory
Otestujte pravdivost nějakého stavu, jako jsou AND, OR, NOT a XOR. Bitové operátory
Porovnejte hodnotu s jinou hodnotou nebo výrazem. Operátory porovnání
Buď trvale, nebo dočasně spojte dvě struny do jedné struny. Operátory konkatenace
Buď trvale, nebo dočasně spojit dva výrazy množiny do jedné množiny. Nastavit operátory
Provede operaci na jednom operandu. Unární operátory

Note

V dotazech může kdokoli, kdo vidí data v kostce pro použití s nějakým typem operátoru, provádět operace. Nicméně potřebujete příslušná oprávnění, než můžete data úspěšně změnit.

Při použití více operátorů je důležité pořadí, v jakém MDX vyhodnocuje operátory. Podobně uživatel operátorů může požadovat, aby byl jeden datový typ převeden na jiný datový typ před tím, než mohou být operátory vyhodnoceny.

Vyhodnocení komplexních výrazů

Výraz můžete vytvořit pomocí operátorů ke spojení několika menších výrazů. V těchto komplexních výrazech MDX vyhodnocuje operátory v pořadí na základě definice priority operátorů používané Analysis Services. MDX provádí operátory s vyšší prioritou před provozem operátorů s nižší prioritou.

Pochopení priority operátorů

Následující seznam ukazuje přednost operátora od nejvyšší po nejnižší. Operátory ve stejné linii mají stejnou přednost a jsou hodnoceny zleva doprava, pokud to není vynuceno jinak závorkou:

  • IS

  • :

  • ^

  • /, *

  • +, -

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

  • NOT

  • AND

  • XOR

  • OR

Pro více informací o operátorech v MDX viz MDX Operator Reference (MDX).

Určování výsledků

Když spojíte jednoduché výrazy do složitého výrazu, pravidla operátorů v kombinaci s pravidly pro přednost datových typů určují datový typ výsledné hodnoty.

Pokud je výsledkem znak nebo Unicode hodnota, pravidla operátorů v kombinaci s pravidly pro přednost kolace určují třídění výsledku. Pro více informací o kolacích viz Jazyky a kolace (Analytické služby).

Existují také pravidla, která určují přesnost, měřítko a délku výsledku na základě přesnosti, měřítka a délky jednoduchých výrazů.

Převod datových typů

MDX implicitně převádí objekt na jiný typ, pokud je tento objekt použit ve výrazu, který vyžaduje jiný typ. Následující tabulka definuje konverzní pravidla pro každý objekt.

Původní typ Požadovaný typ Conversion
Úroveň Nastavit <level.members>
Hierarchie Člen <hierarchy.defaultmember>
Člen Tuple (<Člen>)
Tuple Člen <Tuple.item>(0)
Tuple Skalární <tuple.value>