Tableau Ders 46: Python Bağlantısı

Daha önce Tableau’da R bağlantısının nasıl yapıldığından ve R kodlarının nasıl çalıştırıldığından sizlere bahsetmiştim.

Göz atmak için buraya tıklayabilirsiniz.

Bugün de size Tableau’da Python bağlantısını nasıl yaptığımızdan bahsedeceğim.

İşin Tableau tarafı, R bağlantısını yaptığımız ve kodları kullanım şekliyle tamamen aynı.

Python tarafına bakalım.

Github’tan buraya tıklayarak TabPy-master.zip dosyasını indirin.

Screenshot_6.png

Şimdi zip dosyasındaki TabPy-master klasörünü çıkartın.

setup.bat dosyasını çalıştırın.

Hata mesajı alırsanız ok diyin ve komut ekranını kapatmadan bekleyin. Eğer komut ekranı kapanırsa bat dosyasını tekrar çalıştırın.

Böylece, TabPy başlatılacak ve 9004 portu kullanılacaktır.

Yüklenmesi biraz zaman alabilir.

Screenshot_5.png

Yukarıdaki mesajı aldıysanız Python server başarıyla yüklenmiş ve çalışıyor demektir.

Artık Tableau tarafına geçebiliriz.

Verinize bağlandıktan sonra Tableau’da bağlantıyı kurmak için en üst sekmeden Help -> Setting and Performance -> Manage External Service Connection diyoruz.

Screenshot_7.png

Açılan ekrandan aşağıdaki şekilde bağlantı bilgilerini giriyoruz. Test Connection dediğimizde aşağıda gördüğümüz bildirim çıkıyorsa bağlantı başarılıdır.

Screenshot_3.png

Ok diyerek Python kodlarını yazmaya başlıyoruz.

Biliyorsunuz kodları hesaplama alanının içine yazıyoruz. Hesaplama alanı açmak için tekrar üst sekmeden Analysis -> Create Calculated Field diyebilirsiniz ya da en soldaki Dimensions‘ın yanındaki küçük ok’a basarak hesaplama alanını açabilirsiniz.

Şimdi, bağlantıyı kurduktan sonra size bir örnek göstermek istiyorum bunun için klasik Tableau’nun Sample – Superstore datasına bağlanıyorum.

Screenshot_4.png

Kod;

SCRIPT_BOOL("lst= []

for i in _arg1 :

lst.append(i>0)

return lst"

,SUM([Profit]))

Kar 0’dan büyükse True değilse False dönecek şekilde script’i yazıyorum.

Hesaplamayı, Color‘ın içerisine sürükleyip bırakıyorum.

Örnek olarak alt kategori başına karlılığı bar grafik üzerinde aşağıdaki gibi gösterdim. 0’dan yüksekse kar turuncu, düşük ise karlılığı lacivert olarak görüyoruz.

Screenshot_9.png

İşte bu kadar!

Tableau Ders 45: Javascript ile Yapılan Grafikleri Çalıştırma

network.gif

Dashboard ekranındaki “Web Page” özelliğinden daha önce sizlere bahsetmiştim. Bu şekilde javascript ile yaptığınız grafikleri linkleyerek, Web Page özelliğiyle aynı Dashboard’ta göstermek mümkün. Dashboard Actions’ları kullanarak raporları birbiriyle iletişime geçirebilirsiniz.

Örneği incelemek için buraya tıklayın.

Tableau Ders 44: Sıralama Sorunu

Screenshot_2.png

Bu yazımda size bir sorun ve çözümünden bahsetmek istiyorum.

Örnek olarak yukarıdaki grafiği oluşturdum ve görüldüğü gibi sıraladığım halde sıralamada bir sorun var.

Peki böyle bir durumla karşılaşınca ne yapmalıyız?

Sıralamak istediğimiz Measure’u, Rows’a sürükleyip bırakalım. Şuan bunu satış için yapacağız.

Daha sonra satışa sağ tıklayarak Discrete’e çevirelim ve Quick Table Calculation’dan Rank fonksiyonunu ve Compute Using diyerek Category’yi seçelim.

Yani satışı, kategori için sıralayalım.

Ve son olarak sıraladığımız bu satışı alıp, Region’ın yanına alalım. Grafikten Region’ın yanındaki sıralama rakamlarına sağ tıklayarak Show Header’daki tiki seçerek kaldırıyorum.

Ta Taa

siralamasorunu.gif

Not: Örnek için kullanmış olduğum grafik tipi Lolipop grafiktir.

Tableau Ders 43: Tablet ve Mobil’de Dashboard Tasarımı

Bugün Tableau kullanarak bir Dashboard’u, mobil ve tablet için nasıl tasarlayacağımıza bakacağız.

Öncelikle size Tableau Mobile uygulamasından bahsetmek istiyorum. Aplikasyonu mobil cihazınıza indirerek inceleyebilirsiniz.

Konuyla ilgili youtube videoma ulaşmak için buraya tıklayabilirsiniz.

Tableau’nun 2 ana ürünü var: Tableau Desktop ve Tableau Server.

Bu uygulamadan ip adresiniz ile server’ınıza bağlanarak raporlarınıza mobil ve tabletinizden bakabiliyorsunuz.

Yani şirketler için konuşursak, uygulamayı indirerek Tableau Server‘a bağlandığınızda herkes izinler dahilinde yapılan raporu inceleyebiliyor.

Tableau Server‘ı denemek için buradan ücretsiz olarak indirebilirsiniz.

1324.jpeg

Peki raporların, mobil ve tablet tasarımlarını nasıl yapıyoruz?

Örnek olarak aşağıdaki Dashboard’u hazırladım.

Screenshot_2.png

Dashboard’un sol yanında aşağıdaki ekranı görüyoruz ve buradan Device Preview butonuna tıklıyoruz.

Screenshot_1.png  Tıkladığımız zaman aşağıdaki şekilde Dashboard’un üzerindeki modeli görüyoruz. Gördüğünüz gibi Tablet çeşitleri hazır olarak burada mevcut istediğiniz ekrana göre yapabilirsiniz. Şimdi hemen yandaki Add Tablet Layout butonuna basalım.

Screenshot_3.png

En soldaki Device Preview’un üzerine gördüldüğü gibi Tablet geldi. Genel tablet boyutunu kullanacağım. İsterseniz altındaki Size – Tablet bölümünden Fit all diyerek Dashboard’u tablet ekranına sığdırabilir ya da Fit width diyerek enine sığdırarak boyunu siz ayarlayabilirsiniz. Çizgilerin dışında kalan yerleri dokunmatik ekranı kaydırarak görebilirsiniz.

Screenshot_4

Bilgisayar, tablet ve mobil için tasarımları gördüğünüz gibi tek bir ekrandan yapabiliyoruz. Solda Device Preview‘un üzerindeki Default’a tıklayarak bilgisayar ekranı için olan tasarımınıza, tablete tıklayarak tablet tasarımınıza bakabilirsiniz.

Aynı şekilde buraya birde mobil ekleyelim. Device Type‘a tıklayalım ve buradan Phone‘u seçelim.

Screenshot_5.png

Aynı şekilde telefon modeli seçebiliriz.

Screenshot_6.png

Şuan genel telefon ebatlarını kullanacağım. Aynı şekilde Add Phone Layout diyoruz böylece cihazlara telefonu da eklemiş oluyoruz.

İsterseniz eklediğiniz her cihaz için grafik yerlerini değiştirebilirsiniz ve bambaşka bir tasarım yapabilirsiniz. Örneğin, aşağıdaki şekilde tasarımı değiştirdim. Fit width diyerek aşağı doğru kaydırılacak şekilde ayarlıyorum.

Screenshot_7.png

Artık mobil cihazından aplikasyona giren herkes raporu bu şekilde görüyor.

Screenshot_9.png
Çerçeve ile belirtilen alan mobil cihazımızın alanıdır. Ekranı kaydırarak aşağı doğru inebilirsiniz.

Tableau Ders 42: Filtreleme ve Add to Context Yapısı

filtrelemecirclegrafik.gif

Bugün sizlerle yukarıda gördüğünüz grafik üzerinden filtreleme konusunda konuşacağız.

String, tarih ve sayısal filtrelerin kullanılmasından bahsedeceğiz. Bunun için önce aşağıda ekran görüntüsünü paylaştığım şekilde grafiği oluşturalım.

Ekranda görünmeyen Marks’taki Sum(profit)’in içinde de Color’da Customer Name, Size’da SUM(Profit) ve Label’da SUM(Profit) var.

Screenshot_3.png

Sales ve Profit’i format ayarlarından “K” yani binlik gösterecek şekilde ayarlıyorum:

Önce Sales’in üzerine sağ tıklayarak Format diyoruz.

Screenshot_4

En solda çıkan bölümden Default’un altındaki Numbers’a tıklayarak Display Units kısmını Thousands (K) olarak seçiyoruz.

Screenshot_5

Daha sonra aynı şeyi Profit için yaparak onuda binlik olarak ayarlıyoruz.

Marks’taki Color’a tıklayarak Sales ve Profit için Opacity’yi biraz azaltalım. Ben opaklığı yüzde 45’e ayarladım.

Şimdi geldik fitrelemeye…

Customer Name’i Filters’ın içerisine sürükleyelim ve gelen ekrandan Top sekmesine geçelim. Buradan By field‘e tıklayarak Top 8 Profit Sum dersek (Top seçerseniz en fazla, Bottom seçerseniz en düşük olanı getirir) en fazla kar edilen 8 müşteri için grafikleri filtreleriz.

Screenshot_6 Peki istersek burada 8 gibi bir sayı vermek yerine, 8’in yanındaki küçük ok’a basarak Create a New Paremeter ile parametre oluşturabiliriz. Böylece top kaçı görmek istiyorsanız onu elle parametreden girebilirsiniz.

Wilcard bölmesinde istediğiniz harf ya da isimi içeren (Contains), başlayan (Starts With), biten (Ends with) ya da tamamen eşleşen (Exactly matches) müşteriler için filtreleme yapabilirsiniz.

Condition bölmesinden filtrelemek istediğiniz koşul aralığını belirtebilir ya da By formula kısmından hesaplama yazabilirisiniz.

Aynı şekilde Top bölmesinde de formül yazarak kullanabilirsiniz.

Pekala devam edelim.

Şuan Müşteri ismini filtrede kullandık.

En çok kar edilen Top 8 müşteri için grafiği filtrelerken aynı zamanda, satış aralığını 10 bin ile 15 bin olarak belirleyelim.

Sales’in üzerine sağ tıklayarak Show Filter diyelim. Dedikten sonra gördüğünüz gibi en sağ tarafa satış filtresi geldi.

Ardından Filters’ın içerisine gelen satışa sağ tıklayarak Edit Filter diyelim.

Range of Values‘ta görmek istediğiniz satış aralığını verebilirsiniz.

At Least‘te satışın başlangıcını yani minumumumu siz belirlersiniz, At Most‘ta ise görmek istediğiniz satışın maksimumumu belirlersiniz.

Aralığı dinamik olarak ekrandaki satış filtesinin üzerinden değiştirebilirsiniz.

Screenshot_7

Peki birde gelin tarih filtresi ekleyelim.

Order Date’i sürükleyerek filtrenin içerisine bırakalım. Tarihler, Tableau’nun içerisinde hiyerarşik olarak tanımlandığı için otomatik yıl olarak gelir. Üzerine sağ tıklayarak Edit Filter diyelim.

Buradan Exlude derseniz seçtiğiniz yılları dışarıda bırakır, en alttaki Filter to latest date value when workbook is opened seçeneğine tıklarsanız seçmiş olduğunuz türdeki en son tarih bilgisini getirir. Şuan buraya tıklamadan 2016 ve 2017 yıllarını seçelim.

Filtre olarak görmek istediğiniz her şeyi, sağ tık Show Filter diyerek filtreye atabilir böylece ekranda görebilirsiniz.

Filtreleri bu şekilde kullandık fakat şuan bu filtreler doğru çalışmıyor.

Add to Context” diye bir kavramdan bahsetmenin tam sırası.

Filters’taki Order Date’e sağ tık Add to Context diyelim. Böylece artık filtrelerimiz doğru çalışıyor.

Filtrede Top N kullandığımız zaman, filtrelerin doğru çalışması için eklediğimiz diğer Filtrelere Add to Context dememiz gerekir.

Aggregate olan Measures‘lar (sum, avg, median, count vb.) için bu opsiyonu kullanmamıza gerek yoktur.

Add to Context yapmamız gereken durumlar şunlardır:

Eğer filtrelerde,

1- Top ya da Bottom,
2- LoD hesaplamalar (fixed, include, exclude),
3- Set

kullanılmış ise diğer eklenen filtrelere Add to Context dememiz gerekir.

Filtrelerin çalışma önceliği aşağıdaki gibidir.tableaufilters.gif
Eğer bir worksheet’te kullandığımız filtrenin başka worksheet’leri de etkilemesini istiyorsak, istediğimiz filtreye sağ tık Apply to Worksheets -> Selected Worksheets diyoruz.

Screenshot_9.png

Filtreler konusunda size bu şekilde bir özet sunmak istedim.

Sorularınızı aşağı yorum olarak bırakın lütfen.

Tableau Ders 41: Action ve Web Page

Bugün Tableau Action‘lardan konuşacağız.

Öncelikle action‘ları worksheet ve dashboard için tanımlamak mümkündür.

(Bump Chart örneğinde worksheet seviyesinde bir highlight action tanımlamıştık.)

3 tip action vardır.

1- Filter

2- Highlight 

3- URL

Harita ve lolipop grafikten oluşan basit bir dashboard üzerinde action‘ları göreceğiz. Lolipop grafik, kategori ve alt kategori bazındaki satışları gösteriyor.

Screenshot_3.png

Filter action ile başlayalım.

En üst sekmeden Dashboard -> Actions

Screenshot_1 ve buradan Filter diyelim.

Filtrelendikten sonra filtrelenen il ismine tekrar bastığımızda grafiklerin eski haline dönmesi için aşağıdaki gibi Show all values seçeneğini seçiyoruz.

lolipop.png
Run action on kısmında,

Hover ->  İlgili alanın mouse ile üzerine gelince

Select -> İlgili alana tıklayınca

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

Şuan basınca çalışmasını istediğim için Filter‘ı seçiyorum.

Source Sheet -> Harita (Haritadan il seçince); Target Sheet -> Lolipop Chart o il için filtrelenecektir.

Ok dedikten sonra lütfen harita üzerinden bir il seçiniz. İlin üzerine tıkladığınızda artık Lolipop grafik o il için filtrelenmiş olacak.

Peki bunu daha kısa nasıl yapabilirdik? Yani bir grafiği bütün Dashboard için filtre olarak nasıl kullanırdık?

Bunun için filtre olarak kullanmak istediğiniz grafiğe Dashboard ekranından tıklayın ve oradaki küçük huni ikonuna basın.

Screenshot_4.png

Pekala nasıl çalıştığına aşağıdaki giften bir bakalım:

actions.gif

Burada çarpıcı olarak göstermek istediğim bir örnek var.

Bu örnek için URL action‘ı ve Web Page özelliğini kullanacağız.

Bunun için önce yeni bir dashboard açarak Lolipop Chart Sheet’ini Dashboard’a alalım ve Lolipop Chart‘ın altına sol aşağıdaki Objects‘in altındaki Web Page‘i sürükleyip bırakalım.

Web Page‘i dashboard ekranına sürükleyip bıraktığınızda size bir URL adresi sorulacak. Örnek olarak ikea’nın linkini girelim.

https://www.ikea.com.tr/arama/?k=

Daha sonra aynı şekilde action tanımlayarak bu defa Go To URL‘i seçelim.

loli.png

Artık bir alt kategoriye bastığımda İkea’nın sayfasında o ürünü aratabilirim.

Hadi başlayalım:

urlaction.gif

Görüldüğü gibi Tableau ile Dashboard ekranında, grafiklerle beraber web sitelerini göstererek ögeleri web sitelerinde dahi aratabiliyoruz.

Tableau Ders 40: Pane/Table

Bugün önemli iki kavram üzerinde duracağız. Table ve Pane.

Öncelikle grafik üzerinde daha sonra Crosstab olarak size bu iki kavramı anlatmaya çalışacağım. Bunun için yine Tableau’nun içerisindeki Sample – Superstore datasını kullanacağız.

Aşağıda her yıl için aylık satış değişim grafiği yer alıyor. Bütün tablo için ortalama satışı 52.937 ₺ olarak görmekteyiz (Table). Eğer bunu Pane olarak seçseydik bütün yılların ortalama satışını değil her yılın kendi içerisindeki ortalama satışını görecektik. Yani bu örnekte bütün yıllar Table, her bir yıl Pane‘dir.

Table;

Screenshot_1

Pane;

Screenshot_2

Pekala ne olduğunu anladıysak crosstab örneğimize bir bakalım. Aşağıdaki şekilde worksheet’i oluşturalım ve Profit’e tıklayarak Percent of Total diyelim.

Screenshot_7

Profit’e tıklayalım ve aşağıdaki gibi Compute Using -> Pane (down) diyelim.

Screenshot_8.png

Analysis -> Totals -> Show Column Grand Totals ve Add All Subtotals seçelim. Böylece Grand Total ile birlikte her bir Pane’nin altına toplam yüzdeleri yazdırmış olacağız.

Screenshot_3.png

Şimdi Compute Using -> Pane (down) dediğimiz için her bir kategori toplamı %100 olarak görünüyor. Çünkü her bir kategori, biliyoruz ki bir pane.

Pekala Compute Using’i gelin biraz daha kurcalayalım.

Örneğin, Table Across diyelim.

Screenshot_5.png

Artık her satırın yüzdelerinin toplamı %100 olacak şekilde hesaplanıyor. Eğer Table (down) deseydik bu sefer sütun bazında kategorilerin toplam yüzdelerinin toplamı %100 olacak şekilde hesaplanacaktı.

Burada diğer seçenekleri deneyerek sizde inceleyebilirsiniz. İsterseniz daha rahat görmek için Column Grand Total‘a ek olarak ekrana bir de Analysis -> Totals -> Show Row Grand Totals‘ı alabilirsiniz. Böylece yatay ve dikey olarak yüzde toplam hesaplamalarını açıkça görebilirsiniz.

Rakamlarınızda bir sorun varsa şuna dikkat edelim lütfen!

Göstermek istediğiniz hesaplamanız örneğin; [satış] olmamalı, sum([satış]) olmalıdır.

Sorularınızı olursa lütfen yorum olarak bana iletin.