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.
Reklamlar

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 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 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 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 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 Ders 91: İşlem (Aggregate ve Non Aggregate)

Tableau’nun örnek Sample – Superstore verisi ile New York City ile Texas City arasındaki satış farkını bulalım.

New York City’deki satışı bulmak için aşağıdaki hesaplamayı New York City Sales ismiyle yazalım.

Bunu iki şekilde yazabiliriz.

  • IF [City]="New York City" THEN [Sales] END

ya da

  • IF ATTR([City])="New York City" THEN SUM([Sales]) END

Şuan ilkini kullanacağız.

Eğer bu şekilde yazarsanız:

IF [City]=”New York City” THEN SUM([Sales]) END

size aşağıdaki şekilde bir hata mesajı verecektir.

cannot mix aggregate and non-aggregate comparisons or results in ‘if’ expressions tableau

Bu hatanın sebebi Sales alanını aggregate, City alanını ise non-aggregate kullanmış olmanızdır.

ATTR, SUM, AVG, MIN, MAX, CNT, CNTD vb. gibi fonksiyonlar aggregate‘dir.

Bir hesaplama yazarken hesaplamanızdaki tüm alanların aggregate ya da non-aggregate olması gerekir.

Peki bu bilgiyi verdikten sonra Texas City için satışı bulalım. Hesaplamanın adına Texas City Sales diyelim.

IF [City]="Texas City" THEN [Sales] END

New York City ile Texas City arasındaki satışın farkını almak için aşağıdaki hesaplamayı Sales Diff ismiyle yazalım.

SUM([New York City Sales]) - SUM([Texas City Sales])

İki hesaplanmış alan arasında işlem yaparken alanları aggregate olarak kullanıyoruz.

Eğer tüm bu alanları crosstab şekilde gösterecekseniz diğer alanlardan etkilenmemesi için farkını bulduğumuz alanı aşağıdaki şekilde kullanmanız gerekir.

{ FIXED : SUM([New York City Sales]) - SUM([Texas City Sales]) }

Şuan doğru bir şekilde sonucun geldiğini görebilirsiniz.

işlem