Pivot tablosu

Bir pivot tablo, (veritabanı, iş zekası programı ya da veri tablosu gibi) daha geniş bir tabloyu özetleyen istatistik tablosudur. Bu özet, pivot tabloyu anlamlı bir şekilde gruplayan toplamları, ortalamaları veya diğer istatistikleri içerebilir.

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ü. Improv'un piyasaya sürülmesinden birkaç ay sonra Brio Technology, DataPivot adında bağımsız bir Macintosh uygulaması yayınladı (teknoloji daha sonra 1999'da patentlendi). Borland, 1992 yılında DataPivot teknolojisini satın aldı ve kendi elektronik tablo uygulaması Quattro Pro'ya uyguladı.

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.

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ı burada bir toplam birleştirmesi kullanılarak görüntülenir.

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 önce orijinal tablodaki verilerin tamamını seçmeli ve ardından Ekle sekmesine gitmeli ve "Pivot Tablo" (veya "Pivot Grafiği") seçilmelidir. 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, verileri daha kolay erişilebilir olmasını sağlar.

Rapor filtresi, tüm tabloya filtre uygulamak için kullanılır. Örneğin, "Ürün Rengi" alanı bu alana sürüklenirse, oluşturulan tabloya tablonun üstüne bir rapor filtresi eklenir. 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, 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.

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.

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.

Pivot tablolar veya pivot işlevselliği, diğer elektronik tablo uygulamalarının ve bazı 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.

Microsoft SQL sunucusu gibi pivot işlevlerini doğrudan desteklemeyen bazı popüler veritabanları ve SQLite genellikle gömülü işlevler, dinamik SQL veya alt sorgular kullanarak pivot işlevselliğini simüle edebilir. Bu gibi durumlarda pivotlama ile ilgili sorun genellikle, sorgunun yürütülmeye başladığı zaman çıktı sütunlarının sayısının bilinmesi gerektiğidir; pivotlama için bu mümkün değildir çünkü sütun sayısı verinin kendisine bağlıdır. Bu nedenle, adlar 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.

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.

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.