Divide - Riferimenti per gli operatori MDX

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

Sintassi

  
Dividend / Divisor  

Parametri

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

Divisore
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) rappresenta il quoziente della prima espressione divisa per 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, l'operatore genera un errore. Se divisore e dividendo restituiscono un valore Null, l'operatore restituisce 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])

Vedi anche

IIf (MDX)
Guida di riferimento all'operatore MDX (MDX)