Condividi tramite


/ (divisione) (MDX)

Esegue un'operazione aritmetica di divisione di un numero per un altro.

Sintassi

Dividend / Divisor

Parametri

  • Dividend
    Espressione MDX (Multidimensional Expression) valida che restituisce un valore numerico.

  • Divisor
    Espressione MDX valida che restituisce un valore numerico.

Valore restituito

Valore con il tipo di dati del parametro con precedenza maggiore.

Osservazioni

Il valore effettivo restituito dall'operatore / (Divide) corrisponde al quoziente della divisione tra la prima e la seconda espressione.

È necessario che alle due espressioni sia applicato lo stesso tipo di dati oppure che un'espressione possa essere convertita in modo implicito nel tipo di dati dell'altra espressione. Se Divisor restituisce un valore Null, verrà generato un errore. Se Divisor e Dividend restituiscono entrambi un valore Null, l'operatore restituirà un valore Null.

Esempi

Nell'esempio seguente viene illustrato l'utilizzo di questo operatore.

-- 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])

La divisione di un valore diverso da zero o non Null per zero o null restituirà il valore Infinito, il quale viene visualizzato nei risultati di query come "1, #INF". Nella maggior parte dei casi, è necessario controllare le divisioni per zero per evitare questa situazione. Nell'esempio seguente viene illustrata la modalità di questo controllo:

//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])