Google Data Studio - Fonksiyonlar

Google Data Studio (GDS) ile ilgili görselleştirme işlemlerinde verileri veri kaynaklarından doğrudan ya da bağlayıcılar (connector) olarak ifade edilen aracılar sayesinde edinir ve görselleştiririz. Bu aşamada elde ettiğimiz veriler metrikler ve boyutlar halinde listelenir. Veri kaynağı ile ilişkili olarak listelenen bu alanlar ihtiyaçlar doğrultusunda çeşitli fonksiyonlar aracılığı ile kontrol edilebilmektedirler.

AA

Google Data Studio fonksiyonları, basit bir şekilde izah etmek gerekirse bize tarihler, sayısal işlemler, değer (value) ve biçimler üzerinde düzenleme yapma imkanı sunan, işlemi metrik veya boyut olarak veri grafiği düzeyinde (chart level) ve/veya veri kaynağı düzeyinde (data source level) kayıt altına alabileceğimiz hesaplanmış alanlar (calculated fields) olarak ifade edilebilirler1. Bu konu ile ilişkili olarak Google Data Studio Calculated Fields (Hesaplanmış Alanlar) başlıklı yazımı okuyabilirsiniz. İlgili yazının devamı olarak bu yazıda hesaplanmış alanlar içerisinde kullanabileceğimiz fonksiyonlara değinmeye çalışacağım. Öncelikle, veri grafiği ve rapor/veri kaynağı düzeyindeki hesaplanmış alanlar arasındaki farklılıkları hatırlayalım.

İşlem Veri Kaynağı düzeyinde Veri grafiği düzeyinde
Veri kaynağı düzenleyicisi gerekli mi? +
Karıştırılmış veriler (blended) kullanılacak mı? +
Diğer hesaplanmış alanlar kullanılacak mı? +
Diğer rapor ve grafiklerde kullanılacak mı? +

Hesaplanmış alanlar oluştururken bu bu farklılıkları göz önünde bulundurmakta fayda var. Aksi durumda aynı işlemi gerçekleştiren ancak her veri grafiği için ayrı ayrı hesaplamalar yapan alanlar oluşturmak durumunda kalabilir ve herhangi bir güncelleme / düzenleme gereksiniminde her hesaplanmış alana tek tek müdahalede bulunmak zorunda kalabiliriz. Diğer yandan, sadece birkaç veri grafiğinde kullanılacak hesaplanmış alanlar için veri kaynağı düzeyinde işlem yapmak gerekmeyebilir, bu tür durumlarda veri grafiği düzeyinde (tablodaki şartlara bağlı olarak) işlemler yeterli olacaktır.

Veri grafiği (chart) düzeyinde bir hesaplanmış alan oluşturmak için, görselleştirme aşamasında veya sonrasında metrik ve/veya boyut bölümünde yer alan yeni bir alan oluştur (create new field) bağlantısı tıklanabilir. Ardından, açılacak alan içerisinde ilgili işlemler gerçekleştirilebilir.

Karıştırılmış veriler (blended data) de yine veri grafiği düzeyinde işlemlerle benzer şekilde işler. Metrik ve/veya boyut için yine bir alan (field) oluşturulur ve oluşturulan bu hesaplanmış alan ilgili bölüme eklenir2. Elbette anahtar (key) olarak kullanılacak bir hesaplanmış alanın her iki veri tablosu için de benzer şekilde (veri tipi, vb.) veri döndürmesi gerekir. Aksi durumda hata dönecektir.

Veri grafiği düzeyindeki işlemlerden farklı olarak, veri kaynağı düzeyinde yukarıdaki tabloda da görülebildiği üzere farklı hesaplanmış alanları da yine formüller içerisinde ve farklı grafikler ve raporlarda kullanabilmekteyiz.

Bu sayede elbette ilgili hesaplanmış alanı yönetebilmemiz çok daha kolay hale gelmekte ve çok daha kapsamlı işlemler veri grafikleri ile görselleştirilebilmektedir.

Veri kaynağı düzeyinde parametreler de oluşturabilmekteyiz. Ancak, şimdilik parametre konusunu ayrı bir yazı konusu olarak ele almak üzere bu yazının dışında tutuyorum.

Fonksiyonlar

Data Studio fonksiyonları, temel matematiksel işlemlerin yanı sıra çok daha kapsamlı ve kompleks işlemleri gerçekleştirebilmemizi (kontroller, değerlerin düzenlenmesi, birleştirilmesi, veri tiplerinin dönüştürülmesi, vb.) mümkün kılan, hesaplanmış alanlar içerisinde (metrik ve boyutlar için) kullanılabilen ön tanımlı formüllerdir.

Microsoft Excel, Google E-Tablolar gibi elektronik tablo yazılımları ve SQL gibi sorgu dillerinin sunduğu fonksiyonlara benzer şekilde, Data Studio fonksiyonları da belli amaçlara yönelik oluşturulmuştur ve kullanmak için söz dizimi kurallarına uyulması gerekir.

CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    WHEN conditionN THEN resultN
    ELSE result
END;

Güncel durunda 50+ üzerinde fonksiyon hesaplanmış alan içerisinde kullanılabilmekte ve bu sayı zamanla artış göstermektedir3. Fonksiyonlar veri kümeleme (aggregation), aritmetik (arithmetic), koşul (conditional), tarih (date), yer/konum (geo), metin (text) ve çeşitli (miscellaneous) işlemler başlıkları altında, amaçlarına yönelik olarak gruplandırılmıştır4 5.

Fonksiyon Kullanımı

Öne çıkan formüller ve örnek işlemlere geçmeden önce formül kullanımlarına dikkat edilmesi gereken birkaç noktayı hatırlamakta fayda var.

  • Formülleri (veri grafiği ve/veya veri kaynağı düzeyinde) yeni bir alan (field) oluşturarak veya daha önce oluşturulmuş (ön tanımlı olmayan) bir özel metrik veya boyutu düzenleyerek kullanabiliriz. Standart bir alan (field) üzerinden işlem yapamayız.
  • Formül başarılı bir şekilde işliyor ise formül editörü altında bir yeşil onay simgesi görüntülenir. İlgili formül bu aşamadan sonra kayıt edilebilir ve veri kaynağından çekilen verilere uygulanabilir.
  • Bir formül editör içerine yazıldığında örnek kullanım ve yazıma dair bilgilerin yer aldığı bir bilgilendirme penceresi açılır.
  • Veri kaynağı düzeyinde oluşturulan hesaplanmış alanlar fx ile işaretlenir.

Son olarak, metrik alanı içerisindeki metin işlemleri ikili değer (boolean) olarak işleme alınır ve işleme bağlı olarak Count seçilirse işlenen veri sayısını, Count Distinct seçili ise benzersiz değer sayılarının toplamını döndürür.

Veri Tipleri

Data Studio hesaplanmış alanlar içerisindeki işlemleri ve sonuçlarını nitelendiren çeşitli veri tiplerine (sayısal, metin, ikili, URL, vb.) sahiptir. Veri tipleri ön tanımlı sunulan veri kaynakları ve bağlayıcılar (connectors) aracılığı ile edinilen tüm veriler için geçerlidir6.

Veri tipi Beklenen veri Örnek
Numeric (sayısal) Sayısal değer 1,234.56
Percent (yüzde) Sayısal oran 61.73%
Duration (süre) Bir süreyi saniye cinsinden temsil eden bir tam sayı. Bu, raporlarda standart bir zaman görüntüsü olarak biçimlendirilecektir. 01:43:19
Currency (para birimi) Parasal değer. Bu, raporlarda uygun para birimi simgesini içerecek şekilde biçimlendirilecektir. Para birimleri ayrıca seçilir. $1,234.56, 173.9 €, ¥30,093, vb.
Text (metin) Sıfır veya daha fazla harf, sayı, karakter veya semboller A1B2C3
Date & Time Takvim tarihi, saatli bir takvim tarihi veya soyut bir tarih veya saat dizini. Bu, yerel ayara göre biçimlendirilecektir. 2020-09-21, 2020-09-21 12:35 PM, Q4 2020, Week 1, 13, vb.
Boolean (ikili) Mantıksal bir değer true, false
Geo (konum) Ülke adı, enlem ve boylam, ISO kodu veya Google Ads ölçüt kimliği gibi bir coğrafi bölgeyi temsil eden bir değer Istanbul, United Kingdom, 51.5074,-0.1278, 1006886
URL Internet bağlantısı https://google.com
Hyperlink (internet bağlantısı) HYPERLINK fonksiyonu ile oluşturulan, tıklanabilir, başlık kullanılabilen bir internet bağlantısı
Image (görsel) IMAGE fonksiyonu ile oluşturulan görsel
Image Link (görsel bağlantısı) HYPERLINK fonksiyonu ile oluşturulan, tıklanabilir görsel

Veri tipleri alan (field) tanımları üzerinden uygun seçenekler arasında geçiş ile düzenlenebilmektedir. Ayrıca, CAST fonksiyonunu kullanarak da hesaplanmış alan içerisinde veri tipi düzenlenebilir7. Ancak, tipler arasındaki dönüştürme işlemleri belirli sınırlandırmalara göre ele alınır.

Başlangıç veri tipi Hedef veri tipi
Text DATE, DATETIME, NUMBER
Number ​TEXT
Date DATETIME, TEXT
Date & Time DATETIME, TEXT

Bilinmesi gereken temel konuların ardından öne çıkan birkaç fonksiyona değinebiliriz.

Örnek Fonksiyonlar

Aşağıda, sıklıkla kullanılan bazı fonksiyonlara dair açıklama ve örneklere yer vermeye çalıştım. Zaman içerisinde yeni örnekler ve fonksiyon eklemeleri olabilir8 9. Yorum olarak siz de sıklıkla kullandığınız hesaplanmış alan formüllerini ve fonksiyonları iletebilirsiniz.

CASE

Koşul işlemlerini gerçekleştirebilmemizi sağlar. SQL ile benzer şekilde ele alınır10. Formül içeriğinde koşul kontrolleri için farklı formüllere de yer verilebilir. Aşağıdaki örnekte Page içeriğinde yer alan utm_medium parametresi kontrol edilmekte ve değere göre bir kanal grubuna dahil edilmektedir. Görüldüğü üzere CASE içerisinde REGEXP_MATCH ile değerler kontrol edilmektedir.

CASE 
WHEN REGEXP_MATCH(Page,'.*utm_medium=e-mail.*') THEN "Email"
WHEN REGEXP_MATCH(Page,'.*utm_medium=paid-search.*') THEN "Paid Search" 
ELSE Default Channel Grouping 
END

CONCAT

Birden fazla metnin birleştirilerek tek bir metin haline getirilmesini sağlar11. Aşağıdaki örnek alan adı ile sayfa adresini birleştirerek bir tam URL oluşturmakta, HYPERLINK fonksiyonu ile de oluşturulan bu bağlantı sayfa başlığı ile ilişkilendirilmektedir.

HYPERLINK(CONCAT(Hostname, Page),Page Title)

HYPERLINK

Yukarıdaki örnekte de görülebildiği üzere HYPERLINK fonksiyonu bir bağlantı için etiket (label) tanımlanabilmesini ve bu etiketin tıklanabilir hale getirilebilmesini sağlamaktadır12.

REGEXP_EXTRACT

Bir değeri parçalara bölebilmemizi sağlar13. Örneğin, Page içerisinde yer alan sorgu parametrelerini REGEX_EXTRACT fonksiyonunu ile parçalayabilir ve parametre değerlerine ayrıca ulaşabiliriz.

REGEXP_EXTRACT(Page, 'q=([^&]+)')

REGEXP_MATCH

Değerlerin belirtilen koşulları sağlayıp sağlamadığını kontrol etmek istediğimizde REGEXP_MATCH fonksiyonunu kullanırız14. Elbette bu fonksiyon kullanılabilecek tek seçenek değil. REGEXP_CONTAINS, STARTS_WITH ve ENDS_WITH gibi fonksiyonlar da birbirinden farklı yetenekler bağlamında değerlendirilebilir. Aşağıdaki örnekte Query içeriğinde apple ya da iphone varsa True değeri dönecektir.

REGEXP_MATCH(Query, '(apple|iphone)')

REGEXP_REPLACE

Verilen değerlerin belirtilen bir şablona uyması durumunda belirtilen değer ile değiştirilmesini sağlar. Örneğin, aramalarda, kampanyalardaki karakter hataları vb. durumları REGEXP_REPLACE fonksiyonu ile yeniden ele alabiliriz15.

REGEXP_REPLACE(Page, 'stanley', 'thermos')

UPPER / LOWER

Verilen değerdeki tüm karakterlerin büyük16 veya küçük17 hale getirilmesini sağlar.

UPPER(Campaign)
LOWER(Campaign)

Yukarıdaki örneklerin yanı sıra, arama motorları aracılığı ile ulaşılabilecek örnek raporlar da kullanım biçimlerini görmek açısından oldukça faydalı olacaktır. Bu aşamada, ilgili formüllerin kontrol edilmesi ve veri kaynaklarından edinilen alanlara ait değerlerin doğru ve tutarlı olduğundan emin olunması önemli. Bu gibi durumlarda işlemleri tablo (table) grafiğini kullanarak doğrulamanızı öneririm.