Pivot tablosu

Pivot tablosu (İngilizce: pivot table), bir veritabanı, hesap tablosu ya da iş zekâsı programı gibi kaynaklardaki daha geniş bir veri kümesini özetleyen istatistiksel bir tablodur. Bu özet, verileri anlamlı biçimde gruplayan toplamları, ortalamaları ya da başka istatistikleri içerebilir.

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

Pivot tablosu genel bir terim olmasına karşın Microsoft, PivotTable adını 1994 yılında Amerika Birleşik Devletleri'nde ticari marka olarak tescil ettirmiştir.

Tarihçe

Bill Jelen ve Mike Alexander, Pivot Table Data Crunching (Pivot tablosuyla veri işleme) adlı kitaplarında Pito Salas'ı "pivot tablolarının babası" olarak anar. Salas, sonradan Lotus Improv adıyla piyasaya çıkacak yeni bir programın kavram tasarımı üzerinde çalışırken hesap tablolarındaki verilerin belirli kalıplar (örüntüler) taşıdığını fark etmiştir. Ona göre kullanıcının bu kalıpları tanımasına yardım eden bir araç, gelişmiş veri modellerinin hızla kurulmasını da kolaylaştıracaktı. Improv'da kullanıcılar kategori kümeleri tanımlayıp saklayabiliyor, ardından kategori adlarını fareyle sürükleyerek tablonun görünümünü değiştirebiliyordu. Bu temel işlev, sonraki pivot tablolarına örnek olmuştur.

Lotus Development, Improv'u 1991 yılında NeXT platformu için piyasaya sürmüştür. Lotus Improv'un çıkışının ardından Brio Technology, aynı yıl DataPivot adlı bağımsız bir Macintosh uygulaması geliştirmiştir; bu uygulamanın teknolojisi 1999 yılında patentlenmiştir. MacUser dergisi Temmuz 1991'de DataPivot'u, veri ilişkilerine bakış açısını değiştirmeye ve hızla yeni raporlar biçimlendirmeye yarayan, Improv benzeri bir veri düzenleme aracı olarak duyurmuştur. Dergi daha sonra DataPivot 1.0'ı 1991 yılının en iyi veri yönetimi ürünü seçmiştir. Dergi bu aracı, masaüstündeki bir hesap tablosundan uzaktaki bir ana bilgisayar veritabanına kadar her kaynaktan veri alan, ne hesap tablosuna ne de veritabanına bağlı olan bir ön uç raporlama aracı olarak nitelemiştir.

Brio Technology adına 24 Aralık 1996'da yapılan başvuru üzerine 22 Haziran 1999'da verilen ABD patenti (US5915257), buluşu yapanlar olarak Daniel L. Gartung, Yorgen H. Edholm, Kay-Martin Edholm, Kristen N. McNall ve Karl M. Lew'i gösterir. Patentin arka plan bölümü, verileri ve raporları yeniden yapılandırma yeteneğinin öncüsü olarak DataPivot adlı bir hesap tablosu eklentisini anar. Patentte anlatılan yöntem, kaynak kayıtlardan elde edilen özet değerleri bir ağaç yapısında saklar. Kullanıcı rapor etiketlerinin yerini değiştirdiğinde ağacın düzeyleri yeniden sıralanır; böylece rapor, kaynak kayıtlara yeniden erişilmeden yeni düzende üretilebilir.

Borland da kendi hesap tablosu yazılımı Quattro Pro için bir pivot aracı geliştirmiştir. Borland'ın Improv'un Windows sürümüne yanıt olarak geliştirdiği Data Modeling Desktop, Quattro Pro for Windows'un içinden başlatılan ayrı bir Windows uygulamasıydı. Kullanıcı bu araçla hesap tablosu verilerini çapraz tablo raporuna dönüştürebiliyor, satır ve sütun başlıklarını fareyle sürükleyerek tabloyu döndürebiliyordu. Tablodaki sayısal değerler varsayılan olarak toplanıyor, kullanıcı ortalama, sayım ve yüzde gibi başka hesaplamalar da seçebiliyordu. PC Magazine Eylül 1993'te aracın Quattro Pro for Windows'un bir sonraki sürümüyle birlikte dağıtılacağını bildirmiştir.

Improv'un Microsoft Windows sürümü 1993 yılında çıkmıştır. PC Magazine dergisinin bildirdiğine göre Lotus, Improv for Windows'un 2.0 sürümünü Şubat 1993'te piyasaya sürmüş, birkaç ay sonra çıkan 2.1 sürümüne dış veritabanlarından veri sorgulayıp Improv'a aktarma olanağı eklemiştir. 1994'ün başlarında Microsoft Excel 5 "PivotTable" adlı yeni bir özellikle piyasaya çıkmıştır. Microsoft bu özelliği Excel'in sonraki sürümlerinde geliştirmeyi sürdürmüştür:

Oracle Corporation, 2007 yılında PIVOT ve UNPIVOT operatörlerini Oracle Database 11g sürümüyle kullanıma sunmuştur.

İşleyiş

Veri girişinde ve saklanmasında veriler genellikle düz tablolarda tutulur. Bu tür tablolar yalnızca sütunlardan ve satırlardan oluşur. Gömlek türlerine ilişkin verileri gösteren hesap tablosu kesiti, bu tür düz tablolara bir örnektir:

Gömlek türlerine göre satış kayıtlarını gösteren düz tablo

Bu tür tablolar çok sayıda veri öğesi içerebilir, ancak onlardan özet bilgi elde etmek zor olabilir. Pivot tablosu, verileri hızla özetlemeye ve istenen bilgiyi öne çıkarmaya yardım eder. Pivot tablosunun kullanım alanı son derece geniştir ve amaca göre değişir; bu nedenle tablo oluşturulmadan önce analizin hedefi belirlenmelidir. Örneğin belirli bir sevk tarihinde her bölgede satılan birim sayısı bu yöntemle kolayca özetlenebilir:

Bölgelere ve sevk tarihlerine göre satılan birimleri özetleyen pivot tablosu

Bir pivot tablosu genellikle satır, sütun ve veri (ya da olgu) alanlarından oluşur. Bu örnekte sütun alanı Sevk Tarihi, satır alanı Bölge, görülmek istenen veri ise Birim sayılarının toplamıdır. Bu alanlar toplam, ortalama, standart sapma, sayım gibi çeşitli birleştirme işlemlerine olanak verir. Örnekte gönderilen toplam birim sayısı, toplam birleştirmesiyle elde edilmiştir.

Microsoft Excel'de pivot tablosu kaynak verinin kendisi üzerinde değil, onun bir kopyası üzerinde çalışır. Jelen ve Alexander'a göre Excel, pivot tablosu oluştururken veri kümesinin anlık bir görüntüsünü alır ve onu pivot önbelleği adı verilen, kaynak verinin hızlı erişim için çoğaltıldığı özel bir bellek alt sisteminde saklar. Bu nedenle kaynak veriye yeni kayıtlar eklendiğinde, o veriye dayanan pivot tablolarının yenilenmesi gerekir. Microsoft, kaynak verinin, her sütunu tek satırlık, benzersiz ve boş olmayan bir başlık taşıyan, boş satır ya da sütun içermeyen bir tablo biçiminde düzenlenmesini önermektedir. Kaynak olarak bir Excel tablosu kullanıldığında, tabloya sonradan eklenen satırlar pivot tablosu yenilendiğinde kendiliğinden kapsanır.

Oluşturma

Gömlek verileri örneğinde yazılım, önce Bölge alanının aldığı bütün farklı değerleri bulur. Bu örnekte bu değerler Kuzey, Güney, Doğu ve Batı bölgeleridir. Yazılım ardından Sevk Tarihi alanının bütün farklı değerlerini de bulur. Seçilen hesaplama yöntemine göre tablodaki birim miktarlarını özetler ve sonucu çok boyutlu bir tabloda ya da grafikte gösterir. Örnek pivot tablosundaki ilk değer 66'dır. Bu sayı, Bölge alanı Doğu ve Sevk Tarihi alanı 1/31/2005 (31 Ocak 2005) olan bütün kayıtlar bulunup bu kayıtların Birim değerleri (E2 ile E7 arasındaki hücreler) toplanarak elde edilmiştir.

Pivot tabloları kendiliğinden oluşmaz, kullanıcının oluşturması gerekir. Örneğin Microsoft Excel'de pivot tablosu oluşturmak için önce veri aralığı seçilir, ardından işlem Ekle menüsünden başlatılır. Kullanıcı, pivot tablosunu var olan bir çalışma sayfasına ekleyebileceği gibi onu barındırmak için yeni bir sayfa da oluşturabilir. Bundan sonra kullanıcıya, verideki bütün sütun başlıklarını listeleyen bir pivot tablosu alan listesi sunulur. Örneğin bir şirketin satış verilerini gösteren bir tabloda satış tarihi, satış elemanı, satılan ürün, ürün rengi, satılan birim sayısı, birim fiyatı ve toplam fiyat sütunları bulunabilir. Alan listesi, bu verilere daha kolay erişilmesini sağlar.

Satış tarihi Satış elemanı Satılan ürün Ürün rengi Satış sayısı Birim fiyatı Toplam fiyat
10/01/13 Jones Not defteri Siyah 8 25000 200000
10/02/13 Prince Dizüstü Kırmızı 4 35000 140000
10/03/13 George Fare Kırmızı 6 850 5100
10/04/13 Larry Not defteri Beyaz 10 27000 270000
10/05/13 Jones Fare Siyah 4 700 2800

Oluşturulabilecek alanlar çalışma sayfasının sağ tarafında görünür. Pivot tablosunun düzen tasarımı ise varsayılan olarak bu listenin altında yer alır.

Listedeki her alan, dört bölümden oluşan bu düzene sürüklenebilir:

  1. Rapor filtresi
  2. Sütun etiketleri
  3. Satır etiketleri
  4. Toplanan değerler

Rapor filtresi

Rapor filtresi, pivot tablosunun tamamına uygulanacak bir ölçüt belirlemeye yarar. Örneğin Ürün rengi alanı bu bölüme atandığında tablo yalnızca seçilen renge ait verileri gösterecek biçimde süzülür. Rapor filtresinde, örnek satış tablosundaki renklere karşılık gelen Siyah, Kırmızı ve Beyaz seçenekleri açılır liste olarak sunulur. Bu listeden bir seçenek seçildiğinde (örneğin Siyah), görünen tablo yalnızca Ürün rengi = Siyah olan satırlardan gelen verileri içerir.

Sütun etiketleri

Sütun etiketleri, pivot tablosunda gösterilecek bir ya da daha çok sütuna filtre uygulamak için kullanılır. Örneğin Satış elemanı alanı bu bölüme sürüklenirse oluşturulan tablonun sütunları Satış elemanı sütunundaki değerlerden oluşur; başka bir deyişle tabloda satış elemanı sayısı kadar sütun olur. Verilerin toplamı da ayrı bir sütun olarak eklenir. Örnek satış tablosunda bu işlem, her satış elemanı için birer sütun ve bir Genel Toplam sütunu olmak üzere beş sütun oluşturur. Verilerin üstünde Sütun Etiketleri adlı bir filtre yer alır; bu filtreyle pivot tablosu için belirli bir satış elemanı seçilebilir ya da seçim kaldırılabilir.

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

Satır etiketleri

Satır etiketleri, pivot tablosunda gösterilecek bir ya da daha çok satıra filtre uygulamak için kullanılır. Örneğin Satış elemanı alanı bu bölüme sürüklenirse oluşturulan çıktı tablosunun satırları Satış elemanı sütunundaki değerlerden oluşur; başka bir deyişle tabloda satış elemanı sayısı kadar satır olur. Bunlara ek olarak Genel Toplam başlıklı bir satır daha yer alır. Örnek satış tablosunda bu işlem, her satış elemanı için birer satır ve bir Genel Toplam satırı olmak üzere beş satır oluşturur. Verilerin üstünde Satır Etiketleri adlı bir filtre yer alır; bu filtreyle pivot tablosu için belirli bir satış elemanı seçilebilir ya da seçim kaldırılabilir.

Toplanan değerler

Değerler bölümüne genellikle çeşitli hesaplamalarda kullanılabilecek sayısal değerler taşıyan bir alan konur. Metin değerleri taşıyan bir alan kullanmak da yanlış değildir; bu durumda toplam yerine öğe sayısı elde edilir. Örneğin satış tablosunda Satış sayısı alanı, Satış elemanı satır etiketiyle birlikte bu bölüme sürüklenirse tabloya, her satış elemanının sattığı ürün sayısını gösteren Satış sayısı toplamı adlı yeni bir sütun eklenir.

Excel'de değerler bölümündeki alanlar varsayılan olarak toplam biçiminde gösterilir; Excel veriyi metin olarak yorumlarsa toplam yerine sayım kullanır. Kullanıcı özetleme işlevini değiştirebileceği gibi değerleri genel toplamın yüzdesi gibi oranlar olarak da gösterebilir.

Satır Etiketleri Satış sayısı toplamı
Jones 12
Prince 4
George 6
Larry 10
Genel Toplam 32

Destekleyen yazılımlar

Pivot tabloları ya da pivot işlevi, birçok hesap tablosu uygulamasının ve bazı veritabanı yazılımlarının ayrılmaz bir parçasıdır; başka veri görselleştirme araçlarında ve iş zekâsı paketlerinde de yer almaktadır.

Hesap tablosu uygulamaları
Veritabanı desteği
Web uygulamaları
Programlama dilleri ve kütüphaneler

Pivot ve ters pivot işlemleri

Pivot işlemi hesap tablosu raporlarının dışında, veri işlemede tabloların biçimini değiştirmek için de kullanılır. Bir sütundaki farklı değerleri ayrı sütunlara çeviren ve bu sırada kalan değerleri toplayan işlem, tabloyu genişletir; satır sayısı azalırken sütun sayısı artar. pandas belgeleri bu iki biçimi ayırır. Her denek için tek satırın tutulduğu biçim "geniş", her denek için gerektiğinde birden çok satırın tutulduğu biçim ise "uzun" ya da "yığılmış" biçim olarak adlandırılır.

Ters işlem (İngilizce: unpivot) sütunları satırlara çevirerek tabloyu uzatır. pandas'ta bu işi melt işlevi görür; tanımlayıcı olarak seçilen sütunlar korunur, öteki bütün sütunlar "variable" ve "value" adlı iki sütunda satırlara açılır. R dilindeki tidyr paketinde pivot_longer işlevi veriyi uzatarak satır sayısını artırır, pivot_wider ise bunun tersini yapar. SQL tarafında Microsoft SQL Server ve Oracle, PIVOT işlecinin yanında UNPIVOT işlecini de sunar.

Ters pivot işlemi pivot işleminin tam tersi değildir. Microsoft'un belgelerine göre PIVOT bir toplama işlemi yaparak birden çok satırı tek satırda birleştirdiği için UNPIVOT özgün tabloyu yeniden üretemez; ayrıca UNPIVOT girdisindeki boş (NULL) değerler çıktıda yer almaz.

Çevrimiçi analitik işleme

Excel pivot tabloları, verileri bir Excel hesap tablosundan almak yerine doğrudan bir çevrimiçi analitik işleme (İngilizce: online analytical processing, OLAP) sunucusunu sorgulayarak alabilir. Bu yapılandırmada pivot tablosu, OLAP sunucusunun basit bir istemcisi olarak çalışır. Excel'in PivotTable özelliği yalnızca Microsoft'un Analysis Services hizmetine değil, XML for Analysis (XMLA) OLAP standardıyla uyumlu her sunucuya bağlanabilir.

OLAP veritabanları bir ya da daha çok küpe ayrılır ve veriler bu küplerde tablolar yerine hiyerarşik olarak düzenlenir. Bir pivot tablosu raporunda her hiyerarşi, açılıp kapatılarak alt ya da üst düzeyleri gösteren bir alan kümesine dönüşür; örneğin bir coğrafya boyutu ülke ya da bölge, eyalet ya da il ve şehir düzeylerini, bir zaman boyutu ise yıl, çeyrek, ay ve gün düzeylerini içerebilir. Özet değerleri Excel yerine OLAP sunucusu hesapladığından rapor oluşturulurken ya da değiştirilirken Excel'e daha az veri gönderilir. Bu yapı, verilerin geleneksel bir veritabanında tutulduğu duruma göre çok daha büyük kaynak verilerle çalışmayı mümkün kılar.

OLAP kaynaklı pivot tablolarının bazı sınırları vardır. Sunucu, rapor düzeni her değiştiğinde Excel'e yeni veri döndürür. Özet değerleri sunucu önceden hesapladığı için değer alanlarının özetleme işlevi değiştirilemez, hesaplanan alan ya da hesaplanan öğe de oluşturulamaz.

Ayrıca bakınız

Kaynakça

  1. ↑ "United States Trademark Serial Number 74472929". 27 Aralık 1994. 7 Ocak 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Şubat 2013.
  2. 1 2 3 4 5 Jelen, Bill; Alexander, Michael (2006). Pivot table data crunching Business solutions (İngilizce). Indianapolis, Indiana. ISBN 0-7897-3435-4.
  3. 1 2 Bortman, Henry (Temmuz 1991). "Bridges". MacUser (İngilizce). s. 197. Erişim tarihi: 13 Ekim 2026.
  4. 1 2 Gartung, Daniel L.; Edholm, Yorgen H.; Edholm, Kay-Martin; McNall, Kristen N.; Lew, Karl M. (22 Haziran 1999). "Cross tab analysis and reporting method (US5915257)". Google Patents (İngilizce). Brio Technology. 18 Temmuz 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 13 Ekim 2026.
  5. ↑ "MacUser Editors' Choice Awards". MacUser (İngilizce). Mart 1992. s. 96. Erişim tarihi: 13 Ekim 2026.
  6. ↑ Stinson, Craig (28 Eylül 1993). "Borland's Data Modeling Desktop". PC Magazine (İngilizce). s. 190. Erişim tarihi: 13 Ekim 2026.
  7. ↑ "Six Months Later, Lotus Upgrades Improv for Windows". PC Magazine (İngilizce). 14 Eylül 1993. s. 60. Erişim tarihi: 13 Ekim 2026.
  8. ↑ Keith Darlington (6 Ağustos 2012). VBA For Excel Made Simple (İngilizce). Routledge. ISBN 9781136349775. 15 Ağustos 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Mayıs 2020.
  9. ↑ "PIVOTBY function". Microsoft Support (İngilizce). Erişim tarihi: 13 Ekim 2026.
  10. ↑ Sharanam Shah; Vaishali Shah (2008). Oracle for Professionals - Covers Oracle 9i, 10g and 11g W CD (İngilizce). Shroff Publishers. ISBN 9788184045260. 28 Nisan 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Mayıs 2020.
  11. 1 2 "Create a PivotTable to analyze worksheet data". Microsoft Support (İngilizce). Erişim tarihi: 13 Ekim 2026.
  12. ↑ "Make an Excel Pivot Table in 2 Steps". The Desktop School. 27 Haziran 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 27 Temmuz 2015.
  13. ↑ Debra Dalgleish (1 Aralık 2007). Beginning PivotTables in Excel 2007 (İngilizce). Apress. ISBN 9781430204336.
  14. ↑ "LibreOffice 3.4: Release Notes". The Document Foundation Wiki (İngilizce). The Document Foundation. Erişim tarihi: 13 Ekim 2026.
  15. ↑ "Create & use pivot tables". 1 Temmuz 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Mayıs 2020.
  16. ↑ "Create & use pivot tables". Google Docs Editors Help (İngilizce). Google. Erişim tarihi: 13 Ekim 2026.
  17. ↑ Loyola, Roman (28 Eylül 2021). "iWork update brings major changes to Mac, iPhone, and iPad apps". Macworld (İngilizce). Erişim tarihi: 13 Ekim 2026.
  18. ↑ "PostgreSQL: Documentation: 9.2: tablefunc". postgresql.org. 23 Kasım 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Mayıs 2020.
  19. ↑ "CONNECT Table Types - PIVOT Table Type". mariadb.com. 4 Nisan 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Mayıs 2020.
  20. ↑ "Make summary data easier to read by using a crosstab query". Microsoft Support (İngilizce). Erişim tarihi: 13 Ekim 2026.
  21. 1 2 3 "SELECT". Oracle Database SQL Language Reference, 19c (İngilizce). Oracle. Erişim tarihi: 13 Ekim 2026.
  22. 1 2 3 "Using PIVOT and UNPIVOT". Microsoft Learn (İngilizce). Microsoft. Erişim tarihi: 13 Ekim 2026.
  23. ↑ "F.43. tablefunc: functions that return tables (crosstab and others)". PostgreSQL Documentation (İngilizce). The PostgreSQL Global Development Group. Erişim tarihi: 13 Ekim 2026.
  24. ↑ "ZK Pivottable". zkoss.org (İngilizce). Potix. Erişim tarihi: 13 Ekim 2026.
  25. ↑ "pandas.pivot_table". 1 Nisan 2014 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Mayıs 2020.
  26. ↑ "pandas.DataFrame.xs". pandas documentation (İngilizce). Erişim tarihi: 13 Ekim 2026.
  27. ↑ "pandas.pivot_table". pandas documentation (İngilizce). Erişim tarihi: 13 Ekim 2026.
  28. 1 2 3 4 "Reshaping and pivot tables". pandas documentation (İngilizce). Erişim tarihi: 13 Ekim 2026.
  29. ↑ "Pivot data from long to wide: pivot_wider". tidyr (İngilizce). Erişim tarihi: 13 Ekim 2026.
  30. ↑ "Pivot data from wide to long: pivot_longer". tidyr (İngilizce). Erişim tarihi: 13 Ekim 2026.
  31. 1 2 "Overview of Online Analytical Processing (OLAP)". Microsoft Support (İngilizce). Erişim tarihi: 13 Ekim 2026.

Konuyla ilgili yayınlar