CASE ifadeleriyle koşullu mantık

Snowflake'te Veri İşleme

Jake Roach

Field Data Engineer

ELSE kullanımı

$$

Bazen, WHEN ... THEN kapsamına girmeyen ek değerler olabilir.

$$

  • Bu ek senaryoları yakalamak için ELSE kullanın
  • Uç durumları yakalamak için idealdir
SELECT
    student,
    CASE
        WHEN grade_num = 12 THEN 'Senior'
        WHEN grade_num = 11 THEN 'Junior'
        ...
        ELSE 'Not in HS'  -- Catch others!
    END AS grade
FROM students;
          |   student  |    grade   |
          | ---------- | ---------- |
          |  Viraj     |  Junior    |
          |  Stephanie |  Senior    |
          |  Lewis     |  Not in HS |
Snowflake'te Veri İşleme

Bir koşulu değerlendirme

Operatör Koşul Örnek
= Değer başka bir değere eşittir column_a = 'value_a'
IN (...) Değer bir listededir column_a IN ('value_a', 'value_b')
>, < Değer diğerinden büyük/küçük column_a > 0
>=, <= > ve < eşdeğerleri, eşitliği de içerir column_a >= 0
BETWEEN Değer iki değer arasındadır (dahil) column_a BETWEEN 0 AND 10

Bu karşılaştırmalar AND, OR veya NOT ile birleştirilebilir

Snowflake’te CASE ifadeleri, sütun odaklı mimari sayesinde verimlidir

Snowflake'te Veri İşleme

Sıcaklıkları kategorize etme

SELECT
    todays_date,
    temperature,
    CASE

WHEN temperature BETWEEN 70 AND 90 THEN 'Ideal for Swimming'
WHEN temperature >= 50 AND tempreature < 70 THEN 'Perfect for Sports'
WHEN temperature > 32 AND temperature < 50 THEN 'Spring/Fall Temps' WHEN temperature > 0 AND temperature <= 32 THEN 'Winter Weather' ELSE 'Extreme Temperatures'
END AS temperature_description FROM weather;
Snowflake'te Veri İşleme

Sıcaklıkları kategorize etme

Sıcaklığa göre kayıtları kategorize eden bir CASE ifadesinin sonuçlarını gösteren tablo

Snowflake'te Veri İşleme

Koşullu ifadeleri birleştirme

SELECT
    todays_date,
    temperature,
    status,

CASE WHEN temperature > 70 AND status NOT IN ('Rain', 'Wind') THEN 'Beach'
WHEN temperature BETWEEN 45 AND 70 AND status = 'Sun' THEN 'Sports'
WHEN temperature <= 32 OR status = 'Snow' THEN 'Skiing'
ELSE 'Stay In' END AS activity FROM weather;

Tek bir CASE ifadesinde birden çok sütunu değerlendirebiliriz

Snowflake'te Veri İşleme

Koşullu ifadeleri birleştirme

Sıcaklık ve dış ortam durumuna göre kayıtları kategorize eden bir CASE ifadesinin sonuçlarını gösteren tablo

Snowflake'te Veri İşleme

Hadi pratik yapalım!

Snowflake'te Veri İşleme

Preparing Video For Download...