Tableau Ders 85: Union

Tableau’da union yapmak oldukça basittir. Nasıl yapıldığını göstermeden önce union işleminin ne olduğundan ve hangi durumlarda kullanılması gerektiğinden bahsetmek isterim.

Union, alt alta tabloların eklenmesi işlemidir. Dolayısıyla, eklenecek tablolardaki kolonların birbiriyle ilişkili olması gerekir.

Örnek:

orders_south2015

orders_south2016

orders_south2017

Orders_south, yani güney siparişlerinin 2015, 2016 ve 2017 yıllarındaki verisi mevcuttur. Excel formatında eklediğim verileri, üzerine tıklayarak indirip kullanabilirsiniz.

Buradaki her tablo aynı kolonlardan oluşuyor olup farklı yıllara aittir.

İşte böyle bir durumda veri seti alt alta eklenerek union yapılır ve veriler birleştirilir.

88m8.png

Bu arada bir hatırlatma olarak csv dosyalarına Connections bölümündeki Text file ile bağlanırız. Bağlandıktan sonra veriyi düzgün olarak göremezseniz dosya özelliklerini aşağıdaki şekilde değiştirebilirsiniz.

edwqfwfr34

Devam edelim.

Tabloları union yapmak için eklemek istediğiniz tabloyu tutun ve ekrana aldığınız tablonun hemen altındaki Drag table to union yazısının üzerine sürükleyip bırakın.

3f34f5.png

Ekranda gördüğünüz 3 tabloyu da union yapalım.

Yapılan union‘a, Edit Union diyerek bakabilirsiniz.

eggggggggggggg

43

Artık sheet’e geçerek çalışmaya başladığınızda 3 yıla ait tüm verilerin olduğunu görebilirsiniz.

3r43f3fd2xz32.png

Reklamlar

Tableau Ders 67: Sankey Diagram

xm4CwIrkYN.gif

Bugün Tableau’da Sankey Diagram yapacağız!

Adım adım nasıl yapıldığını göstereceğim fakat belirtmeliyim ki 2018.2 versiyonu ile birlikte gelen Extension‘larla sankey diagramı hazır olarak kullanabiliyoruz.

Yinede nasıl eski versiyonları kullananlar için nasıl yapıldığını anlatmak istiyorum.

Segment’lerin hangi bölgelerden beslendiğini ve aynı şekilde bölgeleri hangi segment’lerin beslediğini mouse ile üzerine geldiğimizde highlight olarak Sankey Diagram üzerinde göstereceğiz.

Yukarıdaki ekranda gördüğünüz yüzdeler, segment’lerin ve bölgelerin kendi içindeki toplam satış yüzdelerini göstermektedir.

Adım 1: Tableau’nun örnek verisi olan Sample – Superstore datasına, Open’ın yanındaki minik ok’a tıklayarak Open with Legacy Connection seçeneği ile bağlanalım.

lj

Bildiğiniz gibi bu seçeneği, SQL yazabilmek için kullanıyoruz.

Adım 2: Orders tablosunu sürükleyerek ekrana alalım ve üstteki menüden Data -> Convert to Custom SQL diyelim.

wşqjşok4

Adım 3: Şuan sorgunuz -select bütün kolon isimleri from [Orders$]- şeklinde görünüyor olacak biz burada Region, Sales ve Segment kolonlarını kullanacağımız için geri kalan satırları silebilirsiniz. Ardından ” ” as Vizside kolonunu ekleyip veriyi kendisiyle union yapıyoruz.

Sonuçta sorgunuz aşağıdaki şekilde görünecektir.

09ı.png

Virgüllere dikkat edelim ve sorgu çalıştıktan sonra sheet’e geçelim.

Adım 4: Analysis -> Create Calculated Field diyerek hesaplamaları yazmaya başlayalım.

ToPad

IF [VizSide]="Segment" then 1 else 49 END

Rank 1

RUNNING_SUM(SUM([Sales]))/TOTAL(SUM([Sales]))

Rank 2

RUNNING_SUM(SUM([Sales]))/TOTAL(SUM([Sales]))

t

(INDEX()-25)/4

Sigmoid Function

1/(1+EXP(1)^-[t])

Curve

[Rank 1] + (([Rank 2]- [Rank 1])*[Sigmoid Function])

Sales Sizing

WINDOW_AVG(SUM([Sales]))

Adım 5: ToPad‘e sağ tık Create -> Bins diyelim.

te.png

Size of bins‘i 1 yaparak 1’den 49’a (ToPad) birer birer giden Padded boyutunu yaratalım.

y43fr43

Adım 6: Aşağıdaki şekilde boyut ve ölçütlerimizi sürükleyerek ekrana yerleştirelim.

Burada gördüğünüz gibi renk’te iki adet boyut var. Bunu şu şekilde yapıyoruz örneğin Region‘ı, Color‘ın içine attıktan sonra Segment‘i detaya atarak yanındaki üç noktaya tıklayıp Color‘ı seçebilirsiniz.

few.png

Yukarıdaki görüntünün oluşması için diğer adımlara devam edelim.

Adım 7: Marks‘a attığımız Size Sizing‘e sağ tık Edit Table Calculation diyerek Specific Dimensions‘ta Padded‘ı seçelim.

frwqpng.png

Adım 8: Curve‘e sağ tık Edit Table Calculation -> Specific Dimensions için Segment, Region, Padded’ı aşağıdaki şekilde sürükleyip bırakarak sıralayalım ve seçelim.

Nested Calculations -> Rank 1

ege.png

Bunu gördüğünüz gibi Rank 1 hesaplaması için yaptık. Şimdi sırayla diğerleri için de yapacağız.

Nested Calculations -> Rank 2

ewf.png

Nested Calculations -> t

r33.png

Ekran görüntülerinde paylaştığım sırayla olmasına dikkat edelim.

İç içe tanımladığımız hesaplamalardan sonra ekranda kıvrımlı yollar çıkmaya başlamış olmalı!

Adım 9: Curve eksenine sağ tıklayarak Edit Axis diyelim. Fixed‘i seçerek eksene sabit başlangıç (0) ve bitiş (1) değeri verelim.

32r4.png

Ardından t eksenine sağ tıklayarak Edit Axis diyelim. Fixed‘i seçerek eksene sabit başlangıç (-5) ve bitiş (5) değeri verelim.

werfffffew.png

Bu adımı şekilde bozuk çıkan kısımları ekrandan kaybetmek için yapıyoruz.

Adım 10: Eksenleri ekrandan yok etmek için üzerine sağ tıklayarak Show Header diyoruz. Çizgileri yok etmek için grafiğin üzerine sağ tıklayarak format diyoruz ve buradan Borders iconuna gelerek çizgileri None seçiyoruz. Grafiğin üzerine gelince Tooltip‘teki yazıların çıkmaması için Marks -> Tooltip -> Show Tooltips‘teki kutucuğa tıklıyoruz.

e2wd.png

Adım 11: Yeni bir sheet açalım ve Segment kolonunu oluşturalım.

Aşağıdaki şekilde ekranı dizayn ettikten sonra Sales‘e sağ tıklayarak Quick Table Calculations -> Percent of Total diyelim.

Bar grafiği biraz büyütmek için pembe ok’u gördüğümüz yere mouse ile giderek grafiği sağa doğru çekelim. Yüzde eksenine sağ tık Edit Axis diyerek Show Header ile ekseni yok edelim.

wwwwwwwwwwwf

Renklerin kıvrımlı yollarla aynı olması için renkleri yukarıdaki şekilde düzenleyelim.

Adım 12: Segment sheet’ine sağ tık Duplicate diyerek kopyalayalım ve Segment‘in olduğu Color ve Text‘in içine Region‘ı atalım.

wqfefw.png

Adım 13: Dashboard’a geçelim. Yaptığımız 3 sheet’i dashboard’a atalım ve yerleştirelim. Sheet’lerin başlıklarını, üzerine sağ tık Hide Title diyerek gizleyelim.

lkjhlkh.png

Yazı formatı için Goudy Old Style tipini kullandım.

Adım 14: Mouse ile segment ve bölgelerin üzerine gelince highlight olması için aksiyon tanımlayalım.

şlkjşlkj.png

Dashboard ekranında en üstteki menüden Dashboard -> Actions -> Add Action -> Highlight diyelim ve aşağıda görülen şekilde bölge ve segment olmak üzere iki tane highlight action tanımlayalım.

llj

lkj

Renkleri verilen şekilde kullanmanızı öneririm. Aksi halde ortaya bir renk karmaşası çıkabilir ve bunu önlemek için uğraşmanız gerekebilir.

Dashboard için kullandığınız sheetleri gizlemek isterseniz Dashboard isminin üzerine sağ tıklayarak Hide All Sheets diyebilirsiniz.

Merak etmeyin bunu yapmak hazır template ya da extension‘lardan yararlanabilirsiniz:)

Tableau Ders 38: Radial Bar Chart 2

Farklı grafik örneklerinin 2.sini yapalım dedim ve daha önce blogta anlattığım radyal bar grafiğin farklı bir versiyonunu paylaşmak istedim. Öncelikle bunun için Tableau’nun örnek verisi olan Sample Coffee Chain data setini kullandım. Üzerinde çalışmak isterseniz buradan indirebilirsiniz.

Screenshot_1.png

Yukarıdaki şekilde Product Type’tan elde ettiğim karlılığı yüzde olarak gösterdim. Sonra yeni bir excel açarak bunları excel’e attım.

Bu şekilde istediğiniz veriyi Radial Bar Chart (ya da Pie Gauge) olarak gösterebilirsiniz. Gerekli olan şeyler 1 adet isimlerin olduğu boyut ve onların yüzdeleri; bir de bu yüzdelerin en düşüğüne 1 vererek sıraladığımız bir sıra kolonu.

1- Tableau ile veriye bağlandıktan sonra kendisiyle Union yapıyoruz. Yani aynı datayı kendisi altına tekrar ekliyoruz. Bunun için Sheet1’i ekrana aldıktan sonra tekrar Sheet1’i sürükleyip Sheet1’in altında “Drag table to union” yazan yere bırakıyoruz.

2- Oluşan Table Name kolonunu şurada kullanacağız: IIF([Table Name]=”Sheet1″,1,271) hesaplamasını yazıyoruz. (Hesaplamanın adına Path diyelim.) => Dairenin 270 derecelik kısmını kullanıyoruz. Tam çizmesi içinde 271 yazıyoruz.

3-  Path’e sağ tık Create bins diyoruz ve aralığına 1 veriyoruz. Böylece 1’den 271’e kadar birer birer giden bir Dimension (boyut) yaratmış oluyoruz.

4- Index hesaplamasını yazıyoruz: (Index()-1)*2

5- Percentage hesaplaması: [Profit (%)]/28.7
Yine aynı şekilde kar yüzdesini en büyük yüzdeye bölüyoruz çünkü şekli en büyük yüzdeye yani en dış kabuğa göre oluşturuyoruz. Bu yüzden her şeyin maksimumunu kullanacağız.

6- w_percentage hesaplaması: WINDOW_MAX(MAX([Percentage]))

7- w_pi hesaplaması: WINDOW_MAX(PI())
Daire üzerinden bu grafiği çizdirdiğimiz için pi’yi de window_max fonksiyonu ile kullanmamız gerekiyor.

8- w_start ile en yüksek sırayı alıyoruz: WINDOW_MAX(MAX([Order]))

9- X ekseni için hesaplama:

Screenshrkgilkglot_4

270’ten küçükse en içteki radyal bar; 270’ten büyükse en dıştaki radyal bar için sinüs fonksiyonunu yazıyoruz.

10- Y ekseni için hesaplama:

Screenaaa

Y ekseni için yalnızca sinus’leri, kosinüs’e çeviriyoruz.

11- Y2 için hesaplama: [w_start]+0.25
Bunu da gerçek başlangıcımız olmayan ama grafikte başlangıç olarak gördüğünüz kısmın başına şekil eklemek için yazıyoruz.

12- İşlemler tamamsa sürükle bıraklara başlıyoruz. Columns’a x’i; Rows’a y’yi atıyoruz.

13- Marks’tan Polygon grafik tipini, grafiğin içinin dolu gelmesi için seçiyoruz. Product’ı Color’a; Path (bin)’i Detail’e; Index’i de Path’e atıyoruz.

14- Ekrana aldığımız X ve Y eksenlerine sağ tık Compute Using diyerek => Path (bin)’i seçiyoruz.

15- Gördüğünüz gibi Tableau grafiği çizdi. Şimdi biraz süsleyelim. Y2’yi, Rows’a Y’nin yanına alıyoruz ve Y2’ye sağ yık Dual Axis yapıyoruz. Böylece Y ile Y2 eksenleri üst üste koyuyoruz. Şimdi grafiğin yanındaki Y2’ye sağ tıklayarak Synchronize Axis‘i seçiyoruz. Eksenleri birleştirerek senkronize ettikten sonra evet ekrana hiçbir şey gelmeyecek!

16- Panik yok => Marks All Color’daki Measure Names‘i sürükleyerek dışarı çıkarıyoruz.

17- Marks’taki Y2’nin grafik tipini Shape seçiyoruz. Yazmasını istediğimiz şeyleri ekranda görmek içinde Product ve Profit’i Y2 için Label‘a atıyoruz. Yazı formatları için Label’a tıklıyoruz ve aşağıdaki şekilde yazının yerini ayarlıyoruz. (Text‘in içerisine girerek yazınızı düzenleyebilir; Font ile yazı tipi ve rengini ayarlayabilirsiniz.)

Screenshot_2.png

18- Shape’e tıklayarak ucuna ters içi dolu üçgeni seçerek ekliyoruz ve boyutunu ayarlıyoruz. Siz istediğiniz bir şekil seçebilirsiniz.

Ta Taa

Coffee Type by Profit.png

Tableau Ders 33: Radial Bar Chart

200

Gelin adım adım bu ilham verici grafik Tableau’da nasıl yapılıyormuş bakalım.

DATA

Gayet basit bir veri kullanacağız isterseniz kendiniz de excel’de basit bir veri oluşturup kullanabilirsiniz. Datayı indirmek için üzerine tıklayın:

Gauge_Data

(Chartın diğer bir ismi pie gauge chart)

Tableau ile veriye bağlandıktan sonra veriyi kendisiyle birleştirmemiz (Union yapmamız) gerekiyor. Bunun için aşağıdaki resimde gördüğünüz gibi Sheet1’i “Drag table to union” yazan yere sürükleyip bırakıyorum:

201

Calculated Fields

Dairesel bir bar chart oluşturmak için bir takım hesaplamalar yazmamız gerekiyor. Orjinal grafiklerde kullanmak istediğiniz hesaplamaları internette rahatlıkla bulabilirsiniz. Bu hesaplamaları kullanarak harika grafikler yaratabilirsiniz. Vakit buldukça yaptığım şeyleri buradan da paylaşacağım:)

Öncelikle union yaptığımız datayı isimlendirerek ayırmamız gerekiyor bunun için aşağıdaki hesaplamayı yazıyorum.

202

Union yaptıktan sonra bir table name kolunu oluşuyor. Table Name; Sheet1 ve Sheet11 (unionla gelen veri). Bende bunları ayırmak için Path adında oluşturduğum bir hesaplama yazarak şunu diyorum: Eğer Sheet1 ise 1, değilse yani Sheet11 ise 271 döndür. Burada 271 kullanmamızın sebebi, radyal yani dairesel bir şekil yapmamız. Gördüğünüz şekilde programlama dillerinin yazdığı yerde grafiğin başlaması için 270 dereceyi kullanmalıyım. 270 dersem başlangıç noktasında görsel olarak ufak bir eksiklik oluştuğu için 271 dereceyi baz alıyorum.

Bunu yaptıktan sonra oluşan Path’e sağ tıklayarak Create Bins diyorum ve aralığına 1 veriyorum. Bunu yaparak 1’den 271’e kadar birer birer artan bir boyut oluşturuyorum.

Bundan sonrasında saf matematik formülleri yazacağız. Başlayalım:

Index: index() fonksiyonu 1,2,3… şeklinde bir sıralama fonksiyonudur. Bu grafiği elde etmek için fonksiyonu aşağıdaki şekilde kullanıyoruz:

203

Percentange: Toplam yüzdeyi, en yüksek yüzdeye bölerek dış kabuğa göre şeklin oluşmasında ilk adımı atıyoruz.

204

w_percentage: Şimdi yukarıda yazdığım hesaplamayı window_max() fonksiyonunun içerisinde kullanarak max değeri alıyoruz.

205

w_pi: Pi değerini döndürür.

206

w_start:  Max sırayı alıyoruz:

207

*Order (sıra) aşağıdaki şekilde oluşturuluyor:

198

Order dediğimiz 1’den 6’ya kadar verilmiş sıralama. Yüzdesi en düşük olana 1, en yüksek olana en yüksek sıra sayısını vererek sıralıyoruz.

X: X eksenini oluşturuyoruz:

Index, 270 ten küçükse şeklin en içteki radyal barını, büyükse en dıştaki radyal barını çizdiriyorum.

208

Y: Y eksenini oluşturalım:

Yukarıdakinin aynısını sadece sinusleri kosinüs ile değiştirerek y ekseni için yazıyorum.

209.png

Y2: Bunu yazmak zorunda değilsiniz. Başlangıcın, düz olması yerine daireler ekleyerek yumuşatmak için yazıyoruz. Denerken zaten ne demek istediğimi anlayacaksınız. Bunun için başlangıç noktasına 0,5 ekliyoruz:

210

Huh biraz nefes alalım… Merak etmeyin hesaplamalar bu kadardı. Geriye sadece sürükle bıraklar kaldı.

Worksheet

Hadi oluşturmaya başlayalım!

  • Path (bin), Marks’taki Detail bölmesine sürükleyip bırakın.
  • Grafik olarak Polygon’ı seçin. (Automatic yazan kısmı polygon yapın).
  • Index’i, Path bölmesine atın.
  • Description’ı, Color yazan yere sürükleyin.
  • X’i Columns, Y’yi Rows’a bırakın.
  • Columns’taki X’in üzerine gelerek Compute Using -> Path (bin)’i seçin böylece X ekseni 1’den 271’e kadar olan yarattığımız boyuta göre hesaplanacaktır. Aynı şeyi Rows’taki Y içinde yapın.

Vouv! Karşınıza bir anda çıkıverdi değil mi? Mükemmel∴

212.png

Hadi devam edelim ve biraz daha güzelleştirelim:

  • Rows’taki Y’nin yanına Y2’yi atın. Y2’ye sağ tık Dual Axis yapın böylece Daire ve Polygon’u birleştireceğiz. Marks’ya Y2 eksenini bulun ve grafik tipi olarak Circle’ı seçin.
  • Description ve Response’u, Y2 için Label’ın içine sürükleyip bırakın. Böylece diller ve yüzdelerini yazdırmış olacağız. Yazılarla ilgili bütün ayarları Label’dan yapabilirsiniz. Ortalamak için vb. Alignment yazan kısımdan Horizontal ve Vertical bölümlerini kullanabilirsiniz.
  • Label -> Font -> Match Mark Color diyerek grafiğin renklerini aynen yazı ile eşleştirelim.
  • Workheet’in arka planını siyah yapmak için grafiğin üzerinde boşluğa sağ tıklayarak Format diyoruz. Formatlama konusu için buraya tıklayabilirsiniz.

İşte hepsi bu kadar! Gerisi tamamen sizin estetik algınız. istediğiniz gibi renklendirebilir fontlarıyla oynayabilir hatta üzerinden daha farklı şekiller bile yaratabilirsiniz!

Çalışmalarımı görmek isterseniz buraya tıklayarak takip edebilirsiniz.

Kolay Gelsin!
                                                                              ∞