Ana içeriğe geç

Tableau’da Mantıksal Fonksiyonlar: IF ve CASE ifadeleri

Tableau’da IF ve CASE ifadelerini öğrenin ve bu mantıksal fonksiyonları verileri koşullu olarak dönüştürmek ve görselleştirmek için nasıl kullanabileceğinizi keşfedin.
· 7 dk. oku

Yapay Zeka ile Keşfedin

“Eğer kendinizi adarsanız, her şeyi yapabilirsiniz.” “Eğer sayı 8’e eşitse, oyunu kazanırım!” Koşullu ifadeler günlük hayatın bir parçasıdır. Bir mantıksal değerlendirmeye dayanarak nasıl hareket edeceğimize karar vermek için düzenli olarak kullanırız:

  • Kendimi adıyor muyum (DOĞRU/YANLIŞ)? Öyleyse, her şeyi yapabilirim.
  • Sayı = 8 mi? Öyleyse, oyunu kazanırım.

Tableau’da, günlük hayatta kullandığınız aynı mantığı taklit etmek için koşullu mantığı uygulayabilirsiniz. Tableau, bir boole ifadesi (DOĞRU/YANLIŞ) ya da tam değer eşleşmesine dayalı olarak verileri koşullu biçimde dönüştürmeyi kolaylaştıran bir dizi mantıksal fonksiyon sunar. Bu yazıda, Tableau’daki en yaygın koşullu ifadelerden bazılarını inceleyecek ve bunları verileri analiz etmek ve görselleştirmek için nasıl kullanabileceğinizi göstereceğiz.

Tableau IF İfadeleri

IF ifadesi, Tableau’da temel bir koşullu ifadedir; kullanıcıların bir boole ifadesini değerlendirip koşul doğruysa bir değer, yanlışsa başka bir değer döndürmesini sağlar. IF ifadesinin temel sözdizimi şöyledir:

IF [condition] THEN [value1] ELSE [value2] END

Sonuç alternatif bir boole ifadesinin değerlendirilmesine bağlıysa, ifadeye şu şekilde bir ELSEIF cümlesi ekleyebilirsiniz:

IF [condition1] THEN [value1]

  ELSEIF [condition2] THEN [value2]

  ELSE [value3]

END

Örneğin, adında ‘pop’ geçip geçmediğine göre pop ve pop dışı müzik türlerini belirlemek için aşağıdaki IF ifadesini kullanabiliriz:

IF CONTAINS([Top Genre], 'pop') THEN 'pop'

  ELSE 'other genre'

END

Video1.gif

İç içe IF ifadeleri

IF ifadeleri, daha karmaşık koşullar oluşturmak ve verilerinizin alt grupları için birden çok koşulu değerlendirmek üzere iç içe de yazılabilir. İç içe IF ifadeleri oluşturmak için aşağıdaki sözdizimini kullanın:

IF [condition1] THEN 

    IF [condition2] THEN [value1] 

      ELSE [value2] 

    END

  ELSE [value3] 

END

Diyelim ki pop şarkıların hangi oranının dans edilebilir olduğunu ( Spotify Müzik Veri Kümesi’nde tanımlanan danceability ölçütüne göre) bulmak istiyoruz. Bunu anlamak için aşağıdaki iç içe IF ifadesini kullanabiliriz:

IF CONTAINS([Top Genre], 'pop') THEN

      IF [Dnce] > 66 THEN 'danceable pop' // 66 is the median

      ELSE 'less danceable pop'

    END

  ELSE 'not pop'

END

Video2.gif

İç içe IF ifadeleri, özellikle verilerin farklı alt grupları için birden çok koşulun karşılanması gerektiğinde güçlü işlevlerdir.

IIF İfadeleri

IIF fonksiyonu, bir koşulu test edip iki değerden birini döndürmeye olanak tanıyan bir diğer koşullu ifadedir. IIF fonksiyonunun sözdizimi şöyledir:

IIF([condition], [value if true], [value if false])

Örneğin, 2017 ile 2019 arasında liste başı bir şarkı üreten söz yazarlarını belirleyen bir hesaplanmış alan oluşturmak için aşağıdaki IIF fonksiyonunu kullanabiliriz:

IIF([Year] >= 2017 AND [Year] <= 2019, '2017-2019 Top Song', 'Not Top Song in 2017-2019')

Video3.gif

Bu, şarkı 2017 ile 2019 arasında (Billboard’a göre) liste başı olduysa “2017-2019 Top Song”, aksi halde “Not Top Song in 2017-2019” döndürür.

Tableau Toplama Fonksiyonlarını IF ile Kullanma

Tableau, koşullu ifadelerle birlikte kullanılarak daha gelişmiş hesaplamalar yapmaya olanak tanıyan geniş bir yerleşik fonksiyon yelpazesi sunar. En yaygın kullanılan toplama fonksiyonlarından bazıları COUNTD, SUM, AVG, MIN ve MAX’tir. Toplamalı fonksiyonlarla, Tableau’da yeni metrikler oluşturarak içgörüleri etkili şekilde özetleyebilirsiniz. Aşağıdaki sözdizimini kullanmanız gerekir:

<Aggregation>(IF [Condition] THEN [value] END)

Örneğin, COUNTD fonksiyonuyla 2017 ile 2019 arasında liste başı olmuş benzersiz sanatçıların sayısını sayalım:

COUNTD(IF [Year] >= 2017 and [Year] <= 2019 THEN [Artist] END)

Video4.gif

Yukarıdaki ifade, 2017 ile 2019 arasında hiti olan sanatçıların farklı sayısını döndürür. Bir sanatçının o yıllarda birden fazla hiti olsa bile, sanatçının adı yalnızca bir kez sayılır.

Benzer şekilde, belirli veri alt kümeleri üzerinde hesaplama yapmak için koşullu bir ifadeyle birlikte SUM ve AVG fonksiyonlarını da kullanabiliriz.

Bir tavsiye: koşulu mutlaka toplamının içine alın. Aksi takdirde, “'IF' ifadelerinde toplamalı ve toplamasız karşılaştırmalar veya sonuçlar karıştırılamaz.” şeklindeki meşhur hatayı alırsınız. Örneğin, aşağıdaki ifade hata verir çünkü henüz toplanmamış tek bir veri noktası üzerinde toplama yapmaya çalışıyoruz.

IF error.png

Tableau CASE İfadeleri

Giriş

CASE ifadesi, Tableau’da tek bir alan üzerinde birden fazla test yapıp sonuçlara göre farklı değerler döndürmeye olanak tanıyan bir diğer koşullu ifadedir. Boole ifadesinin değerlendirilmesine dayanan IF ifadelerinin aksine, CASE ifadeleri tam değer eşleşmelerine dayanır. WHEN cümlesi boole mantığı kullanırsa, Tableau’da aşağıdaki hatayı alırsınız:

CASE Error.png

CASE ifadesinin sözdizimi şöyledir:

CASE [expression]

     WHEN [value1] THEN [result1]

     WHEN [value2] THEN [result2]

     ELSE [default result]

END

Örneğin, 2017 ile 2019 arasında liste başı bir şarkı üreten söz yazarlarını belirleme mantığını yeniden yazalım:

CASE [Year]

  WHEN IN (2017, 2018, 2019) THEN '2017-2019 Top Songs'

  ELSE 'Not Top Song in 2017-2019'

END

Video5.gif

Yukarıdaki durumda, ilgi duyulan yılları (2017, 2018 ve 2019) listelemek için WHEN IN yapısını kullanıyoruz. Tableau daha sonra veride tam eşleşmeyi bulmak için bu kümeyi kullanır. Eşleşen veri bulunamaz ve varsayılan bir değer belirtilmezse, null bir değer döndürülür. 

İç içe CASE İfadeleri

İç içe IF ifadelerine benzer şekilde, Tableau’da hesaplanmış bir alan kullanarak karmaşık mantığı ortaya çıkarmak için iç içe CASE ifadeleri de kullanabilirsiniz. CASE ifadeleriyle iç içe mantık döndürmek için aşağıdaki sözdizimini kullanabilirsiniz:

CASE [expression1]

  WHEN [value1] THEN

    (CASE [expression2]

       WHEN [value2] THEN [result1]

       WHEN [value3] THEN [result2]

…

       ELSE [default result]

     END)

  WHEN [value4] THEN

    (CASE [expression2]

       WHEN [value5] THEN [result3]

       WHEN [value6] THEN [result4]

…

       ELSE [default result]

     END)

  ELSE [default result]

END

CASE ifadeleri boole ifadelerini değerlendiremez ve verideki karmaşık kalıpları belirlemek için çalışmazken, IF ifadelerine göre daha okunaklıdır ve daha iyi performans gösterir. Veriler yeterince basit olduğunda ve karmaşık DOĞRU/YANLIŞ değerlendirmelerine ihtiyaç duymadığında, CASE ifadesini kullanmak daha uygundur. Bazı durumlarda, daha da güçlü analizler için IF ve CASE ifadelerini birlikte kullanabilirsiniz.

Sonuç

IF ve CASE gibi koşullu ifadeler, bir veri uygulayıcısı olarak Tableau becerilerinizi geliştirmek için etkili araçlardır. Tableau’da sıfırdan ileri seviyeye gitmek için, Tableau’da Veri Analisti kariyer yolumuz ya da Tableau’da Veri Analizi kursu gibi kaynaklarımıza göz atmayı unutmayın.

Sağlam bir temel edindikten sonra, DataLab’de mevcut veri kümelerini kullanarak Tableau’da görselleştirme pratiği yapın.  IF, IIF ve CASE WHEN ifadeleri kısa sürede size doğal gelecektir. İyi çalışmalar!

Tableau CASE ve IF SSS

IF mi yoksa CASE mi kullanmalıyım, nasıl anlarım?

Kullanacağınız fonksiyon büyük ölçüde yapmak istediğiniz göreve bağlıdır. IF ifadesi bir boole ifadesini değerlendirirken, CASE ifadesi bir alan değerinde birebir eşleşmeye dayanır. Çoğu zaman bir CASE ifadesi bir IF ifadesine dönüştürülebilir. Tersi ise daha az olasıdır; zira IF ifadeleri genellikle CASE ifadelerinin tipik olarak üstesinden gelemediği daha karmaşık değerlendirmeler yapmak için kullanılır.

IF ile CASE arasındaki fark nedir?

IF ifadeleri ayrıştırılmış boyutlar veya toplanmış ölçüler üzerinde boole mantığını değerlendirebilirken, CASE ifadeleri yalnızca tam değer eşleşmelerini değerlendirir. Bu nedenle, IF ifadeleri CASE ifadelerine göre daha esnektir ve veriler üzerinde daha karmaşık mantık uygulamak için kullanılabilir. Ancak, CASE ifadeleri IF ifadelerinden daha okunaklıdır ve daha iyi performans sağlar. CASE ifadeleri, verilerin yalnızca basit dönüşümler gerektirdiği durumlarda harika çalışır.

Koşullu fonksiyonu biçimlendirmeli miyim?

Tableau, hesaplanmış alan iletişim kutusunda metni otomatik biçimlendirme özelliği sunmasa da, okunabilirliği artırmak için biçimlendirme eklemek iyi bir fikirdir; örneğin:

  • Açıklamalar: tek satırlık açıklamalar için // ve çok satırlı açıklamalar için /* <...> */ kullanabilirsiniz;
  • Satır sonları ve girintiler: görselleştirmeye gömülü farklı mantık katmanlarını, çalışma kitabını görüntüleyen başkalarının kolayca anlayabilmesi için satır sonları ve girintiler ekleyin.
IF ile IIF arasındaki fark nedir?

IF ifadesi ile IIF fonksiyonu arasındaki temel fark, ilkinin birden çok koşulu test edip sonuçlara göre farklı değerler döndürebilmesi; ikincisinin ise aynı anda yalnızca tek bir koşulu test edip iki değerden birini döndürebilmesidir. IF ifadeleriyle daha karmaşık mantıktan yararlanabilirken, IIF fonksiyonu, açıklık ve kısalığın öncelikli olduğu basit koşullar için son derece uygundur.

Neden Tableau’nun yerleşik parametre ve filtre özelliklerini kullanmakla yetinmiyoruz?

Bazı durumlarda, filtre ve parametre özellikleri verileri analiz etmek için yeterli olmayacaktır. Tableau’da Hesaplanmış Alanlar eğitimimizde açıklandığı üzere, bazen analizden önce eksik verileri tamamlamak için yeni değişkenler oluşturmanız gerekir. Çoğu zaman, gerçekleştireceğiniz dönüşümler aşağıdaki beş kategoriye girecektir:

  • Verilerinizi bölümlere ayırma
  • Bir alanın veri tipini dönüştürme; ör. bir dizeyi tarihe veya bir tam sayıyı ondalık sayıya çevirme
  • Verileri toplama
  • Sonuçları filtreleme
  • Oranlar hesaplama

Konular

İlgili