Veri Tabanı

SQL Server’da Pivot Table Kullanımı

Yazar İlayda

Veri analizi ve raporlamada, çeşitli veri setlerini farklı bakış açılarından değerlendirmek önemlidir. Microsoft SQL Server, bu ihtiyacı karşılamak için güçlü bir araç olan Pivot Table (Çapraz Tablo) özelliğini sunar. Bu blog yazısında, SQL Server’da Pivot Table kullanımının temellerini ve bu özelliği nasıl etkili bir şekilde kullanabileceğimizi ele alacağız.

Pivot Table Nedir?

Pivot Table, verileri özetleyerek ve yeniden şekillendirerek, daha anlaşılır ve okunabilir raporlar oluşturmanıza olanak tanır. Özellikle, büyük veri setlerinden belirli bilgileri hızlıca çıkarmak ve bu bilgileri kolayca analiz edebilmek için kullanılır.

Özellikleri:

  • Veri setini dinamik olarak yeniden şekillendirir ve satırları sütunlara dönüştürür.
  • Özellikle büyük ve karmaşık veri setlerinde verilerin daha okunabilir ve anlaşılır bir biçime dönüştürülmesini sağlar.
  • SQL Server gibi bazı veritabanı yönetim sistemlerinde özelleşmiş bir işlevdir.

SQL Server’da Pivot Table Oluşturma

Pivot Table oluşturmak için PIVOT operatörünü kullanırız. Bu işlem, satırları sütunlara dönüştürerek verileri yeniden şekillendirir.

Temel Syntax

Örnek Kullanım

Konuyu örneklendirmek adına Northwind veritabanındaki Orders ve Order Details tablolarını kullanarak, her müşteri için yıllık sipariş toplamlarını gösteren bir Pivot Table oluşturalım. Örneğimizde, her müşteri için her yılın toplam sipariş miktarını tablosunu ele alalım;

Bu sorguda:

  • INNER JOIN ile Orders ve Order Details tabloları OrderID üzerinden birleştiriliyor.
  • YEAR(o.OrderDate) ile siparişlerin yılı hesaplanıyor.
  • Pivot işlemi, her CustomerID için yıllara göre Quantity‘nin toplamını hesaplıyor.

Sorgunun sonucunda, her müşteri için 1996, 1997 ve 1998 yıllarında yapılan toplam sipariş miktarları görüntülenecektir.

Bu sorguyu pivot olmadan nasıl yapardık ;

Karşılaştırma

  • Esneklik: Pivot işlevi, belirli bir yapı ve format gerektirirken, CASE WHEN ve GROUP BY kullanımı daha esnek ve genel koşullarda uygulanabilir.
  • Kullanılabilirlik: Pivot işlevi, bazı SQL sistemlerinde özel bir işlev olarak bulunurken, koşullu toplama ve gruplama her SQL veritabanında kullanılabilir.
  • Okunabilirlik ve Yazım Kolaylığı: Pivot sorguları, özellikle karmaşık veri dönüşümleri için daha okunabilir ve yazımı daha kolay olabilir. Ancak, CASE WHEN ifadeleri, daha spesifik ve özelleştirilmiş durumlar için daha fazla kontrol sağlar.

Her iki yöntemin kullanımı, veritabanı yönetim sisteminizin özelliklerine, veri setinizin karmaşıklığına ve spesifik ihtiyaçlarınıza bağlı olarak değişebilir.