3 puan yazan GN⁺ 2023-10-10 | 1 yorum | WhatsApp'ta paylaş
  • 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 table adı 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

 
GN⁺ 2023-10-10
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üman Stories!F2:F13=A2 ise her hücreyi A2 değeriyle karşılaştıran sütun. Eşleşen satırlar, =FILTER formülünün bulunduğu konuma kopyalanıyor
    Hikâ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/…),"")
    A2 boş değilse bu değeri URL’nin sonuna ekliyor ve PROJECT- ile A2 değ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 tercihti

    • Bu tür örnekler gerçekten çok faydalı. Google Sheets’in QUERY fonksiyonu da çok işime yaradı; IMPORTRANGE de aynı şekilde
      Satır sayısını elde etmek için hangi işlemleri yaptığınızı belgelemede yardımcı oluyor
    • Bir elektronik tabloda “story”nin ne olduğunu merak ediyorum
  • 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

    • Katılıyorum; ben bunu Power BI ile yapıyorum. Verileri bir Power BI raporuna alıp DAX ile hesaplanmış ölçüler içeren bir veri modeli oluşturduktan sonra çevrimiçi servise yayımlıyorsunuz; kullanıcı da “Analyze in Excel”e tıklayarak o veri modeline bağlı pivot tablo içeren bir Excel çalışma kitabı indirebiliyor
      Bunu sorumlu olduğum ürünün PM’lerine sunuyorum; ayrı SQL yazmadan, yalnızca pivotlarla pek çok soruya yanıt verebiliyorlar
    • İlk stajım sırasında bir şirkette OLAP küpü + pivot tablo kombinasyonunu kullanmıştık; gerçekten sarsıcıydı
      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
    • 2000’lerin ortasında bizim killer app’imiz MSDN Magazine’deki örnek uygulamaydı. Basit bir web sayfasının içine Excel’i gömüyor ve pivot tablolarla SSAS küpünü yönetmeyi sağlıyordu
      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ı
    • Easy Data Transform’u deneyip denemediğini merak ediyorum. Excel, CSV ve çeşitli dosya biçimleri için pivot benzeri veri dönüşümleri yapan hafif bir ETL aracı; Windows ve Mac’te native çalışıyor
    • Looker’ın da Explore arayüzünde pivot tablolar oluşturabildiğini hatırlıyorum
      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...

    • Microsoft Office’in “suçlarından” biri, biraz abartarak söylersek, grafik sanatçıları dışındaki ofis üretkenliği alanında Office ya da neredeyse doğrudan kopyaları olmayan şeylere nefes alacak çok az alan bırakmış olması
      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
    • Improv diye bir şey olduğunu bilmiyordum. Improv’un vizyonuna benzeyen araçlar var
      İş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
    • Kendi başına da fakirin groupby’ına yakın
      Bir noktada soyutlamayı yanlış kurduğunuzu kabul etmeniz gerekir. Güçlü bir Zalgo hissi bırakıyor
    • 1990’ların ortasından beri elektronik tabloları pek sık kullanmadım. Nedenlerden biri, Improv’un potansiyeline umut bağlayıp geleceği olmadığını fark edince hayal kırıklığına uğramamdı
      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
    • Çaylak bir muhabirken Lotus Improv’un Birleşik Krallık lansmanına gittiğimi hatırlıyorum. Diğer ürünlerle karşılaştırıldığında ne kadar gösterişli ve profesyonel olduğu oldukça göze çarpıyordu; geriye dönüp bakınca bunun Jobs’ın etkisi olduğunu tahmin ediyorum
      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ı

    • Harika görünen panolar çok esnek değil. Önemsiz düzeyi aşan toplulaştırmaları kendiniz ekleyemezsiniz, kafanıza takılan belirli bir değeri renklendiremezsiniz, okunması kolay bir raporu ve açıklama metnini hemen oluşturamazsınız
      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
    • Kullanıcılar aslında her gün yöneticilerinin sorduğu iş sorularını yanıtlamak için o panonun yetersiz olduğunu anlatmaya çalışıyordu; ama bu sinyali almamışsınız gibi geliyor
      İş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ş
    • Harika görünen panolar yapmakla uğraşıyordum; bir gün kullanıcılar “SUM gibi fonksiyonlar koyabilecekleri bir sütun” eklememi istedi
      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

    • Stac Electronics’te de benzer bir şey yaşandı: https://en.wikipedia.org/wiki/Stac_Electronics
      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
    • MS’in tam olarak neyi çaldığını merak ediyorum. Satır kategorilerine göre veri özeti gibi pivot tablo kavramının kendisi çok eskiden beri var; herhalde ondan söz etmiyorlardır
    • Neyin çalındığını merak ediyorum. Temel teknoloji mi, yoksa pivot table adı mı?
      Kategorilere ayrılmış veri sütunlarını toplulaştırma kavramını Brio Technology icat etmedi
    • Microsoft’un CPM’i IBM’e lisanslamaya çalıştığı ama ona sahip olmadığı için birine klonunu yaptırıp sonra onu IBM’e lisansladığı olay da aklıma geliyor
    • Lotus Improv aslında Brio ürününden önce çıkmıştı. Improv’un çıktığı zamanı net hatırlıyorum; o dönem gerçekten ilginç bir atılımdı
      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

    • Ben tam tersini hissediyorum. Veriyi hızla BigQuery’ye yükleyip hemen parçalayarak incelemeye başlıyorum
      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
    • Pivot tabloların derinine hiç inmedim. Çünkü kariyerim boyunca veriler çoğunlukla ilişkisel veritabanlarında oldu
      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ı

    • R ile çalışmayı pek sevmiyorum ama tidyr’ın pivot/yeniden şekillendirme fonksiyonlarını geçmek zor. Python’daki benzer fonksiyonlardan çok daha kullanışlı
    • R’deki dplyr uygulamasını seviyorum. pivot_longer ve pivot_wider var; Postgres’e de böyle bir şey gelse güzel olurdu
    • Eskiden Postgres’te pivot tablo sorgulayan bir eklenti olduğunu hatırlıyorum; ama kullanması o kadar zahmetliydi ki, Python/SQLAlchemy bağlantı koduyla önce sütun adlarını sorgulayıp sonra bu sütun adlarına dayanarak ikinci bir sorgu üretmekten oluşan iki aşamalı yöntem daha kolaydı ve belki performansı da daha iyiydi
      Umarım durum düzelmiştir. Çünkü pivot tablolar gerçekten çok kullanışlı
    • Microsoft Access’in görsel sorgu aracını severdim. Çok sezgiseldi, ama sıradan kullanıcılar için biraz fazla soyut kalmış olabilir
      SQL de üretiyordu; bu sayede biraz SQL öğrendim
    • Oracle’da da PIVOT var. Son kullandığımda sütunları elle belirtmek gerekiyordu
  • 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.

    • Tablodaki öğeleri kategorilere göre gruplandırmaya yarayan bir sürükle-bırak arayüzü. İş kullanıcıları genelde anlamakta zorlandığı için YouTube’da çok sayıda kısa video var. Örnek burada: https://www.youtube.com/watch?v=qu-AK0Hv0b4
      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.

    • Ben elektronik tablo uzmanına oldukça yakınım; pivot tabloları hızlı ve dağınık geçici veri görselleştirme olarak sınıflandırıyorum. Sunum amaçlı ya da stilin önemli olduğu yerlerde kullanmam.
      Ç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.
    • Katılıyorum. Mevcut uygulamalar tamamen kırılgan; deneyimli kullanıcıların ya da power user’ların bekleyeceği özellik olgunluğundan çok uzak.
      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.
    • Şu çevrimiçi pivot tabloyu deneyebilirsiniz: https://www.seektable.com
      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.