Pivot tablosu

Bir **pivot tablo**, Veritabanı, iş zekası programı ya da veri tablosu gibi daha geniş bir veri kümesini özetleyen istatistiksel bir tablodur. Bu özet, pivot tabloyu anlamlı bir şekilde gruplayan toplamları, ortalamaları veya diğer istatistikleri içerebilir.

Pivot tablolar, büyük ve karmaşık veri kümelerinden, anlamlı örüntülerin hızlıca çıkarılmasını sağlayan bir veri analizi yöntemidir. Satır, sütun ve değer alanlarının esnek biçimde yapılandırılması sayesinde, aynı veri kümesi farklı perspektiflerden incelenebilir.

*Her ne kadar "Pivot tablo"* genel bir terim olsa da Microsoft 1994 yılında Amerika Birleşik Devletleri'nde *PivotTable* ticari markasını almıştır.

## Tarihçe
*Pivot Table Data Crunching (Pivot Tablo ile veri işleme)* kitabında Bill Jelen ve Mike Alexander, Pito Salas'ı "pivot tabloların babası" olarak adlandırmaktadır. Salas, ileride Lotus Improv olarak piyasaya çıkacak yeni bir programın kavram tasarımı üzerinde çalışırken, e-tabloların veri kalıplarına (ya da örüntülerine) sahip olduğunu fark etmiştir. Kullanıcıların bu kalıpları tanımasına yardımcı olabilecek bir araç, gelişmiş veri modellerinin hızlı bir şekilde oluşturulmasına yardımcı olabilir. Improv ile kullanıcılar kategori kümelerini tanımlayıp saklayabilir, ardından kategori adlarını fare ile sürükleyerek görünümlerini değiştirebilir. Bu temel işlevsellik, pivot tablolar için bir model sağlayacaktır.

Lotus Development, Improv'u 1991 yılında NeXT platformunda piyasaya sürdü. Lotus Improv'un piyasaya sürülmesinin ardından Brio Technology, 1991 yılında DataPivot adlı bağımsız bir Macintosh uygulaması geliştirdi; bu teknoloji 1999 yılında patentlendi. Borland ise 1992'de DataPivot teknolojisini satın alarak kendi elektronik tablo yazılımı Quattro Pro'ya entegre etti.

1993 yılında Improv'un Microsoft Windows sürümü çıktı. 1994'ün başlarında Microsoft Excel 5  pazara "PivotTable" adı verilen yeni bir işlevsellik getirdi. Microsoft, Excel'in sonraki sürümlerinde bu özelliği daha da geliştirdi:

* Excel 97'de yeni ve geliştirilmiş bir PivotTable Sihirbazı, hesaplanan alanlar oluşturma yeteneği ve geliştiricilerin pivot tabloları oluşturmak ve değiştirmek için Visual Basic for Applications makroları yazmalarına izin veren yeni pivot önbellek nesneleri içeriyordu.
* Excel 2000, pivot tablo verilerini grafik olarak göstermek için "Pivot Grafikleri" ni tanıttı.

2007'de Oracle Corporation, `PIVOT` ve `UNPIVOT` operatörlerini Oracle Database 11g'de kullanıma sundu.

## Çalışma mekaniği
Veri girişi ve saklama işlemlerinde, veriler genellikle düz tablolarda organize edilir. Bu tür tablolar, yalnızca sütunlar ve satırlardan oluşur. Örneğin, aşağıdaki e-tablo bölümü, gömlek türlerine ilişkin verileri göstermektedir:

Bu gibi tablolar birçok veri öğesi içerebilirken, bunlardan özetlenmiş bilgi almak zor olabilir. Bir pivot tablo, verileri hızlı bir şekilde özetlemeye ve istenen bilgileri vurgulamaya yardımcı olabilir. Pivot tablonun kullanımı son derece geniştir ve duruma bağlıdır. Pivot tablo oluşturulmadan önce analiz hedefinin belirlenmesi gerekir. Örneğin, belirli bir sevk tarihinde her bölgede satılan birim sayısının özetlenmesi bu yöntemle kolaylıkla gerçekleştirilebilir.

Bir pivot tablo genellikle ***satır,'' ''sütun ve'' ''veri*** (veya *olgu*) alanlarından oluşur. Bu durumda, sütun ***Gönderim Tarihi***, satır **''Bölge**'dir* ve görmek istediğimiz veriler (toplam) *Birimlerdir.* Bu alanlar, toplam, ortalama, [[standart sapma]], sayım vb. çeşitli birleştirmelere izin verir. Bu durumda, gönderilen toplam birim sayısı bir toplam birleştirmesi kullanılarak görüntülenir.

== Uygulama ==
Yukarıdaki örneği kullanarak, yazılım, belirlenen Bölge için tüm farklı değerleri bulur. Verilen örnekte bunlar: *Kuzey*, *Güney*, *Doğu*, *Batı* bölgeleridir. Ayrıca, Gönderim Tarihi için tüm farklı değerleri bulacaktır. Toplama türüne göre, Toplam, Birimin gerçeğini, miktarlarını özetleyecek ve bunları çok boyutlu bir grafikte gösterecektir. Yukarıdaki örnekte, ilk referans noktası 66'dır. Bu sayı, hem *Bölge'nin* *Doğu* hem de *Sevk Tarihinin* *1/31/2005* olduğu tüm kayıtları bularak ve nihai sonuç elde etmek için bu kayıt koleksiyonunun *Birimlerini* (*yani* E2 ila E7 hücreleri) ekleyerek elde edilmiştir.

Pivot tablolar otomatik olarak oluşturulmaz. Örneğin, Microsoft Excel'de pivot tablo oluşturma işlemi, veri aralığının seçilmesi ve Ekle menüsü aracılığıyla başlatılır. Tablo, mevcut çalışma sayfasına eklenebileceği gibi yeni bir sayfada da oluşturulabilir. Kullanıcı daha sonra pivot tabloyu mevcut bir sayfaya ekleme veya pivot tabloyu barındırmak için yeni bir sayfa oluşturma seçeneğine sahiptir. Veride bulunan tüm sütun başlıklarını listeleyen kullanıcıya bir pivot tablo alanı listesi sağlanır. Örneğin, bir tablo bir şirketin satış verilerini temsil ediyorsa satış tarihi, satış elemanı, satılan ürün, öğenin rengi, satılan birimler, birim fiyat ve toplam fiyatı içerebilir. Bu, verilerin daha kolay erişilebilir olmasını sağlar. 

Oluşturulacak alanlar çalışma sayfasının sağ tarafında görünür olacaktır. Varsayılan olarak, pivot tablo düzeni tasarımı bu listenin altında görünecektir.

Listedeki alanların her biri dört seçeneğe sahip olan bu düzene sürüklenebilir:

# Rapor filtresi 
# Sütun etiketleri 
# Satır Etiketleri 
# Toplama değerleri

=== Rapor filtresi ===
Rapor filtresi, pivot tablonun tamamına uygulanacak bir kriter belirlenmesini sağlar. Örneğin 'Ürün Rengi' alanı bu bölüme atandığında, tablo yalnızca seçilen renge ait verileri gösterecek şekilde filtrelenir. Bu rapor filtresinde açılır seçenekler bulunur (yukarıdaki örnekte Siyah, Kırmızı ve Beyaz). Bu açılır listeden bir seçenek seçildiğinde (bu örnekte "Siyah"), görünür olacak tablo yalnızca "Ürün Rengi = Siyah" olan satırlardan gelen verileri içerecektir.

=== Sütun etiketleri ===
Sütun etiketleri, pivot tabloda gösterilmesi gereken bir veya daha fazla sütuna filtre uygulamak için kullanılır. Örneğin, "Satış elemanı" alanı bu alana sürüklenirse, oluşturulan tablo "Satış Elemanı" sütunundaki değerlere sahip olur, yani bir kişinin "Satış elemanı" sayısına eşit sayıda sütun olacaktır. Verilerin Toplamı ayrı bir sütun olarak eklenir. Yukarıdaki örnekte, bu talimat, her satış elemanı için bir tane ve Genel Toplam olmak üzere, tabloda beş sütun oluşturacaktır. Verilerin üstünde "Sütun Etiketleri" adlı bir filtre olacak ve pivot tablo için belirli bir satış elemanı seçilebilir veya seçimi kaldırılabilir olacaktır.

Yalnızca kategorik alanların seçildiği durumlarda tabloda sayısal değer görünmez; sayısal bir alan eklendiğinde ise Genel Toplam satır ve sütunları otomatik olarak güncellenir.

=== Satır etiketleri ===
Satır etiketleri, pivot tabloda gösterilmesi gereken bir veya daha fazla satıra filtre uygulamak için kullanılır. Örneğin, "Satış elemanı" alanı bu alana sürüklenirse, oluşturulan diğer çıktı tablosunda "Satış elemanı" sütunundaki değerler bulunur, yani bir satırda "Satış Personeli" sayısına eşit sayıda satır bulunur. Ayrıca "Genel Toplam" başlıklı ek bir satır da olacaktır. Yukarıdaki örnekte bu talimat, her satış elemanı için bir tane ve Genel Toplam olmak üzere, tabloda beş satır oluşturacaktır. Verilerin üstünde - Satır Etiketleri - adlı bir filtre olacak, bu filtre ile Pivot tablosu için belirli bir satış görevlisi seçilebilir veya seçimi kaldırılabilir olacaktır.

=== Değerlerin toplanması ===
Bu genellikle farklı hesaplama türleri için kullanılabilecek sayısal değerleri olan bir alanı alır. Ancak, metin değerlerini kullanmak da yanlış olmaz; metin değerlerinin kullanılması durumunda toplam değeri yerine eleman sayısı verecektir. Dolayısıyla, yukarıdaki örnekte, "Satış sayısı" alanı, "Satış elemanı" satır etiketi ile birlikte bu alana sürüklenirse, talimat "Satış sayısı toplamı" adlı her bir satış elemanının sattığı ürün sayısını gösteren yeni bir sütun ekleyecektir. 


== Uygulama desteği ==
Pivot tablolar veya pivot işlevselliği, diğer elektronik tablo uygulamalarının ve bazı [[Veritabanı|veritabanı yazılımlarının]] ayrılmaz bir parçasıdır ve diğer veri görselleştirme araçlarında ve [[iş zekası]] paketlerinde bulunur.

; Elektronik tablo uygulamaları

* [[Microsoft Excel]], PivotChart'lar aracılığıyla görselleştirilebilen PivotTable'ları destekler. 
* [[LibreOffice Calc]] pivot tabloları destekler. 3.4 sürümünden önce bu özelliğe "DataPilot" adı verilmiştir. 
* [[Google E-Tablolar]] yerel olarak pivot tabloları destekler.

; Veritabanı desteği

* Nesne-ilişkisel veritabanı yönetim sistemi olan [[PostgreSQL]], *tablefunc* modülünü kullanarak pivot tablolar oluşturulmasına izin verir. 
* Bir MySQL türevi olan [[MariaDB]], CONNECT depolama motorunu kullanarak pivot tablolara izin verir. 
* [[Microsoft Access]], "çapraz tablo" adı altında özet sorguları destekler. 
* [[Oracle Database|Oracle veritabanı]] PIVOT işlemini destekler. 
* [[Microsoft SQL Server|Microsoft SQL sunucusu]] gibi pivot işlevlerini doğrudan desteklemeyen bazı popüler veri tabanları ve [[SQLite]] genellikle gömülü işlevler, dinamik SQL veya alt sorgular kullanarak pivot işlevselliğini ikame edebilir. Bu gibi durumlarda pivot tablo oluşturma ile ilgili sorun genellikle, sorgunun yürütülmeye başladığı zaman çıktı sütunlarının sayısının bilinmesi gerektiğidir; pivot tablo oluşturmak için bu mümkün değildir çünkü sütun sayısı verinin kendisine bağlıdır. Bu nedenle, adlar [[Sabit kodlama|sabit olarak kodlanmalıdır]] veya yürütülecek olan sorgu, verilere dayanarak dinamik olarak (her kullanımdan önce anlamına gelir) oluşturulmalıdır.

; Web uygulamaları

* Bir [[AJAX (programlama)|Ajax]] altyapısı olan ZK, pivot tabloların Web uygulamalarına yerleştirilmesine de olanak tanır.

; Programlama dilleri ve kütüphaneler

* Tablo şeklindeki verilerle çalışmaya uygun programlama dilleri ve kütüphaneleri, pivot tabloların oluşturulmasına ve değiştirilmesine izin veren işlevler içerir. [[Python]] veri analizi araç takımı pandas *pivot_table* işlevine ve pivot tablolarının bölümlerini elde etmek için yararlı olan *xs* yöntemine sahiptir.

== Çevrimiçi analitik işleme ==
Excel pivot tabloları, bir Excel elektronik tablosundan veri almak yerine çevrimiçi bir analitik işleme (OLAP) sunucusunu veri almak için doğrudan sorgulama özelliğini içerir. Bu yapılandırmada, pivot tablo OLAP sunucusunun basit bir istemcisidir. Excel'in PivotTable'ı yalnızca [[Microsoft]]'un Analiz Hizmetine değil, herhangi bir Analiz için [[XML]] (XMLA) OLAP standardıyla uyumlu sunucuya bağlanmaya da izin verir.

== Ayrıca bakınız ==


== Kaynakça ==


== Konuyla ilgili yayınlar ==

* *A Complete Guide to PivotTables: A Visual Approach* (ISBN  ) &nbsp; ([https://books.slashdot.org/story/04/11/19/2012256/a-complete-guide-to-pivot-tables slashdot.org'da derinlemesine inceleme]  ) 
* *Excel 2007 PivotTables and PivotCharts: Visual blueprint* (ISBN ) 
* *Pivot Table Data Crunching* (Business Solutions) (ISBN ) 
* *Beginning Pivot Tables in Excel 2007'' (ISBN )