Konuyu Açan #1
Veri analizi ve finansal raporlama süreçlerinde, büyüme oranını doğru şekilde hesaplamak kritik öneme sahiptir. Bu oran, genellikle iki zaman dilimi arasındaki değişimi yüzdelik olarak ifade eder ve özellikle gelir, kullanıcı sayısı veya satış gibi metriklerde kullanılır. SQL kullanarak bu oranı dinamik ve otomatik şekilde hesaplamak, büyük veri setleriyle çalışırken zaman kazandırır ve hata payını azaltır. İşte bu konuda temel ve gelişmiş sorgu örnekleri:

İlk olarak, temel büyüme oranı formülü şöyledir:
(Bu formülü SQL sorgusu ile uyarladığımızda: (Yeni Değer - Eski Değer) / Eski Değer * 100)

Örnek bir satış tablosu üzerinden anlatacak olursak:
  • Satışlar tablosunun 'değer' ve 'tarih' alanları olduğunu varsayıyoruz.
  • Belirli bir ürün veya toplam satışlar bazında büyüme oranını hesaplamak için aşağıdaki sorgu kullanılabilir:


KOD
123456789  
SELECT  
    (SUM(CASE WHEN tarih = '2023-01-01' THEN miktar ELSE 0 END) AS eski_deger,
    SUM(CASE WHEN tarih = '2023-02-01' THEN miktar ELSE 0 END) AS yeni_deger,
    ((SUM(CASE WHEN tarih = '2023-02-01' THEN miktar ELSE 0 END) - SUM(CASE WHEN tarih = '2023-01-01' THEN miktar ELSE 0 END)) / NULLIF(SUM(CASE WHEN tarih = '2023-01-01' THEN miktar ELSE 0 END), 0)) * 100 AS buyume_orani  
FROM  
    satislar  
WHERE  
    tarih IN ('2023-01-01', '2023-02-01')  


Bu sorgu, belirli iki tarih arasındaki toplam satış miktarını karşılaştırır ve yüzdelik büyüme oranını hesaplar. Daha gelişmiş analizler için, zaman serisi veya aylık/kvartal büyüme oranları da şu şekilde hesaplanabilir:

KOD
12345678910111213141516171819202122  
WITH aylik_toplam AS (  
    SELECT  
        DATE_FORMAT(tarih, '%Y-%m') AS ay,  
        SUM(miktar) AS toplam  
    FROM satislar  
    GROUP BY ay  
),  
bir onceki_ay AS (  
    SELECT  
        ay,  
        toplam,  
        LAG(toplam) OVER (ORDER BY ay) AS onceki_toplam  
    FROM aylik_toplam  
)  
SELECT  
    ay,  
    toplam,  
    onceki_toplam,  
    CASE WHEN onceki_toplam = 0 OR onceki_toplam IS NULL THEN NULL  
         ELSE (toplam - onceki_toplam) / onceki_toplam * 100 END AS aylik_buyume_orani  
FROM bir onceki_ay  


Bu sorgu, aylık toplam satışlar üzerinden aylık büyüme oranlarını otomatik hesaplar ve trendleri takip etmeye olanak sağlar. Büyüme oranlarının doğru yorumlanması, verilerin tutarlı ve güncel olmasıyla doğrudan ilgilidir; bu nedenle, sorguları kullanmadan önce veri bütünlüğüne dikkat edilmelidir. Ayrıca, büyüme oranını analiz ederken, sezonluk etkiler veya dışsal faktörlerin de göz önüne alınması, daha anlamlı sonuçlar elde edilmesini sağlar.

Yanıt vermek için giriş yapmış olmalısınız.

0 alıntı seçildi