Takip et

SQL Pivot ve Unpivot: Veri Dönüşümlerini Etkili Bir Şekilde Gerçekleştirme

SQL Pivot ve Unpivot: Veri Dönüşümlerini Etkili Bir Şekilde Gerçekleştirme

Merhaba! Fatih Soysal olarak, SQL dünyasının güçlü veri dönüşüm araçlarından olan Pivot ve Unpivot işlemlerini ele alacağız. Bu işlemler, verilerinizi farklı biçimlerde sunarak analizlerinizi kolaylaştırır ve raporlamalarınızı zenginleştirir. Öncelikle, bu iki işlemin ne olduğunu ve nasıl kullanıldığını açıklayacağım. Ardından, pratik örneklerle kavramları daha iyi anlamanızı sağlayacağım. Umarım bu makale, SQL becerilerinizi geliştirmenize yardımcı olur.

Pivot (Döndürme) İşlemi

Pivot işlemi, satırlarda bulunan verileri sütunlara dönüştürür. Örneğin, ürün satışlarını ay bazında gösteren bir tabloda, her ayın satışlarını ayrı bir sütuna taşımak için pivot işlemini kullanabiliriz. Bu, verileri daha okunaklı ve analiz edilebilir hale getirir. Bu işlemde, pivot edilecek sütun, pivot değeri olarak kullanılacak sütun ve toplanacak sütun belirlenir. Aşağıdaki örnekte, aylık satışları pivot ederek, her ay için ayrı bir sütun oluşturacağız.


-- Örnek Pivot sorgusu
SELECT
    ProductName,
    SUM(CASE WHEN SalesMonth = 'Ocak' THEN SalesAmount ELSE 0 END) AS Ocak,
    SUM(CASE WHEN SalesMonth = 'Şubat' THEN SalesAmount ELSE 0 END) AS Şubat,
    SUM(CASE WHEN SalesMonth = 'Mart' THEN SalesAmount ELSE 0 END) AS Mart
FROM
    SalesTable
GROUP BY
    ProductName;

Bu sorgu, SalesTable tablosundaki satış verilerini, ürün adı (ProductName) bazında gruplayarak, Ocak, Şubat ve Mart aylarının satışlarını ayrı sütunlarda gösterir. Daha fazla ay için, CASE ifadesini genişletmeniz yeterlidir. Ancak, çok sayıda ay için bu yöntem pratik olmayabilir. Bazı veritabanı sistemleri, daha gelişmiş pivot fonksiyonları sunmaktadır. Bu konuda daha detaylı bilgi için web sitemi ziyaret edebilirsiniz.

Unpivot (Ters Döndürme) İşlemi

Unpivot işlemi, pivot işleminin tam tersidir. Sütunlarda bulunan verileri satırlara dönüştürür. Örneğin, her ayın satışlarını ayrı sütunlarda gösteren bir tabloda, tüm satış verilerini tek bir satırda göstermek için unpivot işlemini kullanabiliriz. Bu, verileri farklı şekillerde analiz etmemize olanak tanır.


-- Örnek Unpivot sorgusu (SQL Server için)
SELECT
    ProductName,
    SalesMonth,
    SalesAmount
FROM
    SalesTable
UNPIVOT
(
    SalesAmount FOR SalesMonth IN (Ocak, Şubat, Mart)
) AS UnpivotedSales;

Bu sorgu, SalesTable tablosundaki Ocak, Şubat ve Mart aylarına ait satış verilerini, tek bir SalesAmount sütununda birleştirir ve ay bilgilerini SalesMonth sütununa taşır. Farklı veritabanı sistemlerinde unpivot işlemi farklı syntax’ler ile gerçekleştirilebilir. Örneğin, PostgreSQL’de bu işlev için UNNEST fonksiyonu kullanılabilir. Daha fazla bilgi için bu makaleye bakabilirsiniz.

Pivot ve Unpivot İşlemlerinin Avantajları

Pivot ve unpivot işlemlerinin kullanımı verilerinizi daha anlamlı hale getirir. Örneğin, pivot kullanarak, bir bakışta aylık veya yıllık performans trendlerini görebilirsiniz. Unpivot ise, farklı verileri birleştirerek daha kapsamlı analizler yapmanıza olanak tanır. Sonuç olarak, verilerinizi daha etkili bir şekilde yönetmenize yardımcı olur.

Umarım bu makale, SQL’de pivot ve unpivot işlemlerini anlamanıza yardımcı olmuştur. Her iki işlem de, verilerinizi dönüştürmek ve analiz etmek için güçlü araçlardır. Uygulamalı olarak denemek ve farklı senaryolarda nasıl kullanılabileceğini keşfetmek önemlidir. Sorularınız varsa, lütfen yorumlarda belirtmekten çekinmeyin.

Fatih Soysal

#Etiketler: SQL, Pivot, Unpivot, Veri Dönüşümü, Veritabanı, SQL Örnekleri, SQL Eğitimi, Veri Analizi, SQL İpuçları, SQL Sorgu Örnekleri, Veri Tabanı Yönetimi


Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.