Looker Studio - Fonksiyonlar
Looker 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.
Looker 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 Looker 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.
- Use functions in calculated fields ↩
- Calculated fields. Data Studio Help ↩
- Use functions in calculated fields. Data Studio Help ↩
- Function list. Data Studio Help ↩
- Function references ↩
- Data types. Data Studio Help ↩
- CAST. Data Studio Help ↩
- Jochen Setzer. (2020). Looker Studio Calculated Fields – The Ultimate Guide ↩
- Pritom Dey. (2020). Looker Studio Functions ↩
- CASE. Data Studio Help ↩
- CONCAT. Data Studio Help ↩
- HYPERLINK. Data Studio Help ↩
- REGEXP_EXTRACT. Data Studio Help ↩
- REGEXP_MATCH. Data Studio Help ↩
- REGEXP_REPLACE. Data Studio Help ↩
- UPPER. Data Studio Help ↩
- LOWER. Data Studio Help ↩