Dividieren – MDX-Operatorreferenz
Führt eine arithmetische Operation aus, die eine Zahl durch eine andere dividiert.
Syntax
Dividend / Divisor
Parameter
Dividende
Ein gültiger MDX-Ausdruck (Multidimensional Expressions), der einen numerischen Wert zurückgibt.
Divisor
Ein gültiger MDX-Ausdruck, der einen numerischen Wert zurückgibt.
Rückgabewert
Ein Wert vom Datentyp des Parameters, der in der Rangfolge höher eingestuft ist.
Bemerkungen
Der tatsächliche Wert, der vom Operator /(Divide) zurückgegeben wird, stellt den Quotienten des ersten Ausdrucks dar, der durch den zweiten Ausdruck geteilt wird.
Beide Ausdrücke müssen denselben Datentyp haben, oder es muss möglich sein, einen Ausdruck implizit in den Datentyp des anderen Ausdrucks zu konvertieren. Wenn Divisor als NULL-Wert ausgewertet wird, löst der Operator einen Fehler aus. Wenn divisor und Dividend als NULL-Wert ausgewertet werden, gibt der Operator einen NULL-Wert zurück.
Beispiele
Das folgende Beispiel zeigt die Verwendung dieses Operators.
-- This query returns the freight cost per user,
-- for products, averaged by month.
With Member [Measures].[Freight Per Customer] as
[Measures].[Internet Freight Cost]
/
[Measures].[Customer Count]
SELECT
[Ship Date].[Calendar].[Calendar Year] Members ON 0,
[Product].[Category].[Category].Members ON 1
FROM
[Adventure Works]
WHERE
([Measures].[Freight Per Customer])
Die Division eines Werts ungleich 0 oder ungleich NULL durch 0 oder NULL ergibt den Wert „Unendlich“. Dieser wird in Abfrageergebnissen als „1.#INF” dargestellt. In den meisten Fällen sollten Sie auf Division durch 0 prüfen, um diese Situation zu vermeiden. Das folgende Beispiel zeigt Ihnen wie:
//Returns 1.#INF when Internet Sales Amount is zero or null
Member [Measures].[Reseller to Internet Ratio] AS
[Measures].[Reseller Sales Amount]
/
[Measures].[Internet Sales Amount]
//Traps the division by zero scenario and returns null instead of 1.#INF
Member [Measures].[Reseller to Internet Ratio With Error Handling] AS
IIF([Measures].[Internet Sales Amount]=0, NULL,
[Measures].[Reseller Sales Amount]
/
[Measures].[Internet Sales Amount])
SELECT
{[Measures].[Reseller to Internet Ratio],[Measures].[Reseller to Internet Ratio With Error Handling]} ON 0,
[Product].[Category].[Category].Members ON 1
FROM
[Adventure Works]
WHERE([Date].[Calendar].[Calendar Year].&[2001])