Udostępnij przez


Instrukcja CASE (MDX)

Pozwala warunkowo zwrócić określonych wartości z wielu porównań.Istnieją dwa typy sprawozdań przypadek:

  • Prostym przypadku instrukcja który porównuje wyrażenie zestaw wyrażeń prostych do zwracania określonej wartości.

  • Przypadek wyszukiwanych instrukcja , ocenia zestaw wyrażeniach logicznych do zwracania określonej wartości.

Składnia

Simple Case Statement
CASE [input_expression]
WHEN when_expression THEN when_true_result_expression
[...n]
[ELSE else_result_expression]
END

Search Case Statement
CASE 
WHEN Boolean_expression THEN when_true_result_expression
[...n]
[ELSE else_result_expression]
END

Argumenty

  • input_expression
    Wyrażenie wyrażeń wielowymiarowych (MDX), która jest rozpoznawana jako wartość wartość skalarna.

  • when_expression
    Określić wartość wartość skalarna, przeciwko której input_expression jest oceniane, służący ocenie w celu zwraca wartość true, wartość wartość skalarna else_result_expression.

  • when_true_result_expression
    Zwracana wartość wartość skalarna, podczas gdy klauzula wynikiem jest wartość true.

  • else_result_expression
    Wartość wartość skalarna, zwracane, gdy żaden z klauzul podczas oceny na wartość true.

  • Boolean_expression
    Wyrażenie MDX, którego wynikiem jest wartość wartość skalarna.

Uwagi

Jeśli nie ma żadnych klauzula ELSE, a wszystkie klauzule podczas oceny false, wynik jest pusty komórka.

Proste wyrażenie Case

MDX ocenia proste wyrażenie przypadek przez przetłumaczenie input_expression na wartość wartość skalarna.Ta wartość wartość skalarna porównywane wartości wartość skalarna when_expression.Jeśli odpowiadają dwie wartości wartość skalarna, sprawy instrukcja zwraca wartość when_true_expression.Jeśli dwie wartości wartość skalarna nie pasują do siebie, sprawdzane jest klauzula podczas następnego.Jeśli wszystkie klauzule podczas oceny false, wartość else_result_expression z klauzula ELSE, jest zwracana.

W poniższym przykładzie miara Reseller liczby zamówień jest wyznaczane przeciwko kilku klauzul i zwraca wynik na podstawie wartości liczby zamówień odsprzedawcy miara dla każdego roku.Dla wartości liczby zamówień odsprzedawca nie odpowiadają wartość wartość skalarna, określone w when_expression w klauzula gdy wartość wartość skalarna else_result_expression jest zwracany.

WITH MEMBER [Measures].x AS 
CASE [Measures].[Reseller Order Count]
   WHEN 0 THEN 'NONE'
   WHEN 1 THEN 'SMALL'
   WHEN 2 THEN 'SMALL'
   WHEN 3 THEN 'MEDIUM'
   WHEN 4 THEN 'MEDIUM'
   WHEN 5 THEN 'LARGE'
   WHEN 6 THEN 'LARGE'
      ELSE 'VERY LARGE'
END
SELECT Calendar.[Calendar Year] on 0
, NON EMPTY [Geography].[Postal Code].Members ON 1
FROM [Adventure Works]
WHERE [Measures].x

Wyszukiwane wyrażenie Case

Aby użyć wyrażenie przypadek, aby wykonać bardziej złożonych ocen, użyj wyszukiwanych wyrażenie przypadek.Taka zmiana wyrażenie pozwala ocenić, czy wyrażenie wejściowym jest zakres wartości.MDX ocenia klauzul po kolei klauzule te występują w przypadku instrukcja.

W poniższym przykładzie jest oceniany miara Reseller liczby zamówień przed określonym Boolean_expression dla każdego z kilku klauzul i KIEDY.Wynik jest zwracany oparte na wartości miara Reseller liczby zamówień na każdy rok.Ponieważ klauzule są oceniane w kolejności występowania, wszystkie wartości większe niż 6 można łatwo przypisać wartość "Bardzo duże" bez konieczności wyraźnie określić poszczególne wartości.Liczba zamówień odsprzedawcy wartości, które nie są określone w klauzula gdy wartość wartość skalarna else_result_expression jest zwracany.

WITH MEMBER [Measures].x AS 
CASE 
   WHEN [Measures].[Reseller Order Count] > 6 THEN 'VERY LARGE'
   WHEN [Measures].[Reseller Order Count] > 4 THEN 'LARGE'
   WHEN [Measures].[Reseller Order Count] > 2 THEN 'MEDIUM'
   WHEN [Measures].[Reseller Order Count] > 0 THEN 'SMALL'
   ELSE "NONE"
END
SELECT Calendar.[Calendar Year] on 0,
NON EMPTY [Geography].[Postal Code].Members on 1
FROM [Adventure Works]
WHERE [Measures].x

Zobacz także

Inne zasoby