Koşullu İfadeler

Değerleri dönüştüren ifadeler oluşturmak için koşul ifadeleri kullanılır.

Bu bölümde açıklanan koşul ifadeleri, değerleri bir formdan başka bir forma dönüştüren ifadeleri oluşturmak için gerekli oluşturma bloklarıdır.

Şu kuralları izleyin:

  • CASE deyimlerinde, AND anahtar kelimesinin OR anahtar kelimesine göre önceliği bulunmaktadır.
  • Dizeler tek tırnak içinde olmalıdır.
İfade Örnek Açıklama Sözdizimi

CASE (If)

CASE

WHEN score-par < 0 THEN 'Under Par'

WHEN score-par = 0 THEN 'Par'

WHEN score-par = 1 THEN 'Bogey'

WHEN score-par = 2 THEN 'Double Bogey'

ELSE 'Triple Bogey or Worse'

END

Her WHEN koşulunu değerlendirir ve koşula uyuluyorsa, değeri ilgili THEN ifadesine atar.

WHEN koşullarının hiçbirine uyulmuyorsa, ELSE ifadesinde belirtilen öndeğeri atar. Hiçbir ELSE ifadesi belirtilmemişse sistem otomatik olarak bir ELSE NULL ekler.

Not: Bkz. Analizlerde ve Görselleştirmelerde CASE komutlarını kullanmak için En İyi Uygulamalar.

CASE WHEN request_condition1 THEN expr1 ELSE expr2 END

CASE (Switch)

CASE Score-par

WHEN -5 THEN 'Birdie on Par 6'

WHEN -4 THEN 'Must be Tiger'

WHEN -3 THEN 'Three under par'

WHEN -2 THEN 'Two under par'

WHEN -1 THEN 'Birdie'

WHEN 0 THEN 'Par'

WHEN 1 THEN 'Bogey'

WHEN 2 THEN 'Double Bogey'

ELSE 'Triple Bogey or Worse'

END

Bu şekilde de anılır: CASE (Lookup). İlk ifadenin değeri ve ardından WHEN ifadeleri incelenir. İlk ifade WHEN ifadesi ile eşleşirse değeri ilgili THEN ifadesine atar.

WHEN ifadelerinin hiçbiri eşleşmiyorsa, ELSE ifadesinde belirtilen öndeğeri atar. Hiçbir ELSE ifadesi belirtilmemişse sistem otomatik olarak bir ELSE NULL ekler.

İlk ifade birden fazla WHEN yantümcesinde bir ifade ile eşleşiyorsa, yalnızca eşleşen ilk öğeden sonraki ifade atanır.

Not: Bkz. Analizlerde ve Görselleştirmelerde CASE komutlarını kullanmak için En İyi Uygulamalar.

CASE expr1 WHEN expr2 THEN expr3 ELSE expr4 END

IfCase > ELSE

-

-

ELSE [expr]

IfCase > IFNULL

-

-

IFNULL([expr], [value])

IfCase > NULLIF

-

-

NULLIF([expr], [expr])

IfCase > WHEN

-

-

WHEN [Condition] THEN [expr]

IfCase > CASE

-

-

CASE WHEN [Condition] THEN [expr] END

SwitchCase > ELSE

-

-

ELSE [expr]

SwitchCase >IFNULL

-

-

IFNULL([expr], [value])

SwitchCase > NULLIF

-

-

NULLIF([expr], [expr])

SwitchCase > WHEN

-

-

WHEN [Condition] THEN [expr]

Analizlerde ve Görselleştirmelerde CASE Komutlarını Kullanmak İçin En İyi Uygulamalar

Raporlarda ve çalışma kitaplarında CASE komutlarını kullanırken, ifadelerin ve alt toplamların nasıl hesaplandığını etkilediği için rapor sütunlarını ve toplama sırasını göz önünde bulundurun.

  • Genellikle CASE ifadelerini kullanırken, ifadede kullanılan tüm sütunların rapora dahil edildiğine emin olun.

  • Toplama sırası önemliyse, Öndeğer olan rapor toplama kuralını Toplam olarak değiştirin.
  • Toplama hesaplanmadan önce bir koşulun değerlendirilmesi gerekiyorsa (örneğin, filtrelenen sütun raporda görüntülenmiyorsa) FILTER fonksiyonunu kullanın.

Örnek

Bu örnekte Marka, Ürün Tipi ve Gelir için verileri kullanın.
GUID-5837A210-154F-4FAC-922D-EBF0A21C349A-default.png açıklaması aşağıdadır
.png'' çiziminin açıklaması

Camera gelirini 0 olarak ayarlamak için bir koşul uygulamak üzere şu koşullu ifadeyi oluşturun: CASE WHEN Product_Type = ‘Camera’ THEN 0 ELSE Revenue END.

Product_Type rapordan hariç tutulduğunda, ifade Product_Type içerdiğinden ifadeyi değerlendirmek için veriler mevcut olmaz ve sonuçlar şöyledir:
GUID-22873F41-3679-45DF-821D-4167594FE069-default.png açıklaması aşağıdadır
.png'' çiziminin açıklaması

Rapora PRODUCT_TYPE eklenerek ve rapor toplamayı SUM olarak ayarlanarak, sonuç temel düzey değerleri hesaplandıktan sonra toplanır:
GUID-0BEEE7E1-73CE-4BAA-98A2-683830E18E12-default.png açıklaması aşağıdadır
.png'' çiziminin açıklaması

CASE kullanımına alternatif olarak kullanılabilecek bir filtre ifadesi: FILTER(Revenue using Product_Type != ‘Camera’). İfade, rapor sütunlarından bağımsız olarak hesaplanır ve toplamalar hesaplamadan sonra uygulanır:
GUID-F428B1A7-A9FF-425B-80F1-BB709769CE5C-default.png açıklaması aşağıdadır
.png'' çiziminin açıklaması