- pivot table एक ऐसी मुख्य स्प्रेडशीट सुविधा है जो कोडिंग या उन्नत गणित के बिना भी बड़े डेटा को तेज़ी से सारांशित कर देती है, और स्प्रेडशीट को एक विश्लेषण टूल बना देती है
- Lotus के Pito Salas ने यह देखा कि उपयोगकर्ताओं को श्रेणीवार summary statistics और crosstab बनाने के लिए जटिल formulas लिखने पड़ते हैं, और इसी असुविधा से उन्होंने एक click-based टूल की कल्पना की
- Steve Jobs ने NeXT कंप्यूटर की मांग पैदा करने वाले killer software की तलाश के दौरान इस फीचर की संभावना को पहचाना, और यही आगे चलकर Lotus Improv के विकास तक पहुँचा
- Lotus टीम के flexible views बाद में Lotus 1-2-3 और Excel में शामिल हुए, और Excel में pivot table नाम स्थापित हो गया
- आज pivot table का इस्तेमाल Excel और Google Sheets में व्यापक रूप से होता है, और लाखों rows के डेटा को भी कुछ clicks में एक पेज की summary report में बदला जा सकता है
बिना formulas के डेटा को सारांशित करने वाला टूल
- pivot table एक स्प्रेडशीट फीचर है जो सामान्य उपयोगकर्ताओं को बड़े datasets का तेज़ी से विश्लेषण करने में मदद करता है
- कोडिंग स्किल या ऊँचे स्तर की गणितीय जानकारी के बिना भी, उपयोगकर्ता माउस से point and click करके डेटा का सारांश बना सकते हैं
- Apple के संस्थापक Steve Jobs भी उन लोगों में थे जिन्होंने इस फीचर की वैल्यू बहुत जल्दी पहचान ली थी
NeXT और Lotus Improv तक पहुँची विकास कहानी
- 1985 में Jobs, बिज़नेस कंप्यूटर बाज़ार में IBM को नहीं हरा पाने के बाद, Apple के बोर्ड चेयरमैन पद से हटा दिए गए और तुरंत NeXT बनाकर IBM को फिर चुनौती देने की कोशिश करने लगे
- 1988 में लॉन्च होने वाले NeXT कंप्यूटर की तैयारी करते हुए Jobs ऐसे killer software की तलाश में थे जो उत्पाद की मांग पैदा कर सके
- Jobs का मानना था कि 1979 में आए Apple II की बड़ी सफलता के पीछे पहला व्यापक रूप से इस्तेमाल होने वाला स्प्रेडशीट सॉफ्टवेयर VisiCalc एक प्रमुख कारण था
- IBM कंप्यूटर के लिए लोकप्रिय स्प्रेडशीट Lotus 1-2-3 बनाने वाली Lotus से मुलाकात के दौरान Jobs ने pivot table के शुरुआती रूप को देखा
- उस समय Lotus R&D के Pito Salas यह देख रहे थे कि लोग स्प्रेडशीट के ज़रिए श्रेणीवार summary statistics, यानी crosstab, कैसे निकालते हैं
- अगर कोई साइकिल बेचने वाली कंपनी हो, तो वह महीने के हिसाब से बिक्री मात्रा या देश के हिसाब से revenue देखना चाह सकती है
- उस समय यह काम सीधे जटिल formulas लिखकर करना पड़ता था, इसलिए यह झंझटभरा था और गलती की संभावना भी अधिक रहती थी
- Salas ने निष्कर्ष निकाला कि formula टाइप करने के बजाय clicks से summary statistics पाने वाला सॉफ्टवेयर चाहिए
- Lotus टीम ने इस टूल को flexible views कहा, और आज Microsoft Excel तथा Google Sheets की मिलती-जुलती सुविधा को pivot table कहा जाता है
Jobs की प्रतिक्रिया और प्रोडक्ट में रूपांतरण
- जब Lotus टीम ने शुरुआती prototype Jobs को दिखाया, तो Salas के अनुसार Jobs ने उसे “सबसे शानदार चीज़” माना
- Jobs ने Lotus को मनाया कि वह pivot table सॉफ्टवेयर केवल NeXT कंप्यूटर के लिए विकसित करे
- उसका परिणाम Lotus Improv था
- NeXT कंप्यूटर व्यावसायिक रूप से असफल रहा, लेकिन Lotus Improv ने बड़ा प्रभाव छोड़ा
- Improv के flexible views तत्व बाद में Lotus 1-2-3 और Excel में शामिल हुए
- वास्तव में pivot table शब्द का सबसे पहले इस्तेमाल Excel ने किया
- Excel evangelist और Pivot Table Data Crunching के सह-लेखक Bill Jelen, Salas को “pivot table का जनक” मानते हैं
- Salas pivot table में अपने योगदान को जीवन की सबसे संतोषजनक उपलब्धियों में से एक मानते हैं, लेकिन उनका कहना है कि यह कई लोगों द्वारा रखी गई बुनियाद पर बना परिणाम है
Excel और Google Sheets में उपयोग
- pivot table आज स्प्रेडशीट power users के toolbox में सबसे महत्वपूर्ण और सबसे ज़्यादा इस्तेमाल होने वाले फीचर्स में से एक है
- Jelen कहते हैं कि pivot table, 4~6 clicks में सैकड़ों हज़ार rows वाले डेटा से एक पेज की summary report बना सकता है, और बड़े datasets से जवाब पाने का यह सबसे तेज़ तरीका है
- Excel के सटीक दैनिक कार्यस्थल उपयोगकर्ताओं की संख्या जानना मुश्किल है, लेकिन दुनिया भर में Excel उपयोगकर्ताओं की संख्या सैकड़ों मिलियन में है
- Excel के सबसे उपयोगी फीचर्स की सूची में pivot table आम तौर पर सबसे ऊपर या उसके आसपास होता है
- data analysts सार्वजनिक स्वास्थ्य, आर्थिक वृद्धि, विज्ञापन प्रभाव विश्लेषण और कई अन्य उद्देश्यों के लिए pivot table का उपयोग करते हैं
- गैर-लाभकारी श्रम-अधिकार संगठन Verité की senior program manager Justine Shakespeare, global supply chain में प्रवासी श्रमिकों के इंटरव्यू सर्वे डेटा का विश्लेषण करने के लिए pivot table का उपयोग करती हैं
वास्तविक उदाहरण और सीखने की सामग्री
- Quartz के एक पत्रकार को 1995 से आगे के अमेरिका से मेक्सिको भेजी गई remittance के मासिक डेटा में हर साल की पहली छमाही की कुल remittance का सारांश चाहिए था
- ज़रूरी संख्या pivot table insert करके, आवश्यक डेटा चुनकर, और हटाए जाने वाले महीनों को filter करके हासिल की जा सकती थी
- pivot table का उपयोग और सीखने के लिए “Excel ninja” Cody Baldwin का वीडियो देखा जा सकता है
- Google Sheets उपयोगकर्ता Sheets expert Ben Collins की pivot table परिचय सामग्री देख सकते हैं
1 टिप्पणियां
Hacker News की टिप्पणियां
इस वीकेंड मैंने सीखा कि सेल वैल्यू के आधार पर rows/cells को groups में बांटने के लिए FILTER function इस्तेमाल किया जा सकता है
=FILTER(Stories!B2:D13,Stories!F2:F13=A2)पहला argument
Stories!B2:D13उन cells की range है जिनमें stories हैं, और दूसरा argumentStories!F2:F13=A2वह column है जो हर cell की तुलनाA2की value से करता है। मेल खाने वाली rows उस जगह copy हो जाती हैं जहां=FILTERformula रखा हैमैं इसे story list को अपने-आप sprint के हिसाब से व्यवस्थित करने के लिए इस्तेमाल कर रहा हूं, और यह program increment planning जैसे कामों में उपयोगी है
हाल ही में सीखा एक और उपयोगी Excel formula है
=IF(NOT(ISBLANK(A2)),HYPERLINK("https://jira-instance.atlassian.net/browse/…),"")अगर
A2खाली नहीं है, तो यह उसकी value को URL के पीछे जोड़ता है औरPROJECT-मेंA2की value जोड़कर बने text को link के रूप में दिखाता है। Emacs और org-mode से इसे और शानदार बनाया जा सकता था, लेकिन काम के stakeholders के साथ share करना था, इसलिए Excel सही विकल्प थाrows की संख्या पाने के लिए कौन-सा काम किया गया था, इसे document करने में मदद मिलती है
SSAS cube आधारित pivot table अब तक देखा गया सबसे अच्छा self-service analytics tool हो सकता है। यहां “सबसे अच्छा” का मतलब है कि actual users इसे कितना इस्तेमाल करते हैं
business users को उनके मौजूदा environment में ही तुरंत इस्तेमाल करने लायक बना देने की क्षमता real adoption के लिए बहुत बड़ी चीज है, खासकर Looker जैसी चीजों की तुलना में। Looker तो और भी कई वजहों से खराब है
ऊपर से, 10 में से 9 बार लोग data में हल्का transformation या calculation जोड़ना चाहते हैं, इसलिए पहले से Excel के अंदर मौजूद चीज से बेहतर कुछ नहीं
अफसोस की बात यह है कि OSX support practically नहीं है, और MDX लिखना वाकई दर्दनाक है
मैं अपने product के PMs को यह देता हूं, और वे अलग से SQL लिखे बिना सिर्फ pivot से ही कई सवालों के जवाब पा सकते हैं
data field के बेहतरीन analysis tools की बात करते समय यह अक्सर याद आता है। metabase जैसे काफी विकसित BI tools भी dimensions को pivot table जितनी अच्छी तरह handle नहीं कर पाते
permissions handling और views save करने के लिए थोड़ा-सा web work किया था, लेकिन पूरा development शायद एक हफ्ते से भी कम में हो गया होगा
Looker Explore से CSV या Excel में download भी किया जा सकता है; जानना चाहूंगा कि उसमें क्या कमी रह गई थी
Pivot table असल में एक वास्तविक multidimensional spreadsheet का कमजोर approximation है; उदाहरण के लिए Lotus Improv था: https://instadeq.com/blog/posts/no-code-history-lotus-improv...
spreadsheet model इसका अच्छा उदाहरण है। Excel शायद Microsoft Office की सबसे बेहतर चीज हो सकता है, लेकिन नतीजा यह है कि अगर Word से desktop publishing पर्याप्त अच्छी तरह नहीं हो पाती, तो आम तौर पर InDesign की ओर जाना पड़ता है, और अगर आप publishing professional नहीं हैं तो वह अक्सर overkill होता है
मैं काम में रोज Anaplan इस्तेमाल करता हूं, और Improv का modern cloud-based SaaS version अगर होता तो शायद बिल्कुल ऐसा ही दिखता। लगता है कि इसके multi-billion dollar company बनने की वजह यह थी कि इसने spreadsheet market को सीधे target नहीं किया, बल्कि spreadsheets के साथ अच्छी तरह fit होने वाला approach लिया
Improv वाले article का निष्कर्ष यह है कि मौजूदा spreadsheet market को Improv बेचने की कोशिश करना मुख्य strategic गलती थी। अगर इसे उन segments को बेचा जाता जहां अधिक structured model ‘bug’ नहीं बल्कि ‘feature’ था, तो Lotus को model सीखने, सुधारने और refine करने का समय मिलता, और बाद में वह बड़े market को भी satisfy कर सकता था। लगता है Anaplan ने यह गलती नहीं की। उसने EPM, यानी enterprise performance management market में अपनी niche बनाई
किसी point पर मानना पड़ता है कि abstraction गलत चुना गया था। इसमें Zalgo जैसा strong feel आता है
उस समय मुझे नहीं पता था कि pivot tables उसी concept पर एक अलग approach हैं
spreadsheets छोड़ने की एक और वजह performance थी। Improv इस मामले में कितना अच्छा या खराब था, याद नहीं, लेकिन जिन datasets से मैं उस समय काम कर रहा था वे spreadsheets के लिए ठीक नहीं थे, इसलिए शायद मैं इसे जारी नहीं रखता
फिर भी शायद उन्हें यह समझाने में काफी मुश्किल हुई कि pivot table क्या है, और क्या वह एक feature अकेले ही नई application और नए hardware platform पर shift करने के लिए पर्याप्त वजह बन सकता है
Google Ads में दिखने में शानदार लगने वाले बहुत सारे dashboards बनाए, लेकिन user research करने पर यह काफी साफ था कि आखिर में लोग सिर्फ अपने data को pivot table में देखना चाहते हैं
spreadsheet export + pivot table यह सब संभव बना देता है. कुछ हद तक कुशल office worker यह सब endless backlog-spec-sprint-development-test-respec-sprint loop से गुज़रे बिना कर सकता है
अगर वह काम निपटाने में काम नहीं आता, तो उसके दिखने में शानदार होने की किसी को परवाह नहीं. ऊपर से “शानदार” बहुत subjective होता है. team जहां value जोड़ने की सोच रही थी, असल में वहां time waste कर रही थी
कुछ समय बाद नौकरी छोड़कर Google Sheets team में चला गया
Microsoft ने pivot table को मेरी पिछली company Brio Technology और उसके product DataPivot से सीधे चुराया था: https://en.wikipedia.org/wiki/Brio_Technology
CEO के मुताबिक, Microsoft ने उन्हें company acquire करने के लिए Redmond बुलाया, बेहद अपमानजनक रूप से कम offer दिया, और धमकी दी कि अगर उन्होंने मना किया तो Microsoft अपना product बनाकर Brio को बर्बाद कर देगा. उन्होंने मना कर दिया, और बाद में MS ने Excel में pivot tables जोड़ दिए
लेख में Lotus का भी ज़िक्र है, और लगता है उन्होंने भी करीब उसी समय similar product बनाया था. Brio के founders Metaphor नाम की company से भी जुड़े थे, और शायद कुछ ideas वहीं से विकसित हुए होंगे
Brio product के साथ CEO के wine cellar की contents वाला sample database आता था, और वही data शुरुआती Microsoft Office boxes में भी दिखा था
हालांकि Stac के पास patents थे, और उसने lawyers लगाकर Microsoft पर patent infringement का मुकदमा किया. Microsoft भी आसानी से पीछे नहीं हटा, लेकिन court ने जब यह माना कि दोनों पक्षों को product ship करने के लिए license चाहिए, तब Stac बड़े OEM customers के पास गया और license offer किया
या तो patent license लेना था या product ship नहीं कर पाते; OEMs ने Microsoft पर दबाव डाला, जिससे Stac के लिए बुरा न होने वाला settlement हुआ. इसे software patents के competition में मदद करने के सबसे अच्छे examples में से एक मानता हूं
categorized data columns को aggregate करने का concept Brio Technology ने invent नहीं किया था
लेकिन मेरे हिसाब से बड़ी समस्या यह थी कि वह Lotus 123 का हिस्सा नहीं था. इसलिए जब Excel ने pivot table को सीधे spreadsheet के अंदर डाल दिया, तो वह कहीं ज़्यादा useful हो गया. कम से कम मेरे लिए तो ऐसा ही था
मैं engineer हूं और SQL से भी comfortable हूं, लेकिन Excel में जल्दी काम करने और on-the-fly pivot tables बनाने की क्षमता ने career में बहुत मदद की. खासकर जब मैं product और business management की ओर ज़्यादा बढ़ा
pivot tables कई dimensions के हिसाब से breakdown बहुत जल्दी देखने, उस analysis को इधर-उधर बदलकर देखने, और decisions तेज़ी से लेने में मदद करते हैं. अच्छी तरह defined domains के existing tools को छोड़ दें तो इसके बराबर चीज़ें ज्यादा नहीं हैं
Excel में click करने के मुकाबले मैं SQL queries बहुत तेज़ी से चला सकता हूं, और बाद में Excel sheet में सारी formatting दोबारा ठीक करने की तुलना में history से query copy-paste करना आसान है, इसलिए reproducibility भी बेहतर रहती है
लेकिन spreadsheet के data को database में ले जाने की मेहनत अक्सर जरूरत से ज्यादा होती है, इसलिए engineer के लिए भी pivot table इस्तेमाल करना बुरा विकल्प नहीं मानता
Pandas में इसे हमेशा इस्तेमाल करता हूं. अभी-अभी इससे जुड़ी class भी पढ़ाई; syntax समझ आने के बाद यह बहुत useful है
DuckDB जैसे समझदार tools ने इसकी usefulness और सामान्य SQL में इसे करने की मुश्किल को पहचानकर implementation में PIVOT जोड़ दिया. बहुत useful है
pivot_longerऔरpivot_widerहैं; अच्छा हो अगर Postgres में भी ऐसा कुछ आ जाएउम्मीद है हालात बेहतर हुए होंगे. pivot tables सच में useful हैं
यह SQL भी generate करता था, और उसी की वजह से मैंने थोड़ी SQL सीखी
इसलिए उत्सुकता है कि pivot table आखिर ठीक-ठीक है क्या। मैंने इसे न कभी इस्तेमाल किया है, न देखा है, और ब्राउज़र में embedded वीडियो भी लोड नहीं हुआ
इस लेख से बस इतना सीखा कि यह spreadsheet के अंदर डेटा दिखाने का आसान तरीका है, और शायद Lotus में इसका आविष्कार हुआ होगा
असल में यह क्या करता है और कैसे इस्तेमाल होता है, इसका मुझे अंदाज़ा भी नहीं है
निजी तौर पर, मुझे विरोधाभासपूर्ण ढंग से यह बहुत उपयोगी भी लगता है और पूरी तरह अव्यवस्थित भी
यह संभवतः pivot tables सामान्य रूप से कैसे होते हैं, उससे ज्यादा किसी खास implementation के बारे में बात है, लेकिन जैसे ही थोड़ा advanced काम करने की कोशिश करते हैं, अक्सर कमी महसूस होती है
कुछ उदाहरण दें तो Excel और Google Sheets दोनों में “values” बनने का तरीका अलग-अलग तरह से बहुत सीमित है
pivot table में filtering/sorting जिस तरह काम करता है, वह भी सबसे intuitive या flexible नहीं है
headers, style जैसे UI elements को control करना बहुत मुश्किल है, और pivot table बनाने के बाद अक्सर उसे कहीं और copy करके manually कई चीजें ठीक करनी पड़ती हैं। फिर वह dynamically update नहीं हो पाता, इसलिए उसका उद्देश्य कमजोर पड़ जाता है
मैं spreadsheet expert नहीं हूं, इसलिए हो सकता है मैं कुछ miss कर रहा होऊं
मुख्य रूप से raw data columns में unexpected values जल्दी खोजने के लिए इस्तेमाल करता हूं। हालांकि
=unique()जैसे spill formulas आने के बाद इस काम के लिए भी इन्हें कम इस्तेमाल कर रहा हूंमुझे लगता है कि जब लोग pivot tables से ज्यादा कुछ चाहते हैं, तो वे आम तौर पर असल में Power Query जैसी चीज़ मांग रहे होते हैं। capabilities पहले से मौजूद हैं, लेकिन बहुत से लोग उनसे डरते हैं। HN पर शायद ऐसा न हो, पर general user base में ऐसा है
यह मुझे इतना खटकता है कि मैंने खुद spreadsheet engine लिखने का फैसला किया, और जिन pain points को ठीक करना चाहता हूं उनमें यह भी एक है
सिर्फ headers पर click करके rows/columns का order बदला जा सकता है, और simple input से यह बताकर filter लगाया जा सकता है कि किन items को रखना है या exclude करना है
pivot tables निश्चित रूप से powerful हैं, लेकिन नाम अच्छा नहीं है, और Excel में UI को ठीक से संभालने में हमेशा थोड़ा समय लगता है
MacOS Numbers का Categories feature इस्तेमाल में कहीं ज्यादा आसान है, इसलिए पसंद है, लेकिन limits तक पहुंचने पर इसमें काफी परेशान करने वाली constraints हैं
आजकल complex कामों के लिए अक्सर spreadsheet को CSV में export करके CSVQ से SQL queries चलाना सबसे आसान होता है