SERVİS TALEBİ deyim (mdx)
Koşullu belirli birden çok karşılaştırmaları dönüş sağlar.durum ifadeleri iki tür vardır:
Bir ifadeye karşılaştıran basit BIR durum deyim bir küme basit ifadelerin belirli değerleri döndürürler.
Bir dizi belirli değerleri Boole ifadeleri değerlendirir aranan BIR durum deyim.
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
Bağımsız değişkenler
input_expression
skaler bir değer, çok boyutlu deyimler (MDX) ifade.when_expression
A karşı skaler değer belirtilen input_expression değerlendirildiğinde, hangisi doğru döner, skaler değer değerlendirildiği else_result_expression.when_true_result_expression
skaler değer olduğunda döndürülen WHEN yan tümce true olur.else_result_expression
skaler değer true OLDUĞUNDA yan tümceleri değerlendirmek hiçbir zaman döndürdü.Boolean_expression
skaler bir değer veren bir MDX ifade.
Remarks
Yok ELSE yan tümce vardır ve tüm ZAMAN yan tümceleri yanlış olarak değerlendirme, boş bir hücreye sonucudur.
Basit bir durum ifade
Çözümleme tarafından basit bir durum ifade MDX değerlendirir input_expression skaler bir değer. Bu bir skaler değerin ardından skaler değerine karşılaştırılır when_expression. Iki skaler değerler eşleşirse, deyim durum değerini döndürür when_expression. Iki skaler değerler eşleşmiyorsa, sonraki ZAMAN yan tümce değerlendirilir.Tüm ZAMAN yan tümceleri değerini yanlış olarak değerlendirme else_result_expression ELSE yan tümce varsa, döndürüldü.
Her yıl için yan tümceleri ve verir, sonuç değeri, bayi sıra sayısı temelinde ÖLÇÜLDÜĞÜNDE aşağıdaki örnekte, birkaç karşı bayi sıra sayısı ölçüsü değerlendirilir.Belirtilen skaler bir değer ile eşleşmeyen bir bayi sıra sayısı değerleri için bir when_expression bir ZAMAN içinde yan tümce, skaler değerini else_result_expression döndürüldü.
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
durum ifade aradı.
Daha karmaşık bir değerlendirme yapmak için büyük/küçük durum ifade kullanmak için , durum Aranan ifadenin Ek Yardım düğmesini kullanın.Bu türevi arama ifadesinin giriş ifade için değer aralık içinde olup olmadığını değerlendirmeniz sağlar.MDX WHEN tümceleri bu yan tümceleri durum deyim sırayla değerlendirilir.
Aşağıdaki örnekte, sipariş Count bayi ölçü birimi olarak değerlendirilir belirtilen karşı Boolean_expression her biri, birkaç ZAMAN yan tümceleri için. Bir sonuç bayi sıra sayısı Ölçü değerini her yıl için temel döndürülür.Yan tümceleri sırada ne ZAMAN değerlendirildiği için 6 kolayca "Çok BÜYÜK" değerinin her değer açıkça eklemenize gerek kalmadan atanabilecek daha büyük tüm değerler görünürler.WHEN yan tümcesinde, skaler değer, belirtilen sıra sayısı bayi değerleri için else_result_expression döndürüldü.
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