/ (деление) (многомерные выражения)
Выполняет арифметическую операцию, которая делит одно число на другое.
Синтаксис
Dividend / Divisor
Параметры
Dividend
Допустимое многомерное выражение, возвращающее числовое значение.Divisor
Допустимое многомерное выражение, возвращающее числовое значение.
Возвращаемое значение
Значение с типом данных параметра, имеющего более высокий приоритет.
Замечания
Реальное значение, возвращаемое оператором / (Divide), представляет собой частное от деления первого выражения на второе.
Оба выражения должны иметь одинаковый тип данных, или одно из выражений должно допускать неявное преобразование к типу данных другого выражения. Если аргумент Divisor принимает значение NULL, возникает ошибка. Если аргументы Divisor и Dividend принимают значение NULL, оператор возвращает значение NULL.
Примеры
В следующем примере демонстрируется использование этого оператора.
-- 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])
При делении ненулевого значения или значения, отличного от NULL, на нуль или значение NULL будет возвращено значение «бесконечность», которое отображается в результатах запроса как значение «1.#INF». В большинстве случаев следует выполнять проверку деления на ноль, чтобы избежать этой ситуации. В следующем примере приведена иллюстрация этого:
//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])