Поделиться через


CoalesceEmpty (многомерные выражения)

Изменения: 17 июля 2006 г.

Преобразовывает значения пустых ячеек в заданные непустые значения, которые могут быть числами или строками.

Синтаксис

Numeric syntax
CoalesceEmpty( Numeric_Expression1 [ ,Numeric_Expression2,...n] )

String syntax
CoalesceEmpty(String_Expression1 [ ,String_Expression2,...n] )

Аргументы

  • Numeric_Expression1
    Допустимое числовое выражение (обычно многомерное выражение координат ячейки), возвращающее число.
  • Numeric_Expression2
    Допустимое числовое выражение, обычно являющееся заданной числовой величиной.
  • String_Expression1
    Допустимое числовое выражение (обычно многомерное выражение координат ячейки), возвращающее число.
  • String_Expression2
    Допустимая строка выражения, обычно являющаяся указанным строковым значением, заменяющим значение NULL, возвращаемое первым строковым выражением.

Замечания

Если одно или несколько числовых выражений указаны, функция CoalesceEmpty возвращает значение первого (слева направо) численного выражения, которое разрешается к непустому значению. Если ни одно из указанных числовых выражений не разрешается к непустому значению, функция возвращает пустое значение ячейки. Обычно значение второго численного выражения имеет численное значение, заменяющее значение NULL, возвращенное первым численным выражением.

Если одно или несколько строковых выражений определены, функция возвращает значение первого (слева направо) строкового выражения, которое разрешается к непустому значению. Если ни одно из заданных строковых выражений не разрешается к непустому значению, функция возвращает пустое значение ячейки. Обычно значение второго строкового выражения имеет значение, заменяющее значение NULL, возвращенное первым строковым выражением.

Функция CoalesceEmpty принимает аргументы только одного типа. Иными словами, все заданные выражения должны принимать значения либо только числовых типов данных и пустых значений ячеек, либо только строковых типов данных и пустых значений ячеек. В одном вызове этой функции нельзя смешивать числовые и строковые выражения.

Дополнительные сведения о пустых ячейках см. в документации по OLE DB.

Пример

В следующем примере приведен запрос к кубу Adventure Works. Запрос возвращает количество заказов каждого продукта и процентную долю каждого заказа по категориям. Функция CoalesceEmpty обеспечивает представление всех значений NULL в виде нуля (0) при форматировании вычисляемых элементов.

WITH 
   MEMBER [Measures].[Order Percent by Category] AS
   CoalesceEmpty
   ( 
      ([Product].[Product Categories].CurrentMember,
        Measures.[Order Quantity]) / 
          (
           Ancestor
           ( [Product].[Product Categories].CurrentMember, 
             [Product].[Product Categories].[Category]
           ), Measures.[Order Quantity]
       ), 0
   ), FORMAT_STRING='Percent'
SELECT 
   {Measures.[Order Quantity],
      [Measures].[Order Percent by Category]} ON COLUMNS,
{[Product].[Product].Members} ON ROWS
FROM [Adventure Works]
WHERE {[Date].[Calendar Year].[Calendar Year].&[2003]}

См. также

Справочник

Справочник по функциям многомерных выражений (многомерные выражения)

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

17 июля 2006 г.

Измененное содержимое
  • Обновлены синтаксис и аргументы для облегчения понимания.
  • Добавлены обновленные примеры.