top of page

Tableau ile İş Zekası #4

Tableau Zaman Serileri ve Fonksiyonları

İş zekası raporlamalarında ve birçok analiz çalışmasında, tarih verilerinin önemi çok büyüktür. Tarihler çoğu veri kaynağının temel öğesi olarak karşımıza çıkmaktadır. Tableau tarih verileri ile alakalı olarak, eğer veri setimizde bir tarihi alanı var ise bunu otomatik olarak algılar ve bir hiyerarşi oluşturur. Hiyerarşi, verimizde var olan detaylara göre örnek olarak; yıl-çeyrek-ay-gün-saat-dakika şeklinde direkt olarak oluşturulmaktadır. Bir önceki yazımızda belirttiğimiz üzere, tarihler ayrıca üzerine konuşulması gereken bir konu olduğu için, bu yazımızda tamamen Tableau’da tarih verileri ile nasıl işlemler yaparız, bu verileri nasıl manipule ederiz buna değineceğiz.


Tarih Dönüşümleri Öncelikli olarak, bağlandığımız bir veri tabanındaki tarih alanlarını Tableau’ya nasıl tanıtırız, bunun için kısaca ne gibi işlemler yapmamız gerekir bunlara değinelim. Tableau, eğer veri setinizdeki tarih alanı uygun bir formatta ise, direkt olarak siz hiç bir şey yapmadan bu alanı tanır ve hiyerarşik olarak sınıflandırır. Ancak verinizde farklılıklar var ise, bu konuda Tableau bazı küçük yönlendirmelere ihtiyaç duymaktadır. 1- Veri tipi değişikliği Bu konuda ilk adım, veri tipini kontrol etmek ve tarih içeren sütundaki veri tipi ‘String’ ya da ‘Numeric’ bir veri olarak algılandı ise bunu değiştirmektir. Data Source alanında ilgili sütun adında ki veri tipini belirten ikona tıklayıp veri tipini ‘Data’ ya da eğer saat verisi de içeriyorsa ‘Date & Time’ olarak değiştirebiliriz.


2-Dateparse fonksiyonu

İkinci yöntem ise, eğer veri tipimizi değiştirdiğimizde null değerler karşımıza çıkıyor ve istediğimiz şekilde bir alan elde edemiyorsak bu durumda ‘DATEPARSE’ fonksiyonunu kullanırız.

Dateparse fonksiyonu ile verimizdeki tarih belirten alanlar nerelerde bulunuyor öncelikle bunu inceleyip belirtmemiz gerekiyor.


Daha sonra bir Calculated Field oluşturarak, aşağıda belirtilen syntax’e uygun olarak gerekli alanları dolduruyoruz. Bu işlem sonucunda Tableau tarih sütunumuzu belirttiğimiz şekilde oluşturacaktır.


Dateparse formülünün içine yazmış olduğumuz ‘format’, Tableau’nun ilgili alanları tarih olarak yorumlaması için kullanacağı kılavuzdur. Format kısmını belirtirken tam olarak tarih alanı ile uygun olması önemlidir. Örneğin, tarih alanında iki basamaklı bir yıl kodu var ise ve biz format kısmında tek bir yıl kodu kullanırsak (‘Y’), hesabımız hatalı sonuç verecektir. (İlgili semboller ile alakalı detaylı bilgi için tıklayınız.)

3- Date Fonksiyonu

DATE fonksiyonu, sayı, tarih ya da string formatlarındaki tüm ifadeleri tarih veri tipine değiştirmemizi sağlamaktadır. Başarılı bir şekilde tarih veri tipine değişiklik yapmak için, Tableau ilgili alanın bileşenlerini, tarih olarak yorumlayabilmelidir.

Yine bir Calculated Field oluşturarak, ilgili syntax’e uygun şekilde Date fonksiyonunu kullanmamız gerekmektedir. Date fonksiyonu, içine sadece tarih oluşturabilecek bileşenleri içeren bir ifade alır ve onun veri tipini tarih olarak değiştirir. Bu yüzden içerisine çeşitli şekillerde ifadeler yazılabilir.

Örnek olarak, ‘12Haz1997’ şeklindeki string bir veriyi tarih veri tipine çevirmek için aşağıda ki gibi bir ifade kullanabiliriz.


İlgili formülasyonda ‘Left’ fonksiyonu ile soldan 2 değeri aldık, arasına bir slash koyduk sonra ‘Mid’ fonksiyonu ile 3. sıradan başlayarak 3 değeri aldık ve yine araya bir slash koyduk, son olarak ise ‘Right’ fonksiyonu ile sondan 4 değeri alarak tarih veri tipine çevirmeye uygun bir ifade yazmış olduk.


Tableau ayrıca tarih verileri ile farklı işlemler yapabilmemiz için bir çok hazır fonksiyonu hizmetimize sunmaktadır, bunlarada kısaca değinecek olursak;


1-Dateadd

Tarih verimize istediğimiz aralıkta ekleme yapmamızı sağlar.

DATEADD('week', 1, [due date])

2-Datediff

Belirtilen iki tarih arasındaki farkı getirir. Integer tipinde bir çıktı verir.

DATEDIFF('day', #3/25/1986#, #2/20/2021#) = 12,751

3-Datename

Seçilen tarih bölümünün adını string şeklinde verir.

DATENAME('month', #1986-03-25#) = "March"

4-Datepart

Seçilen tarih bölümünü integer şeklinde verir.

DATEPART('year', #1986-03-25#) = 1986

5-Datetrunc

Tarih değerleri üzerinde bir kırpma yaparak, yine tarih veri tipinde olacak şekilde yeni bir çıktı verir.

DATETRUNC(month, #9/22/2018#) = #9/1/2018#

6-Day, Week, Month, Quarter, Year

İlgili fonksiyonlar, belirtilen tarihin içindeki uygun veriyi integer formantında verir.

Day(#September 22, 2018#) = 22

MONTH(#1986-03-25#) = 3

YEAR(#1986-03-25#) = 1,986

7-Isdate

İçine verilen bir string değerin tarih verisi formatında olup olmadığını kontrol ederek Boolean değer veren bir fonksiyondur.

8-Makedate, Makedatetime, Maketime

Bu fonksiyonlar sadece integer olarak içerisinde belirtilen yıl,ay,gün ve saat gibi tarih bölümlerine göre, tarih veri tipinde bir sonuç verir.


​MAKEDATE(1986,3,25) = #1986-03-25#

MAKEDATETIME("1899-12-30", #07:59:00#) = #12/30/1899 7:59:00 AM#

MAKETIME(14, 52, 40) = #1/1/1899 14:52:40#

9-Max, Min

İlgili tarih veri setinde, en büyük ve en küçük tarihleri yine tarih formatında verir.

MAX(#Sept 22, 2018#, #Feb 20, 2021#) = #Feb 20, 2021#

MIN(#Sept 22, 2018#, #Feb 20, 2021#) = #Sept 22, 2018#

10-Now

Sistem lokaline göre o anlık tarih ve saat bilgisini ‘Datetime’ veri tipinde getirir.

​NOW() = 1986-03-25 1:08:21 PM

11-Today

Sistem lokaline göre o anlık tarih bilgisini ‘Date’ veri tipinde verir.

​TODAY() = 1986-03-25

12-Isoquarter, Isoweek, Isoweekday, Isoyear

İlgili fonksiyonlar, ISO-8601 standartlarına uygun olarak ilgili tarih bileşenlerini integer değerde getirir. ISO-8601 hakkında daha fazla bilgi almak için tıklayanız.


ISOQUARTER(#1986-03-25#) = 1

ISOWEEK(#1986-03-25#) = 13

ISOWEEKDAY(#1986-03-25#) = 2

ISOYEAR(#1986-03-25#) = 1,986

Özet olarak, Tableau tarih verilerinin uygun bir şekilde manipüle edilmesi ve raporlamalarda verimli kullanılabilmesi için bir çok fonksiyonu built-in olarak sunmaktadır. Burada, ilgili alanlarımızı tarih veri tipine nasıl değiştireceğimizi ve Tableau üzerine bulunan tarih fonksiyonlarını nasıl kullanabileceğimizi gördük.

Son olarak tarih verilerinin Dimension ve Measure olarak kullanımı ile alakalı dikkat edilmesi gerek küçük bir detaya değinerek yazımızı tamamlayacağız.

Örnek üzerinden gidecek olursak, veri setimizde 2020–2022 yılları arasında 3 yıllık satışların ay bazında trendini incelemek istiyoruz. Dimension olarak incelersek, dimensionlar bize bir ‘header’ oluşturduğu için, örneğin Ocak ayı içerisindeki veriler aslında 2020, 2021 ve 2022 yıllarındaki Ocak aylarının toplamını gösterecektir.


Ancak ilgili çalışmada tarih alanını Measure olarak belirlersek, sonuçta bir axis yani eksen oluşturacağı için, 3 yıl içindeki Ocak aylarını bize ayrı ayrı gösteren bir trend oluşturacaktır.


İki methodu da farklı amaçlar ve incelemeler için kullanabilirsiniz ancak bu detaya dikkat etmemiz önemlidir.


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.

25 görüntüleme

İlgili Yazılar

Hepsini Gör
bottom of page