Yaygın Looker Studio Soruları

MySQL Veri Kaynağı Bağlama

Looker Studio’ya MySQL veritabanını nasıl bağlarım?

1

Bağlantı Paneline Erişim
2

  • Looker Studio’da “Create” (Oluştur) butonuna tıklayın
  • “Data Source” (Veri Kaynağı) seçeneğini seçin
  • Bağlayıcılar listesinde “MySQL” için arama yapın
  • 3

    Bağlantı Bilgilerini Girin
    4

    Host: veritabanı-hostunuz
    Port: 3306 (varsayılan MySQL portu)
    Database: veritabanı-adınız
    
    5

    Kimlik Doğrulama
    6

    Veritabanı kimlik bilgilerinizi girin:
    7

  • Username (Kullanıcı adı)
  • Password (Şifre)
  • Yaygın MySQL Bağlantı Sorunları

    Bağlantı zaman aşımı ile karşılaşırsanız:

    1. IP adresinizin whitelist’e eklenip eklenmediğini kontrol edin
    2. Host adresini doğrulayın
    3. Portun açık olduğunu onaylayın

    Hesaplanmış Alanlarla Çalışma

    JSON Ayrıştırma

    Temel JSON Çıkarma

    -- Basit değer çıkarma
    JSON_EXTRACT(column_name, '$.field_name')
    
    -- Çıkarılan string'den tırnak işaretlerini kaldırma
    REPLACE(JSON_EXTRACT(column_name, '$.field_name'), '"', '')
    
    -- Null değerleri ele alma
    CASE 
      WHEN JSON_EXTRACT(column_name, '$.field_name') IS NOT NULL 
      THEN REPLACE(JSON_EXTRACT(column_name, '$.field_name'), '"', '')
      ELSE 'default_value'
    END
    

    İç İçe JSON İşleme

    -- İç içe değer çıkarma
    JSON_EXTRACT(column_name, '$.parent.child')
    
    -- Dizi elemanı çıkarma
    JSON_EXTRACT(column_name, '$.array[0]')
    
    -- Çoklu değerleri çıkarma
    CONCAT(
      REPLACE(JSON_EXTRACT(column_name, '$.field1'), '"', ''),
      ' - ',
      REPLACE(JSON_EXTRACT(column_name, '$.field2'), '"', '')
    )
    

    Düzenli İfadeler (Regular Expressions)

    Yaygın Regex Kalıpları

    1. URL Ayrıştırma
    -- URL'den domain çıkarma
    REGEXP_EXTRACT(url_field, '^(?:https?:\/\/)?(?:[^@\n]+@)?(?:www\.)?([^:\/\n?]+)')
    
    -- URL yolunu alma
    REGEXP_EXTRACT(url_field, '^(?:https?:\/\/)?(?:[^@\n]+@)?(?:www\.)?[^:\/\n?]+(?::\d+)?(/[^?#]+)')
    
    1. String Temizleme
    -- Özel karakterleri kaldırma
    REGEXP_REPLACE(field_name, '[^a-zA-Z0-9]', '')
    
    -- Telefon numaralarını biçimlendirme
    REGEXP_REPLACE(phone_field, '([0-9]{3})([0-9]{3})([0-9]{4})', '($1) $2-$3')
    
    1. Veri Doğrulama
    -- E-posta formatını kontrol etme
    CASE 
      WHEN REGEXP_MATCH(email_field, '^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$')
      THEN 'Valid'
      ELSE 'Invalid'
    END
    

    Yaygın Hesaplanmış Alanlar

    Tarih İşlemleri

    -- Hafta numarası çıkarma
    WEEK(date_field)
    
    -- Tarih biçimlendirme
    DATE_FORMAT(date_field, '%Y-%m-%d')
    
    -- Tarih farkı hesaplama
    DATEDIFF(end_date, start_date)
    

    Sayısal Hesaplamalar

    -- Yüzde hesaplama
    (value / total) * 100
    
    -- Toplam
    SUM(value) OVER (ORDER BY date_field)
    
    -- Hareketli ortalama
    AVG(value) OVER (ORDER BY date_field ROWS BETWEEN 6 PRECEDING AND CURRENT ROW)
    

    Metin İşlemleri

    -- Alanları birleştirme
    CONCAT(first_name, ' ', last_name)
    
    -- Durum dönüşümü
    CASE 
      WHEN value > 100 THEN 'High'
      WHEN value > 50 THEN 'Medium'
      ELSE 'Low'
    END
    

    Sorun Giderme Rehberi

    Performans Sorunları

    Optimizasyon İpuçları

    1. Hesaplamaları Basitleştirin
    -- İç içe JSON yerine
    CASE 
      WHEN JSON_EXTRACT(data, '$.complex.nested.field') IS NOT NULL 
      THEN REPLACE(JSON_EXTRACT(data, '$.complex.nested.field'), '"', '')
      ELSE 'default'
    END
    
    -- Ara alanlar oluşturun
    WITH extracted_field AS (
      SELECT REPLACE(JSON_EXTRACT(data, '$.complex.nested.field'), '"', '') as field
    )
    
    1. Veri Örnekleme
    • Tarih filtreleri kullanın
    • Gerekli alanlarla sınırlayın
    • Toplu görünümler oluşturun
    1. Önbellek Stratejisi
    • Rapor önbelleğini etkinleştirin
    • Uygun yenileme aralıkları ayarlayın
    • Mümkün olduğunda materialize view’lar kullanın

    Yaygın Hatalar

    Veri Tipi Uyuşmazlıkları

    -- String'i sayıya dönüştürme
    CAST(string_field AS DECIMAL)
    
    -- Sayıyı string'e dönüştürme
    CAST(number_field AS CHAR)
    
    -- Null değerleri ele alma
    COALESCE(field_name, default_value)
    

    Eksik Veri

    1. Tarih aralıklarını kontrol edin
    2. Alan adlarını doğrulayın
    3. Veri kaynağı yenilemesini doğrulayın

    Formül Hataları

    -- Sıfıra bölme önleme
    CASE 
      WHEN denominator = 0 THEN 0 
      ELSE numerator / denominator 
    END
    
    -- Hesaplamalarda null işleme
    COALESCE(value1 + value2, 0)
    

    En İyi Uygulamalar

    1. Veri Kalitesi

      • Giriş verilerini doğrulayın
      • Uç durumları ele alın
      • Varsayımları belgelendirin
    2. Performans

      • Uygun veri tiplerini kullanın
      • Karmaşık hesaplamaları minimize edin
      • Önbelleğe alma uygulayın
    3. Bakım

      • Hesaplanmış alanları belgelendirin
      • Tutarlı isimlendirme kullanın
      • Düzenli doğrulama kontrolleri yapın