Qlik Sense Dersleri Veri Modellemede Kullanılan Yaygın Fonksiyonlar / If, Mid(), Trim(), Left(), Len(), Concat()
Veri modelleme, ham veriyi anlamlı ve analiz edilebilir bilgilere dönüştürme sanatıdır. Bu süreçte, veriyi temizlemek, dönüştürmek ve zenginleştirmek için çeşitli fonksiyonlara ihtiyaç duyarız. Bu blog yazımızda, Qlik Sense gibi modern veri analizi platformlarında sıklıkla karşımıza çıkan ve veri modelleme yolculuğunuzu kolaylaştıracak bazı temel fonksiyonları mercek altına alacağız.

Görsel: Qlik Sense Veri Şeması
Örneklerle İnceleyelim
1. Koşullu Mantığın Kalbi: If() Fonksiyonu
If() fonksiyonu, veri modellemenin en temel ve en güçlü araçlarından biridir. Belirli bir koşulun doğru olup olmamasına göre farklı sonuçlar üretmenizi sağlar. Veri setinizde yeni bir kategori oluşturmaktan, hatalı verileri düzeltmeye kadar geniş bir kullanım alanına sahiptir.
- Söz Dizimi:
if(koşul, doğru_ise_sonuç, yanlış_ise_sonuç)

Görsel: Qlik Sense Koşul
Neden Kullanılır?
- Veriye yeni, türetilmiş nitelikler (dimension) eklemek.
- Belirli kriterlere göre değerleri dönüştürmek veya kategorize etmek.
- Hatalı veya eksik veriye varsayılan değerler atamak.
Qlik Sense Örneği: Diyelim ki satış verilerinizde “Satış Miktarı” (
SalesAmount) adında bir alan var ve 1000 adetten fazla satış yapan ürünleri “Yüksek Performanslı”, diğerlerini “Düşük Performanslı” olarak işaretlemek istiyorsunuz.
2. Metin İşleme Sanatı: Mid() Fonksiyonu
Ham veriler genellikle istediğimiz formatta değildir. Metin tabanlı alanlarda (ürün kodları, isimler, adresler vb.) temizleme ve parçalama işlemleri yapmak için bir dizi metin fonksiyonuna ihtiyaç duyarız.
Mid(): Metnin Ortasından Çekmek
Bir metin dizisinin belirli bir konumundan başlayarak belirli sayıda karakteri çekmek için kullanılır.
- Söz Dizimi:
Mid(metin, başlangıç_konumu, karakter_sayısı)

Görsel: Qlik Sense Sözdizim
Bu formülde
Mid(ALAN_ADI, X, Y)kullanımındaki X ve Y kısımlarını dilediğiniz gibi değiştirerek istediğiniz kesiti alabilirsiniz. Örneğin, ana hesap numaraları bulunan bir datada600101235gibi bir hesabın ilk 3 hanesini alarak600numaralı ana hesaplar altında verimizi rahatlıkla toplayabilir ve analiz edebiliriz.

Görsel: Qlik Sense Tablo
3. Trim(), Left(), Right(): Kenar Boşlukları ve Uçlardan Parçalama
Trim(metin): Bir metin dizisinin başındaki ve sonundaki boşlukları kaldırır. Veri kalitesini artırmak için vazgeçilmezdir.Left(metin, karakter_sayısı): Bir metin dizisinin solundan (başından) belirli sayıda karakteri çeker.Right(metin, karakter_sayısı): Bir metin dizisinin sağından (sonundan) belirli sayıda karakteri çeker.
İpucu: Bazı durumlarda SQL ve SAP’den veri alıp birleştirdiğimizde (örneğin, Müşteri Numarası SQL’den
25olarak gelirken, SAP’den25şeklinde başında boşlukla gelebilmektedir), bu tür boşluk farklılıkları nedeniyleJOINişlemleri başarısız olmaktadır. Bu sorunu yaşamamak için sağ ve sol boşlukları temizleyen fonksiyonlar hayat kurtarıcıdır.LeftveRightfonksiyonları ise karakterleri sayarak belirtilen sayı kadar parçalama yapmanıza olanak tanır.

Görsel: Qlik Sense Trimler
4. Değerleri Birleştirmek: Concat() ve Dual() Fonksiyonları
Concat(): Birden Fazla Satırı Tek Bir Metne Birleştirmek
Belirli bir boyuta göre gruplandırılmış bir alandaki tüm değerleri, belirli bir ayırıcı ile tek bir metin dizisinde birleştirir.
- Söz Dizimi:
Concat(ifade [, ayırıcı [, sıralama_ifadesi]])

Görsel: Qlik Sense Fonx
Neden Kullanılır?
- Müşterinin satın aldığı tüm ürünleri tek bir hücrede göstermek.
- Bir bölgedeki tüm şehirleri tek bir satırda listelemek.
5. Metin Uzunluğunu Bulma ve Veri Doğrulama: Len()
Len() fonksiyonu, bir metin dizisindeki karakter sayısını (uzunluğunu) döndürür. Basit gibi görünse de, veri doğrulaması, belirli format kontrolü ve diğer metin işleme fonksiyonlarıyla birlikte kullanıldığında oldukça güçlü bir araçtır.
- Söz Dizimi:
Len(metin)

Görsel: Qlik Sense Len
Neden Kullanılır?
- Parçalama İçin Yardımcı: Diğer metin fonksiyonları (
Mid,Left,Right) ile dinamik uzunluklar sağlamak. - Veri Doğrulama: Belirli bir alandaki değerlerin beklenen uzunlukta olup olmadığını kontrol etmek (örneğin, TC Kimlik Numarası 11 hane mi?).
- Hatalı Veri Tespiti: Aşırı uzun veya çok kısa metin alanlarını belirlemek.
- Koşullu İşlemler: Uzunluğa göre farklı akışlar kurgulamak.
Veri setimizde bu fonksiyonu kullanarak örneğin telefon numarası uzunluğunu saydırıp
10değerine eşitse “Geçerli”, değilse “Geçersiz” yazdıran modeller kurgulayabiliriz.