CoalesceEmpty (MDX)

Konwertuje wartość pustej komórki na określoną wartość komórki niepustej, która może być liczbą lub ciągiem znaków.

Syntax

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

Arguments

Numeric_Expression1
Poprawne wyrażenie liczbowe, które zazwyczaj jest wyrażeniem wielowymiarowych (MDX) współrzędnych komórek zwracających liczbę.

Numeric_Expression2
Prawidłowe wyrażenie liczbowe, które zazwyczaj jest określoną wartością liczbową.

String_Expression1
Prawidłowe wyrażenie w ciągu znaków, które zazwyczaj jest wyrażeniem wielowymiarowych (MDX) współrzędnych komórek, zwracającym ciąg danych.

String_Expression2
Poprawne wyrażenie w ciągu znaków, które zazwyczaj jest określoną wartością ciągu zastępowaną za NULL zwracaną przez pierwszy wyrażenie ciągowe.

Remarks

Jeśli określono jedno lub więcej wyrażeń numerycznych, funkcja CoalesceEmpty zwraca wartość numeryczną pierwszego wyrażenia numerycznego (od lewej do prawej), które można rozwiązywać do wartości niepustej. Jeśli żadne z określonych wyrażeń liczbowych nie może zostać rozwiązane do wartości niepustej, funkcja zwraca wartość pustej komórki. Zazwyczaj wartość drugiego wyrażenia numerycznego to wartość numeryczna, która jest podstawiona za NULL zwracany przez pierwsze wyrażenie liczbowe.

Jeśli określono jedno lub więcej wyrażeń ciągowych, funkcja zwraca wartość ciągu pierwszego wyrażenia (od lewej do prawej), którą można rozwiązać do wartości niepustej. Jeśli żadne z określonych wyrażeń ciągowych nie da się rozwiązać do wartości niepustej, funkcja zwraca wartość pustej komórki. Zazwyczaj wartość drugiego wyrażenia ciągu to wartość ciągu zastępowana za NULL zwracany przez pierwszy wyrażenie ciągowe.

Funkcja CoalesceEmpty może przyjmować tylko wartości tego samego typu. Innymi słowy, wszystkie określone wyrażenia wartości muszą być obliczane wyłącznie do numerycznych typów danych lub pustej komórki, albo wszystkie określone wyrażenia wartości muszą być wyliczone do typów danych ciągowych lub do wartości pustej komórki. Pojedyncze wywołanie tej funkcji nie może zawierać zarówno wyrażeń liczbowych, jak i ciągowych.

Więcej informacji o pustych komórkach można znaleźć w dokumentacji OLE DB.

Example

Poniższy przykład zadaje pytania do sześcianu Adventure Works . Ten przykład zwraca ilość zamówień każdego produktu oraz procent ilości zamówień według kategorii. Funkcja CoalesceEmpty zapewnia, że wartości zerowe są reprezentowane jako zero (0) podczas formatowania obliczonych członków.

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