Genel · Tableau

Tableau

Evet Tableau derslerimizin sonuna geldik:)

Şuana kadar Tableau ile ilgili toplamda 120 yazım bulunmaktadır.

İki ana ürün olarak: Tableau Desktop (100) ve Tableau Server (18) 

Bunların yanında Tableau Prep ve Tableau Desktop ve Server‘ın farkını gösterdiğim yazılarım bulunuyor.

Zaten işim gereği kullandığım Tableau Software‘in satış ve ürün sertifikasına sahibim. Bir çok firmaya da Tableau eğitimleri vermiş bulunuyorum.

Sorularınız hakkında bana her zaman yan tarafta belirttiğim adreslerden ulaşabilir ya da yazılarımın altına yorum yaparak feedback’ler verebilirsiniz.

Yazılarımın bir bölümü www.yeninesiliszekasi.com sitesinde de yayınlanmaktadır.

Ürettiğim kaynakları kısaca sizin için derlemek isterim.

Blogtaki Tableau ile ilgili yazılara buraya tıklayarak ulaşabilirsiniz.

Youtube kanalımdaki Tableau videolarına buraya tıklayarak ulaşabilirsiniz.

Tableau Public’teki çalışmalarıma buraya tıklayarak ulaşabilirsiniz.

Tableau veri görselleştirmesine dair en başından itibaren anlattığım tüm grafik tiplerini aşağıda bulabilirsiniz.

Shape, Area ve Line Chart için buraya,

Donut Chart için buraya,

Circle Chart için buraya,

Word Cloud ve Treemap için buraya,

Hexbins Chart için buraya,

Radial Bart Chart için buraya ve diğer versiyonu için buraya,

Bump Chart için buraya,

DNA Chart için buraya,

Waffle Chart için buraya,

Pareto Chart için buraya,

Butterfly Chart için buraya,

Funnel Chart için buraya,

Sankey Diagram için buraya,

Waterfall Chart için buraya,

Quadrant Chart için buraya,

Bullet Chart için buraya,

Gantt Chart için buraya,

Slope Chart için buraya,

Yuvarlak bar grafik için buraya,

Heatmap için buraya,

Histogram için buraya,

Box Plot için buraya,

Çift eksenli harita için buraya,

Çift eksenli bar grafik için buraya

tıklayabilirsiniz…

Okuyan ve takip eden herkese teşekkürlerimi sunuyorum ♠

Tableau

Tableau Ders 100: Zaman Analizleri

İlk Örnek

Saatlik, günlük ya da haftalık olarak analiz yapalım.

  1. Gösterim Sıklığı adında aşağıdaki parametreyi oluşturalım.

    gosterim.png

  2. Aşağıdaki hesaplamayı Zaman Aralığı adını vererek oluşturalım.
    CASE [Gösterim Sıklığı] 
    WHEN "1" THEN DATETRUNC ('hour', [created_at]) 
    WHEN "2" THEN DATETRUNC ('day', [created_at]) 
    WHEN "3" THEN DATETRUNC ('week', [created_at]) 
    END
  3. Yeni tarih alanı olarak artık Zaman Aralığı hesaplamasını kullanmalıyız.
  4. Böylece parametreden saatlik, günlük ya da haftalık seçim yaptığımızda analizlerimiz ona göre değişecektir.

İkinci Örnek

Son gün, son hafta, son ay ve son yılı gösterelim.

  1. Gösterilen Zaman adında aşağıdaki parametreyi oluşturalım.

    gosterilenzaman.png

  2. Aşağıdaki formülleri yanındaki isimleri vererek oluşturalım.

    Son Gün: TODAY () = [Order Date]
    Son Hafta: DATEPART (‘week’, [Order Date]) =DATEPART (‘week’, TODAY())
    Son Ay: DATEPART (‘month’, [Order Date]) =DATEPART (‘month’, TODAY())
    Son Yıl: YEAR([Order Date]) =YEAR (TODAY())

  3. Son olarak aşağıdaki formülü yazalım ve Zaman Seçimi olarak adlandırın.
    CASE [Gösterilen Zaman]
    WHEN "1" THEN [Son Gün]
    WHEN "2" THEN [Son Hafta]
    WHEN "3" THEN [Son Ay]
    WHEN "4" THEN [Son 1 Yıl] 
    END
  4. Zaman seçimi hesaplamasını Filters kutusuna atarak “True” seçtiğimizde yukarıdaki parametreden yaptığınız seçimler grafiğe uygulanacaktır.
Tableau

Tableau Ders 99: Saat Aralığı

Saate göre filtreleme işlemini nasıl yaparız?

Örnek olarak aşağıdaki şekilde bir veri oluşturdum. Veride yalnızca aktivite ve tarih alanları bulunmaktadır.

Saatlik, Saatlik 2 ve Saatlik 3 çözüm için hazırladığım hesaplamalardır.

4x242r432.png

Gelin tek tek inceleyelim.

Birinci Yol

Saatlik hesaplamasının içerisine bakalım.

DATEPARSE ( "HH:mm:ss", str(datepart('hour',[Tarih]))+ ":"
+ str(datepart('minute',[Tarih]))+":"+ str(datepart('second',[Tarih])) )

Tarih alanının içerisindeki saati kullanmak için tarih alanını parçalıyoruz. Saat, dakika ve saniyeyi bir araya getiriyoruz.

ilkyontem.png

İkinci Yol

Saatlik 2 hesaplamasının içerisine bakalım.

DATEADD ('second', DATEDIFF('second', DATETRUNC('day',[Tarih]), [Tarih]),
#1900-01-01#)

ikinciyontem.png

Üçüncü Yol

Saatlik 3 hesaplamasının içerisine bakalım.

RIGHT (STR ([Tarih]), 8)

Tarih alanının içinden sadece saat bilgisini alıyoruz.

Başlangıç ve bitiş zamanını belirten iki parametre oluşturuyoruz.

bbbbbbaşbbbbbbbbbbitiş

Ardından Saatlik 3 alanını filtreye atarak içerisine Condition bölümünden aşağıdaki formülü yazıyoruz.

cond

Artık belirttiğimiz saat aralığını görebiliriz.

ucuncuyontem.png

Tableau

Tableau Ders 98: Set Action

Tableau’nun yeni özelliklerinden biri olan Change Set Values özelliğinden sizlere bahsetmek istiyorum.

Tableau actions hakkında daha fazla bilgi için buraya tıklayabilirsiniz.

Şimdi set aksiyonunu bir örnek üzerinde görelim.

Data: Sample – Superstore.

Bu özelliği dashboard ekranında kullanacağız. Bunun için örnek olarak iki tane sheet hazırlayarak dashboard ekranında birleştireceğiz.

İlk sheet:

Segment bazında satış

segmentbysales

İkinci sheet:

Alt kategori bazında satış

Aşağıdaki sheet’i oluştururken rengin içindeki set için segment’in üzerine sağ tıklayarak Create -> Set diyelim ve çıkan ekrandan herhangi bir segment seçelim. Yarattığımız set‘i Marks -> Color içerisine sürükleyip bırakalım. Sağ tarafta oluşan Legend ekranında IN‘i, OUT‘un altına aşağıdaki görüntüdeki gibi sürükleyelim.

Şuanda seçmiş olduğunuz segmentin, alt kategoriler içindeki satış dağılımını görmektesiniz.

934ö94ömdü.png

Dashboard:

Hazırladığımız iki sheet’i, dashboard ekranında bir araya getirelim.

ccccchangesetvalues.png

Aksiyonu kullanmak için menüden Dashboard -> Actions

setac

Add Action -> Change Set Value diyelim.

setaction

Açılan ekrandan aksiyona bir isim vererek hangi sheet’e basınca nasıl çalışmasını istediğimizi ve hedef set‘in veri kaynağını ve kendisini seçelim.

r4öd9

Segment by Sales sheet’inde segment seçince (Select, mouse ile bastığımızda) segment set çalışsın.

Run Action on bölümünde;

Hover: İlgili alanın mouse ile üzerine gelince

Filter: İlgili alana tıklayınca

Menu: İlgili alana tıkladıktan sonra menü açılır ve menüden seçtiğimizde aksiyon çalışır.

Clearing the selection will bölümünde;

Keep set values: Segmenti seçtikten sonra üzerine tekrar tıklayınca filtre geri alınmaz.

Add all values to set: Segmenti seçtikten sonra üzerine tekrar tıklayınca filtre geri alınır.

Remove all values from set: Segmenti seçtikten sonra üzerine tekrar tıklayınca ilgili değerler dışarda kalır.

Tableau

Tableau Ders 97: Çift Eksenli Bar Grafik

Verilerinizi sıradan bir bar grafikle göstermek mi? Yoksa onu biraz süslemek ister misiniz?

Şimdi biraz daha hoş görünen bar grafiklerden birini anlatacağım.

Profit’i Columns’a; Region’ı Rows’a attıktan sonra Profit’in üzerine sağ tıklayarak Quick Table Calculation‘lardan Percent of Total‘ı verelim. Ardından Profit’i yanına kopyalarak aynı şekilde Percent of Total kullanırken Compute Using‘i Cell seçelim.

compsuing

Birazdan bu iki ekseni üst üste getireceğiz ve eksenler üst üste bindiğinde iyi görünmesi için bazı format ayarları yapacağız.

Marks -> All‘dan Bar‘ı seçerek başlayalım.

Birinci Profit alanı için Mark -> Size‘ı biraz küçültelim ve kar yüzdelerini grafiğin üzerine Label -> Show mark labels ile yazdıralım. Ardından ikinci Profit alanı için Mark -> Color -> Opacity‘den opaklığı biraz azaltalım.

tk9eepogjü.png

Şimdi ikinci Profit’in üzerine sağ tıklayarak Dual Axis diyelim ve eksenleri birleştirelim.

Eksenin üzerine sağ tıklayarak Synchronize Axis ile iki ekseni senkronize edelim.

egteg435gsyn.png

Tekrar eksene sağ tıklayarak Show Header diyerek ikinci ekseni yok edelim. Ardından alttaki eksene sağ tıklayarak Edit Axis diyelim. Çıkan ekrandan General -> Range -> Fixed seçerek başlangıcı 0 bitişi 1’e sabitleyelim.

fixedgeneral.png

Eksenlerin yerini Swap iconu ile değiştiriyorum ve farklı renkler veriyorum.

Ta Taa

efr4gfg46yvc5final.png

Tableau

Tableau Ders 96: Combined Set

Set konusunu bilmeyenleri böyle alalım -> Statik set için buraya ve Dinamik set için buraya tıklayarak set‘ler hakkında detaylı bilgi edinebilirsiniz.

Şimdi bu yazıda en fazla satış yaptığımız ve aynı zamanda en fazla zarar ettiğimiz müşterileri bulacağız.

Birlikte de yapabilmek adına yine Tableau’nun örnek Sample – Superstore verisini kullanacağım.

Öncelikle en fazla satış yapılan 10 müşteri ve en fazla zarar edilen 10 müşteri için aşağıdaki şekilde birer set oluşturuyoruz.

En fazla satış yaptığımız 10 müşteriyi bulmak için;

top10cust

Set‘leri her sheet’te kullanabildiğimiz yeni bir boyut gibi de düşünebilirsiniz.

bysales

Set‘e isim verelim Top 10 Customers by Sales diyorum.

En fazla zarar ettiğimiz 10 müşteriyi bulmak için;

top10cust

Set‘e isim verelim Bottom 10 Customers by Profit diyorum.

bottomcust

Şimdi bu yarattığımız iki set‘i join yapacağız. Yaratılan set‘in üzerine sağ tıklayarak Create Combined Set diyelim.

comb

Combined Set‘e bir isim vererek hazırladığımız set‘leri seçelim ve inner join yapalım.

combinedset

Ok diyelim ve devam edelim.

Setlerin çıktısı iki türlüdür.

Default olarak IN/OUT şeklinde olup direk olarak IN‘in içindeki üyeleri de gösterebilirsiniz.

Combined Set‘i Rows’a atıp bir bakalım. Yanına da ilgili müşteriyi görmek için Customer Name‘i alalım.

Görüldüğü üzere en yüksek satış yapılan ilk 10 müşteriden biri olan Sean Miller aynı zamanda en yüksek zarar edilen ilk 10 müşteriden biriymiş hatta tek kişiymiş.

cmcccmcmc.png

Set‘in çıktısını değiştirmek için ekrana aldığımız set‘in üzerine sağ tıklayarak Show Members in Set diyebiliriz.

qşkdjşlkwqjdklmembersinset.png

Görüldüğü üzere set kavramı oldukça önemli ve hayat kurtarıcıdır. İsterseniz içerisinde  direk olarak koşullar belirtip formüller kullanabilirsiniz.

Tableau

Tableau Ders 95: Filtre içinde Filtre Filtreleme

Tableau filtreler konusuna burada daha önce değinmiştim.

Şimdi biraz daha detay bir konuyu anlatacağım.

Bunun için Tableau Sample – Superstore’un Türkçe verisini kullanıyorum.

Öncelikle aşağıdaki şekilde örnek bir sheet oluşturdum ve burada filtreleri Single Value (List) yani tek seçimli liste olarak kullandım.

4r4r4r4r44r4.png

Filtrenin yanındaki minik ok işaretine tıklayalım. Burada gördüğünüz gibi default olarak All Values in Database seçeneği seçili gelir. Siz burada veri kaynağınızdaki tüm veri değerleriyle de çalışabilirsiniz yalnızca ilgili değerlerle de çalışabilirsiniz.

İlgili değerlerle çalışmak için Only Relevant Values‘u seçelim ve farkı görelim.

lkişkişşkilk5.png

Yalnızca il için bunu seçersek ilçe seçtiğimizde il alanı ilgi değere göre filtrelenecektir. İki alanı da seçtiğimizde birbirini filtreleyebilmesi için ilçe filtresine de tıklayarak Only Relevant Values‘u seçelim.

Artık bir il seçtiğimizde gördüğünüz gibi ilçe filtresinin içerisindeki değerler de filtreleniyor. Aynı şekilde bir ilçe de seçtiğimizde il filtresindeki il değerleri filtrelenecektir.

Muğla seçildiğinde ilçe filtresinin içerisinde yalnızca Muğla iline ait ilçeler görünmektedir.

föcx95ö.png

Peki ya hiyerarşik bir yapıyı filtreye atsaydık? Örneğin kategori ve alt kategori.

Otomatik olarak Mobilya kategorisini seçtiğimizde Mobilya kategorisinin içindeki alt kategorileri görüyoruz.

hie

Çünkü hiyerarşik alanları filtreye koyduğumuzda otomatik olarak All Values in Hierarchy seçeneği ile gelir.

hierarchy

Hepsi bu kadar ♠

Tableau

Tableau Ders 94: Çift Eksenli Harita

Eksenleri birleştirmek için kullandığımız bir teknik vardı: Dual Axis.

Pekala bunu harita için nasıl kullanabiliriz? Dual axis map nasıl yapılır?

Öncelikle herkesin bildiği gibi harita yaratmak için il alanının üzerine sağ tıklayarak Geographic Role -> State/Province diyelim ve ilin üzerine çift tıklayarak haritayı oluşturalım.

Kar alanını Marks -> Color içerisine atarak filled map oluşturalım.

haritaaa.png

Ctrl tuşuna basarak Rows’taki Latitude‘yi yanına kopyalayalım. Böylece alt alta iki tane harita elde etmiş olacağız.

Şimdi illerdeki karlılığı renklerden anlayabiliyoruz. Bu karlılığı hangi segmentlerden ne kadar satış yaptığımıza göre görmek istediğimizi varsayalım.

Marks -> 2. Latitude‘a gelelim ve Pie grafiği seçelim. Segment’i Color‘a; satışı Angle‘ın içine sürükleyip bırakalım.

piemap.png

Bu konuyu Türkiye haritasında göstermek istedim. Burada ilçeleri de göstermek isteseydik ilçenin üzerine sağ tıklayarak coğrafik rolünü City vermemiz gerekirdi. Ardından üzerine çift tıklayarak ilçeleri de harita üzerinde görebilirdik. Şuan çok kalabalık olmaması için ilçeyi eklemiyorum.

Peki elimizde gördüğünüz gibi iki harita var bu iki ekseni üst üste getirmek için Rows’taki ikinci Latitude‘a sağ tıklayarak Dual Axis yapalım.

Ta Taa

dualmap.png

Tableau

Tableau Ders 93: Toplam ve Ara Toplam

ğlx49lx

Bir crosstab raporunuz var ve toplam ve ara toplamları görmek hatta bunları farklı şekillerde hesaplatmak istiyorsunuz.

Pekala nasıl yapacağımıza bir bakalım.

Öncelikle ekranda gördüğünüz sheet’i oluşturalım ve Sales’in üzerine sağ tıklayarak Create Table Calculation -> Percent of Total diyelim.

Yüzdeye çevirdiğimizde hesaplamak daha kolay olacaktır.

Öncelikle kolon ve satır toplamını ekranda göstermek için menüden Analysis -> Totals -> Show Row Grand Totals ardından aynı şekilde Show Columnd Grand Totals diyelim. Daha aynı şekilde Add All Subtotals ile ara toplamları da ekleyelim.

erfewdkldw.png

Peki şimdi Sales’e Percent of Total verdiğimiz için artık Sales’e sağ tıkladığımızda Compute Using kısmını görebiliriz. Çünkü Compute Using işlemin neye göre hesaplandığını seçtiğimiz kısımdır ve sayısal değere herhangi bir hesaplama vermeden Compute Using diyemeyiz.

çr94r.png

Görüldüğü üzere default olarak Table (across) seçili geldi. Yani bu durumda satır yüzde toplamının %100 olacak şekilde toplamdaki yüzdelerinin hesaplandığını görebilirsiniz.

Compute using‘i, Table (down) seçtiğimizde kolonların aşağıya doğru toplamlarının yüzde yüz olacağı şekilde hesaplandığını görebilirsiniz.

9949.png

Bu şekilde sırayla seçerek tek tek inceleyebilirsiniz.

Eğer burada yılları da baz alarak yüzdesel satış farkını inceleseydik o zaman Compute Using‘teki alanlar biraz daha değişecekti. Bunun sebebi artık iki kolon olmasıdır.

comp

Buradaki alanların ne işe yaradığını kendiniz denerken daha net görebilmek için Marks -> Label‘ın içerisine hesaplanmamış toplam satış bilgisini de atabilirsiniz. Böylece işlemlerin nasıl yapıldığını daha kolay görebilirsiniz.

rıö9ö49ö4.png

Text‘in içerisinde yukarıda Difference hesaplamasını verdiğim satış ve altında normal satış değerleri bulunmaktadır.

Tableau

Tableau Ders 92: Box Plot

Box Plot, değerlerin bir eksen boyunca dağılımını göstermek için kullanılır.

Tableau ile Box Plot‘ı kullanmak oldukça pratik. Nasıl yaptığımıza gelin örnek üzerinden görelim.

Data: Sample -Superstore.

Sub-Category’yi Columns’a; Sales’i Rows’a sürükleyip bırakalım.

Şuan alt kategorilerin toplam satışlarını görüyoruz. Peki o alt kategoride tüm satış değerlerini görmek istersek ne yapacağız?

Menüden Analysis -> Aggregate Measures diyerek ekrandaki satış alanı Non-aggregate‘e çevireceğiz.

agg mea

İşte şuan alt kategorilerine kadarlık fiyatlara satıldığını görüyoruz. Her bir daire bir fiyat bilgisini (satış değerini) gösteriyor.

r3r3ad.png

Box Plot‘ı kullanmak için sol taraftaki Data‘nın yanındaki Analytics bölmesine geçerek Custom‘ın altındaki Box Plot‘ı grafiğin üzerine sürükleyin ve çıkan ekrandan Cell kutusunun içine bırakın.

frbox.png

Burada hiçbir değişiklik yapmayacağız fakat isterseniz Box Plot‘ınızın fontunu buradan değiştirebilirsiniz.

boxsw.png

Satış dağılımının en yüksek olduğu alt kategorinin Machine olduğunu rahatlıkla görebiliriz.