Veri Modellemede Hayat Kurtaran Fonksiyonlar
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.

Ö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ç)
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ı)

Burada görüldüğü üzere Şehrin ilk 2 hanesini alarak bir alan oluşturmuş olduk. Bu kodu ana hesap numaraları bulunan bir datada 600101235 gibi bir hesabın ilk 3 hanesini almak için kullanabilirdik. Bu sayede 600 numaralı bir hesaplar altında toplayarak verimizi analiz ederdik. Bu formülde MİD(ALAN ADI,X,Y) x ve y kısmını dilediğiniz gibi değiştirerek istediğiniz kısmı alabilirsiniz.

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.

“Bazı durumlarda SQL ve SAP’den veri alıp birleştirdiğimizde (örneğin, Müşteri Numarası SQL’den ’25’ olarak gelirken, SAP’den ‘ 25’ olarak gelmekte), bu tür boşluk farklılıkları nedeniyle JOIN iş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.”
Yanda görüldüğü üzere left ve right karakterleri sayarak belirtilen sayı kadar bize data getirmekte. Veriyi bu şekilde parçalayabilirsiniz.

4. Değerleri Birleştirmek: Concat() ve Dual() Fonksiyonları
Verileri birleştirmek veya farklı temsillerini sağlamak, veri modellemede sıkça karşılaşılan ihtiyaçlardır.
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]])
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 listelemek.

4. 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)
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ı işlemler yapmak (örneğin, belirli bir uzunluktan büyükse kısaltma).

Yanda görüldüğü üzere telefon uzunluğuna sayacak ve 10 değerine eşitde Geçerli değilse geçersiz yazacak. Veri setimizde bu fonksiyonu kullanarak modelleme yapabiliriz.


Yorum bırakın