- Pivot table, kodlama ya da ileri düzey matematik gerekmeden büyük veri kümelerini hızla özetlemeyi sağlayan, e-tabloları bir analiz aracına dönüştüren temel özelliktir
- Lotus'tan Pito Salas, kullanıcıların kategori bazlı özet istatistikler ve çapraz tablolar oluşturmak için karmaşık formüller yazmak zorunda kalmasından doğan sıkıntıya çözüm olarak tıklama temelli bir araç tasarladı
- Steve Jobs, NeXT bilgisayarları için talep yaratacak killer software arayışı sırasında bu özelliğin potansiyelini fark etti ve bu süreç Lotus Improv'un geliştirilmesine uzandı
- Lotus ekibinin flexible views yaklaşımı daha sonra Lotus 1-2-3 ve Excel'e yansıdı; Excel'de ise
pivot tableadı yerleşti - Bugün pivot table, Excel ve Google Sheets'te yaygın olarak kullanılıyor ve yüz binlerce satırlık veriyi birkaç tıklamayla tek sayfalık özet rapora sıkıştırabiliyor
Formül yazmadan veriyi özetleyen araç
- Pivot table, sıradan kullanıcıların büyük veri setlerini hızlıca analiz etmesini sağlayan bir e-tablo özelliğidir
- Kodlama becerisi ya da ileri matematik bilgisi olmadan da kullanıcılar fareyle işaretleyip tıklayarak veriyi özetleyebilir
- Apple'ın kurucusu Steve Jobs da bu özelliğin değerini hızla fark eden isimlerden biri olarak öne çıkıyor
NeXT ve Lotus Improv'a uzanan geliştirme hikayesi
- 1985'te Jobs, iş bilgisayarı pazarında IBM'i yenememesinin ardından Apple yönetim kurulu başkanlığından uzaklaştırıldı ve hemen ardından IBM'e yeniden meydan okumak için NeXT'i kurdu
- 1988'de çıkacak NeXT bilgisayarını hazırlayan Jobs, ürün için talep yaratacak killer software arıyordu
- Jobs, 1979'da çıkan Apple II'nin büyük başarısında ilk yaygın kullanılan e-tablo yazılımı VisiCalc'in kilit rol oynadığını düşünüyordu
- IBM bilgisayarları için popüler e-tablo Lotus 1-2-3'ü yapan Lotus ile görüşmeleri sırasında Jobs, pivot table'ın erken bir biçimiyle tanıştı
- O dönemde Lotus Ar-Ge'den Pito Salas, insanların e-tablolarda kategori bazlı özet istatistikleri, yani çapraz tabloları, nasıl hesapladığını gözlemliyordu
- Örneğin bir bisiklet satış şirketi, aylara göre satış adedini ya da ülkelere göre geliri görmek isteyebilirdi
- O dönemde bunun için karmaşık formüllerin elle yazılması gerekiyordu; bu da zahmetliydi ve hataya açıktı
- Salas, formül girmek yerine tıklamayla özet istatistik alınabilen bir yazılıma ihtiyaç olduğunu düşündü
- Lotus ekibi bu araca flexible views adını verdi; bugün Microsoft Excel ve Google Sheets'teki benzer özellikler pivot table olarak anılıyor
Jobs'un tepkisi ve ürünleşme süreci
- Lotus ekibi ilk prototipi Jobs'a gösterdiğinde, Salas'ın anlatımına göre Jobs bunun “gördüğü en havalı şey” olduğunu düşündü
- Jobs, Lotus'u pivot table yazılımını yalnızca NeXT bilgisayarları için geliştirmeye ikna etti
- Bunun sonucu Lotus Improv oldu
- NeXT bilgisayarı ticari olarak başarısız olsa da Lotus Improv büyük etki bıraktı
- Improv'daki flexible views unsurları daha sonra Lotus 1-2-3 ve Excel'e girdi
- Excel, gerçekten de pivot table terimini ilk kullanan üründü
- Excel evangelisti ve Pivot Table Data Crunching kitabının ortak yazarı Bill Jelen, Salas'ı “pivot table'ın babası” olarak nitelendiriyor
- Salas, pivot table'a yaptığı katkıyı hayatındaki en tatmin edici başarılardan biri olarak görse de bunun pek çok kişinin birikimi üzerine kurulu bir sonuç olduğunu düşünüyor
Excel ve Google Sheets'teki kullanımı
- Pivot table, bugün ileri düzey e-tablo kullanıcılarının araç kutusundaki en önemli ve en sık kullanılan özelliklerden biri
- Jelen, pivot table'ın yüz binlerce satırlık veriden yalnızca 4~6 tıklama ile tek sayfalık özet rapor üretmeyi sağladığını ve büyük veri setlerinde yanıt almanın en hızlı yolu olduğunu söylüyor
- Excel'in günlük işlerde tam olarak kaç kişi tarafından kullanıldığını bilmek zor, ancak dünya genelindeki Excel kullanıcı sayısı yüz milyonlarla ifade ediliyor
- Pivot table, Excel'in en kullanışlı özellikleri listesinde genellikle en üst sıralarda ya da ona çok yakın bir yerde bulunuyor
- Veri analistleri pivot table'ı halk sağlığı, ekonomik büyüme, reklam etkisi analizi gibi çok farklı amaçlarla kullanıyor
- Kâr amacı gütmeyen işçi hakları kuruluşu Verité'de kıdemli program yöneticisi Justine Shakespeare, küresel tedarik zincirlerindeki göçmen işçilerle yapılan görüşme anketlerinden gelen verileri analiz etmek için pivot table kullanıyor
Gerçek örnek ve öğrenme kaynakları
- Quartz muhabiri, 1995'ten bu yana ABD'den Meksika'ya gönderilen aylık para transferi verilerinde her yılın ilk yarı toplam havale tutarı özetine ihtiyaç duydu
- Gerekli sayılara, pivot table ekleyip ilgili veriyi seçerek ve hariç tutulacak ayları filtreleyerek ulaşmak mümkündü
- Pivot table kullanımını daha fazla öğrenmek isteyenler, “Excel ninja” Cody Baldwin'in videosunu izleyebilir
- Google Sheets kullanıcıları, Sheets uzmanı Ben Collins'in pivot table tanıtımına bakabilir
1 yorum
Hacker News yorumları
Bu hafta sonu öğrendim: Hücre değerine göre satırları/hücreleri gruplara ayırmak için FILTER fonksiyonu kullanılabiliyormuş
=FILTER(Stories!B2:D13,Stories!F2:F13=A2)İlk argüman
Stories!B2:D13, hikâyelerin bulunduğu hücre aralığı; ikinci argümanStories!F2:F13=A2ise her hücreyiA2değeriyle karşılaştıran sütun. Eşleşen satırlar,=FILTERformülünün bulunduğu konuma kopyalanıyorHikâye listesini otomatik olarak sprint’lere göre düzenlemek için kullanıyorum; program increment planlama gibi işler için yararlı
Ayrıca yakın zamanda öğrendiğim faydalı bir Excel formülü de şu:
=IF(NOT(ISBLANK(A2)),HYPERLINK("https://jira-instance.atlassian.net/browse/…),"")A2boş değilse bu değeri URL’nin sonuna ekliyor vePROJECT-ileA2değerini birleştiren metni bağlantı olarak gösteriyor. Emacs ve org-mode ile daha şık hâle getirebilirdim ama iş sahipleriyle paylaşmam gerektiği için Excel doğru tercihtiSatır sayısını elde etmek için hangi işlemleri yaptığınızı belgelemede yardımcı oluyor
SSAS küpü tabanlı pivot tablolar, şimdiye kadar gördüğüm en iyi self-servis analiz aracı olabilir. Burada “en iyi” derken ölçütüm, gerçek kullanıcıların onu ne kadar kullandığı
İş kullanıcılarının zaten bulunduğu ortamda hemen kullanmasını sağlayabilmek, gerçek benimseme açısından çok büyük; özellikle Looker gibi şeylerle karşılaştırınca. Looker başka nedenlerle de berbat
Üstelik 10 seferin 9’unda insanlar veriye hafif dönüşümler ya da hesaplamalar eklemek istiyor; bu yüzden zaten Excel içinde olan bir şeyden iyisi yok
Yazık ki OSX desteği fiilen yok ve MDX yazmak gerçekten acı verici
Bunu sorumlu olduğum ürünün PM’lerine sunuyorum; ayrı SQL yazmadan, yalnızca pivotlarla pek çok soruya yanıt verebiliyorlar
Veri alanındaki harika analiz araçlarından bahsederken bunu oldukça sık hatırlıyorum. metabase gibi iyi gelişmiş BI araçları bile boyutları pivot tablo kadar iyi ele alamıyor
Yetkilendirme ve görünüm kaydetme için biraz web işi yaptık ama toplam geliştirme süresi muhtemelen bir haftadan azdı
Looker Explore’dan CSV ya da Excel olarak indirmek de mümkün; orada eksik kalan bir şey olup olmadığını merak ediyorum
Pivot tablolar aslında gerçek bir çok boyutlu elektronik tablonun zayıf bir yaklaşımına daha yakın; örneğin Lotus Improv vardı: https://instadeq.com/blog/posts/no-code-history-lotus-improv...
Elektronik tablo modeli bunun iyi bir örneği. Excel, Microsoft Office içindeki muhtemelen en iyi ürün olabilir; ama bunun sonucunda Word ile masaüstü yayıncılığı yeterince iyi yapamıyorsanız genelde InDesign’a gitmeniz gerekiyor ve yayıncılık profesyoneli değilseniz bu çoğu zaman fazla ağır bir tercih
İşte her gün Anaplan kullanıyorum; Improv’un modern, bulut tabanlı SaaS sürümü olsaydı tam olarak böyle bir şeye benzerdi. Milyarlarca dolarlık bir şirket olmasının nedeni, elektronik tablo pazarına doğrudan saldırmak yerine elektronik tablolarla iyi geçinen bir yaklaşımla ilerlemiş olması gibi görünüyor
Improv yazısının vardığı sonuç, temel strateji hatasının Improv’u mevcut elektronik tablo pazarına satmaya çalışmak olduğu. Daha yapılandırılmış bir modelin ‘bug’ değil ‘özellik’ olduğu segmentlere satılmış olsaydı, Lotus’un modeli öğrenip geliştirmesi ve incelterek daha büyük pazarı da tatmin edecek zamanı kazanabileceği söyleniyor; Anaplan bu hatayı yapmamış gibi. EPM, yani kurumsal performans yönetimi pazarında bir niş oluşturdu
Bir noktada soyutlamayı yanlış kurduğunuzu kabul etmeniz gerekir. Güçlü bir Zalgo hissi bırakıyor
Pivot tabloların bu kavrama başka bir yaklaşım olduğunu o zaman bilmiyordum
Elektronik tabloları bırakmamın bir diğer nedeni performanstı. Improv’un bu açıdan ne kadar iyi ya da kötü olduğunu hatırlamıyorum, ancak o dönemde uğraştığım veri kümeleri elektronik tablolara pek uygun değildi; bu yüzden muhtemelen kullanmaya devam etmezdim
Yine de pivot tablonun ne olduğunu ve sırf bu özelliğin yeni bir uygulamaya ve yeni bir donanım platformuna geçmek için yeterli neden olup olmadığını açıklamakta epey zorlanmış gibiydiler
Google Ads’te harika görünen bir sürü pano yaptık ama kullanıcı araştırması yapınca, insanların aslında tek istediğinin kendi verilerini pivot tablo olarak görmek olduğu oldukça açıktı
Elektronik tablo dışa aktarma + pivot tablo bunların hepsini mümkün kılar. Biraz yetkin bir ofis çalışanı bunu sonsuz backlog-şartname-sprint-geliştirme-test-yeniden şartname-sprint döngüsüne girmeden yapabilir
İşi halletmek için kullanılamıyorsa, harika görünmesini kimse umursamaz. Üstelik “harika” çok öznel bir şey. Ekibin değer kattığını düşündüğü yerde aslında zaman boşa harcanıyormuş
Kısa süre sonra işi bırakıp Google Sheets ekibine geçtim
Microsoft, pivot tabloyu önceki iş yerim olan Brio Technology ve onun DataPivot ürününden doğrudan çaldı: https://en.wikipedia.org/wiki/Brio_Technology
CEO’ya göre Microsoft onu şirketi satın almak için aşağılayıcı derecede düşük bir teklifle Redmond’a çağırdı; reddederse kendi ürününü yapıp Brio’yu batırmakla tehdit etti. O reddetti, ardından MS Excel’e pivot tabloları ekledi
Yazıda Lotus da geçiyor; benzer dönemde benzer bir ürün yapmış gibi görünüyor. Brio kurucuları Metaphor adlı bir şirkette de yer almıştı; muhtemelen fikirlerin bir kısmı orada gelişmiş olabilir
Brio ürünü, CEO’nun şarap mahzeninin içeriğini barındıran örnek bir veritabanıyla birlikte geliyordu; aynı veri erken dönem Microsoft Office kutularında da görünüyordu
Ancak Stac’in patenti vardı ve avukat tutup Microsoft’a patent ihlali davası açtı. Microsoft da öylece geri çekilmedi ama mahkeme iki tarafın da ürün çıkarmak için lisansa ihtiyacı olduğuna karar verdikten sonra Stac büyük OEM müşterilerine gidip lisans teklif etti
Ya patent lisansı alacaklardı ya da ürünü çıkaramayacaklardı; OEM’ler Microsoft’a baskı yapınca Stac açısından hiç de fena olmayan bir anlaşmaya varıldı. Bunu yazılım patentlerinin rekabete yardımcı olabileceği en iyi örneklerden biri olarak görüyorum
Kategorilere ayrılmış veri sütunlarını toplulaştırma kavramını Brio Technology icat etmedi
Ama bence büyük sorun, Lotus 123’ün bir parçası olmamasıydı. Bu yüzden Excel pivot tabloları doğrudan elektronik tablonun içine koyduğunda çok daha kullanışlı hâle geldi. En azından benim için öyleydi
Mühendisim ve SQL’e de aşinayım, ama Excel’de hızlı çalışıp anında pivot tablo oluşturabilme becerisi kariyerime çok yardımcı oldu. Özellikle ürün ve iş yönetimi tarafına daha fazla kaydıkça
Pivot tablolar, çeşitli boyutlara göre kırılımları çok hızlı görmeyi ve bu analizi evirip çevirerek hızlı karar almayı sağlıyor. İyi tanımlanmış alanlara yönelik mevcut araçlar dışında bununla boy ölçüşen pek fazla şey yok
SQL sorgularını Excel’de tıklamaktan çok daha hızlı çalıştırabiliyorum; ayrıca sonradan Excel sayfasındaki tüm biçimlendirmeyi yeniden ayarlamaktansa geçmişten sorguyu kopyalayıp yapıştırmak daha kolay, bu da tekrarlanabilirliği artırıyor
Ama elektronik tablodaki veriyi veritabanına taşıma zahmeti çoğu zaman fazla kaçıyor; bu yüzden mühendis olsanız bile pivot tablo kullanmanın kötü bir tercih olmadığını düşünüyorum
Pandas’ta bunu sürekli kullanıyorum. Az önce bununla ilgili bir ders de verdim; söz dizimini anlayınca çok kullanışlı
DuckDB gibi akıllı araçlar, bunun yararını ve bunu standart SQL’de yapmanın zorluğunu fark edip uygulamaya PIVOT ekledi. Çok faydalı
pivot_longervepivot_widervar; Postgres’e de böyle bir şey gelse güzel olurduUmarım durum düzelmiştir. Çünkü pivot tablolar gerçekten çok kullanışlı
SQL de üretiyordu; bu sayede biraz SQL öğrendim
Bu yüzden pivot tablonun tam olarak ne olduğunu merak ediyorum. Hiç kullanmadım, görmedim de; tarayıcıda gömülü video da yüklenmedi.
Bu yazıdan öğrendiğim tek şey, bunun elektronik tablodaki verileri göstermenin kolay bir yolu olduğu ve Lotus’ta icat edilmiş olabileceği.
Gerçekte ne yaptığını ve nasıl kullanıldığını hiç kestiremiyorum.
Kişisel olarak, paradoksal biçimde hem çok kullanışlı hem de tam bir karmaşa olduğunu düşünüyorum.
Bu, genel olarak pivot tablolardan çok belirli bir uygulamaya dair bir yorum olabilir ama biraz daha ileri düzey işler yapmaya çalışınca sık sık yetersiz geldiğini hissediyorum.
Birkaç örnek vermek gerekirse, Excel ve Google Sheets’te “değerlerin” oluşturulma biçimi farklı şekillerde çok sınırlı.
Pivot tabloda filtreleme/sıralamanın çalışma biçimi de en sezgisel ya da esnek olanı değil.
Başlıklar, stiller gibi UI öğelerini kontrol etmek çok zor; pivot tabloyu oluşturduktan sonra sık sık başka bir yere kopyalayıp bazı şeyleri elle düzeltmek gerekiyor. Bu durumda da artık dinamik olarak güncellenemediği için amacından uzaklaşıyor.
Elektronik tablo uzmanı olmadığım için bir şeyleri kaçırıyor olabilirim.
Çoğunlukla ham veri sütunlarında beklenmedik değerleri hızlıca bulmak için kullanıyorum. Ancak
=unique()gibi taşan formüller ortaya çıktıkça bu amaçla da giderek daha az kullanıyorum.İnsanlar pivot tablolardan daha fazlasını istediğinde, bence çoğu zaman aslında Power Query istiyorlar. Özellik zaten var ama birçok kişi ondan çekiniyor. HN için geçerli olmayabilir ama genel kullanıcı kitlesinde durum böyle.
Bu beni o kadar rahatsız ediyor ki kendi elektronik tablo motorumu yazmaya karar verdim; düzeltmek istediğim sorun noktalarından biri de bu.
Yalnızca başlıklara tıklayarak satır/sütun sırasını değiştirebilir, basit bir girişle tutulacak veya hariç tutulacak öğeleri belirleyip filtre uygulayabilirsiniz.
Pivot tablolar kesinlikle güçlü ama adı talihsiz; Excel’de arayüzünü düzgün kullanmayı öğrenmek de her zaman biraz zaman alıyor.
MacOS Numbers’taki Categories özelliğini çok daha kullanımı kolay olduğu için seviyorum, ancak sınırlarına gelince epey can sıkıcı kısıtlamaları var.
Günümüzde karmaşık işler için çoğu zaman en kolayı elektronik tabloyu CSV olarak dışa aktarıp CSVQ ile SQL sorguları çalıştırmak oluyor.