top of page

Tableau ile İş Zekası # 13

Fonksiyonlar ve Hesaplamalar #4


Tableau ile yapabileceğimiz hesaplamalara ve use-case örneklerine son üç yazımızda değinmiştik. Bu yazımızda, yine önemli bir hesaplama türü olan LOD yani Level of Details ifadeleri ele alacağız. Aslında, fonksiyon ve hesaplamalara giriş yaptığımız ilk yazımızda Tableau’da detay seviyesinin önemine değinmeye çalışmıştık. İlgili yazıya buradan ulaşabilirsiniz. LOD ifadeler ise yine detay seviyesine göre hesaplamalar yapabileceğimiz ve işlerimizi bir çok anlamda kolaylaştıran fonksiyonlar sunmaktadır.

Tableau ile biraz çalışmaya başladıysanız LOD ifadeleri görmüş olma ihtimaliniz yüksektir ayrıca genelde ilk başlayanlar için anlaması ve kullanması zor gibi görünebilmektedir. Ben de ilk gördüğümde çok ileri seviye bir hesaplama türü olarak düşünmüştüm ve açıkcası başlarda gözüm korkmuştu. Ancak LOD ifadeleri anladığımızda Tableau’nun görselleştirme mantığını daha iyi kavrayabilir ve bu sayede çalışmalarımızı yaparken daha verimli sonuçlar alabiliriz.

LOD ifadeler’e neden ihtiyaç duyarız?

Tableau ile bir görselleştirme yaptığımızda, hesaplamalar o an tuvalde kullandığımız verilerin ayrıntı düzeyini baz alır. Örnek olarak, Rows bölümünde iki farklı dimension yani boyut kullanıp, Columns bölümünde ise bir adet measure yani hesaplama kullanırsak sadece bu boyutların detayında bir sonuç alırız.


İşte tam burada, LOD kullanarak bir hesaplama yaparsak, Tableau’ya ilgili görünümdeki detay seviyesini göz ardı etmesini söyleyebiliriz. Böylece hesaplamaların hangi seviyede yapılacağını kontrol edebiliriz. Burada değinmemiz gereken bir konu aslında Tableau’nun işlemleri hangi sırada yaptığıdır. Bu sıralama Query Pipeline (sorgu hattı) olarakta bilinir.

Genelde çalışmalarımızı yaparken, Tableau’nun filtreleri sırasıyla uygulamasını bekleriz ancak işlem sırası beklediğimizden farklı uygulanıp bize beklenmedik sonuçlar getirebilir. Bu durumda Tableau’nun hangi sıraya göre işlem yaptığını bilmemiz çok önemlidir, dolayısıyla yapmış olduğumuz işlemleri bu sıraya göre güncelleyip sonucu değiştirebiliriz.



Görüldüğü üzere, işlem sıramızın en üstünde extract filtreleri, daha sonra veri kaynağı filtreleri ardından context filtresi sonra dimension, measure ve table calculation filtreleri yer almaktadır. Burada Fixed, Exclude ve Include level of detail ifadelerinin yerini görebilmekteyiz. Anlaşılacağı üzere Fixed diğerlerinden bir aşama daha üstte çünkü Fixed ile hem measure hem dimension detayında bir işlem yapabilmekteyiz ancak diğerleri ile sadece measure detayında çalışabiliriz.

Bu noktada, herhangi bir ifade kullanmadan sadece LOD ifadeleri kullanırken ihtiyaç duyduğumuz süslü parantezi { } kullanarak yine bir LOD işlemi yapabiliriz. Table-scoped LOD olarakta bilinen bu işlem kısaca Fixed gibi çalışır ancak herhangi bir dimension tanımlamaya gerek duyulmaz. Örnek olarak bir verinin overallda maximum değerini almak istediğimizde Table-Scoped LOD kullanırsak tüm seviyeleri göz ardı edip overall maximum değeri getirecektir.

LOD ifadeleri ile sırasıyla örnek çalışma yaparsak daha net anlaşılacağını düşünüyorum.

EXCLUDE

Exclude ifadesini kullandığımızda, Tableau’da o an yapmış olduğumuz çalışmanın bir üst seviyesinden verileri getirebiliriz. Başka bir ifade ile daha düşük bir ayrıntı seviyesinde veri getirebiliriz. Aggregation konusunu işlediğimiz yazımızda anlatmıştık ancak aşağıdaki görsel yeterli bir hatırlatıcı olacaktır.


Exclude, genelde bir üst seviyeye ait verileri baz alacağı ve o an görselleştirmede alt seviyeler detayında bir kırılım olduğu için, genelde tekrar eden verileri getirecektir.




Aşağıdaki örnekten anlaşılacağı üzere, Segment ve her segment için Category kırılımında kar bilgisini görselleştirmiştik. İlgili veriyi Exclude ile bir üst seviyeye taşıdığımızda, her Category kırılımının yanında bir üst seviyesi olan Segment’e ait veriyi getirir.


INCLUDE

Include ise tam tersine, o an görselleştirmemizde kullandığımız seviyenin bir alt seviyesine inerek o seviyeye ait verileri getirecektir. Ayrıntı detayı artacağı ancak, o anki görselleştirmede bir üst seviyeye ait kırılım olduğu için Include kullanırken aggregation işlemine dikkat etmemiz gerekmektedir.

Örnek olarak bölgesel bazlı satış tutarımızın ortalamasını baz alalım, görselleştirmeyi yaptığımızda her bir bölgenin satışlarını kendi içinde hesaplayıp ortalamasını getirecektir. Ancak ben görselleştirmede kullanmadığım şehir detayına göre, şehir bazlı satış ortalamalarını da görmek istiyorum o halde detay seviyesi artacağı için Include LOD ifadesine ihtiyaç duyarım.


Görüldüğü üzere, örnek olarak Alabama eyaletinin satış ortalaması 320 iken şehir detayında baktığımızda ortalamanın 286 olduğunu görmekteyiz. Daha iyi kavramak için biraz daha derine inecek olursak,

Alabama Eyaletinin toplam satış, ortalama satış ve toplam sipariş adetine baktığımızda, eyalet detayında yapılmış olan satışları baz alarak bu rakamların hesaplandığını görüntüleyebiliriz. Ancak şehir kırılımına indiğimizde, ilgili eyaletteki tüm şehirlerin ayrı ayrı ortalamalarını görüyoruz. Toplam 8 şehir olduğu için bu şehirlerin ortalama satışlarını toplayıp 8’e böldüğümüzde 229 yani Include LOD işleminin sonucunu bulabiliriz.

FIXED

Fixed ifadesi adından da anlaşılacağı üzere, o an ekranda kullanılmış olan boyutlardan tamamen bağımsız olarak, formülün içinde belirttiğimiz boyutu baz alır yani o boyutu fixleyerek bize sadece o boyutun verisini getirir.


Görüldüğü üzere ekranda sadece eyaletlerin isimleri belirtilmişken, Fixed ifadesini Region özelinde tanımladığımız için veri olarak bölgesel satışların toplamını getirebildik.

Table Scooped

Table Scooped ise yine aynen Fixed gibi ama herhangi bir dimension belirtilmeden kullanılabilir. Örnek verecek olursak, tüm ürünler kırılımında minimum sipariş tarihini görselleştirmek isteyelim, MIN([Order Date]) formulü ile direkt olarak her bir ürünün ilk sipariş tarihini alabiliriz. Ancak Table Scooped kullanarak minimum sipariş tarihini görüntülemek istersek, tüm veri setimiz içindeki bütün boyutlar pas geçilerek herhangi bir kırılım bazında olmadan ilk sipariş tarihi karşımıza çıkacaktır.


Aynı şekilde, FIXED ifadesinin içinde herhangi bir boyut belirtmez isek yine Table Scooped gibi çalışacaktır.


Sonuçta görüldüğü üzere, aslında her bir ürünün ilk sipariş tarihi farklı iken, Table Scooped ya da dimension belirtmeden yazdığımız Fixed ifadesi ile tüm veri setindeki ilk sipariş tarihini görüntüleyebildik. LOD ifadeleri ile bu anlattıklarımız ışığında farklı örnekler üzerinden alıştırmalar yaparsanız konuyu çok daha net olarak anlayabilirsiniz, bu bağlamda konuyu daha iyi anlamak için aşağıda linklerini verdiğim örnek çalışmaları inceleyebilir, Tableau Whitepaperını okuyabilirsiniz. Top 15 LOD Expressions Understanding Level of Detail (LOD) Expressions Tableau Whitepaper


Bu platformda Tableau hakkında Türkçe bir kaynak oluşturmaya çalışacağız, diğer makale ve içeriklerimiz için takipte kalabilirsiniz. Tableau hakkında yayınladığımız çok sayıda video, makale ve diğer içeriklerimize ise Yeni Nesil İş Zekası web sitemizden erişebilirsiniz.

29 görüntüleme

İlgili Yazılar

Hepsini Gör

Comments


bottom of page