Google Sheets API का इस्तेमाल करके, स्प्रेडशीट में पिवट टेबल बनाई जा सकती हैं और उन्हें अपडेट किया जा सकता है. इस पेज पर दिए गए उदाहरणों से पता चलता है कि आम तौर पर होने वाली पिवट टेबल कैसे हासिल की जा सकती है कार्रवाइयां करने के लिए, Sheets API का इस्तेमाल करें.
ये उदाहरण, भाषा के तौर पर एचटीटीपी अनुरोधों के तौर पर दिखाए गए हैं न्यूट्रल. बैच अपडेट को अलग-अलग भाषाओं में लागू करने का तरीका जानने के लिए तो Google API क्लाइंट लाइब्रेरी देखने के लिए, अपडेट करें स्प्रेडशीट.
इन उदाहरणों में, SPREADSHEET_ID
और SHEET_ID
प्लेसहोल्डर
बताता है कि आपको वे आईडी कहां देने हैं. आपको स्प्रेडशीट
आईडी के तौर पर डालें. आपको ये चीज़ें मिल सकती हैं
शीट आईडी को ढूंढने के लिए
spreadsheets.get
तरीका. कॉन्टेंट बनाने
रेंज, A1 नोटेशन का इस्तेमाल करके तय की जाती हैं. अगर आप
उदाहरण के लिए, रेंज Sheet1!A1:D5 है.
इसके अलावा, प्लेसहोल्डर SOURCE_SHEET_ID
आपकी शीट को दिखाता है
का विकल्प चुना जा सकता है. इन उदाहरणों में, यह पिवट
टेबल सोर्स का डेटा.
पिवट टेबल के सोर्स का डेटा
इन उदाहरणों के लिए, मान लें कि इस्तेमाल की जा रही स्प्रेडशीट में नीचे दिया गया सोर्स है "बिक्री" डेटा की पहली शीट ("Sheet1") में. पहली पंक्ति में ये स्ट्रिंग हैं लेबल जोड़ें. किसी दूसरे सोर्स से पढ़ने के तरीके के उदाहरण देखने के लिए अपनी स्प्रेडशीट में शीट के तौर पर, A1 नोटेशन देखें.
A | B | C | D | E | F | G | |
1 | आइटम की कैटगरी | मॉडल नंबर | लागत | संख्या | क्षेत्र | सेल्सपर्सन | भेजने की तारीख |
2 | पहिया | W-24 | 20.50 डॉलर | 4 | पश्चिम | बेथ | 1/3/2016 |
3 | दरवाज़ा | D-01X | 15.00 डॉलर | 2 | दक्षिण | आमिर | 15/3/2016 |
4 | इंजन | ENG-0134 | INR4500.00 | 1 | उत्तरी | Carmen | 20/3/2016 |
5 | फ़्रेम | फ़्रेंच-0B1 | 34.00 डॉलर | 8 | पूर्व | हाना | 12/3/2016 |
6 | पैनल | P-034 | INR270 | 4 | उत्तरी | Devyn | 2/4/2016 |
7 | पैनल | P-052 | 11.50 डॉलर | 7 | पूर्व | एरिक | 16/5/2016 |
8 | पहिया | W-24 | 20.50 डॉलर | 11 | दक्षिण | Sheldon | 30/4/2016 |
9 | इंजन | ENG-0161 | 330.00 डॉलर | 2 | उत्तरी | जेसी | 2/7/2016 |
10 | दरवाज़ा | D-01Y | 29.00 डॉलर | 6 | पश्चिम | Armando | 13/3/2016 |
11 | फ़्रेम | फ़्रेंच-0B1 | 34.00 डॉलर | 9 | दक्षिण | Yuliana | 27/2/2016 |
12 | पैनल | P-102 | 3.00 डॉलर | 15 | पश्चिम | Carmen | 18/4/2016 |
13 | पैनल | P-105 | 8.25 डॉलर | 13 | पश्चिम | जेसी | 20/6/2016 |
14 | इंजन | ENG-0211 | 283.00 डॉलर | 1 | उत्तरी | आमिर | 21/6/2016 |
15 | दरवाज़ा | D-01X | 15.00 डॉलर | 2 | पश्चिम | Armando | 3/7/2016 |
16 | फ़्रेम | फ़्रेंच-0B1 | 34.00 डॉलर | 6 | दक्षिण | Carmen | 15/7/2016 |
17 | पहिया | W-25 | 20.00 डॉलर | 8 | दक्षिण | हाना | 2/5/2016 |
18 | पहिया | W-11 | 29.00 डॉलर | 13 | पूर्व | एरिक | 19/5/2016 |
19 | दरवाज़ा | D-05 | 17.70 डॉलर | 7 | पश्चिम | बेथ | 28/6/2016 |
20 | फ़्रेम | फ़्रेंच-0B1 | 34.00 डॉलर | 8 | उत्तरी | Sheldon | 30/3/2016 |
पिवट टेबल जोड़ना
नीचे दिए गए
spreadsheets.batchUpdate
कोड सैंपल, एक ही फ़ाइल में
UpdateCellsRequest
सोर्स डेटा से पिवट टेबल बनाने के लिए, इसे सेल A50 पर ऐंकर किया गया है
SHEET_ID
द्वारा निर्दिष्ट शीट.
अनुरोध, पिवट टेबल को इन प्रॉपर्टी के साथ कॉन्फ़िगर करता है:
- एक वैल्यू ग्रुप (संख्या) जो बिक्री की संख्या दिखाता है. से
वैल्यू का सिर्फ़ एक ग्रुप है, यानी 2
valueLayout
सेटिंग एक जैसी हैं. - पंक्तियों के दो ग्रुप (आइटम की कैटगरी और मॉडल नंबर). पहला इसमें है
"West" कॉलम में, कुल संख्या की बढ़ते क्रम वाली वैल्यू क्षेत्र. इसलिए,
"इंजन" (बिना पश्चिम बिक्री के) "दरवाज़े" के ऊपर दिखता है (15 वेस्ट सेल के साथ). कॉन्टेंट बनाने
मॉडल नंबर ग्रुप, सभी सेल में कुल बिक्री के घटते क्रम में लगाया जाता है
क्षेत्र, इसलिए "W-24" (15 बिक्री) "W-25" से ऊपर दिखता है (8 बिक्री). यह हो गया
इसके लिए,
valueBucket
{}
के लिए फ़ील्ड. - एक कॉलम ग्रुप (क्षेत्र) जिसमें, ज़्यादातर बिक्री के बढ़ते क्रम में क्रम से लगाया जाता है.
फिर से,
valueBucket
को{}
पर सेट किया गया. "उत्तरी" की कुल बिक्री सबसे कम है और इसलिए, यह पहले क्षेत्र कॉलम के तौर पर दिखेगा.
अनुरोध का प्रोटोकॉल नीचे दिखाया गया है.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "updateCells": { "rows": [ { "values": [ { "pivotTable": { "source": { "sheetId":SOURCE_SHEET_ID
, "startRowIndex": 0, "startColumnIndex": 0, "endRowIndex": 20, "endColumnIndex": 7 }, "rows": [ { "sourceColumnOffset": 0, "showTotals": true, "sortOrder": "ASCENDING", "valueBucket": { "buckets": [ { "stringValue": "West" } ] } }, { "sourceColumnOffset": 1, "showTotals": true, "sortOrder": "DESCENDING", "valueBucket": {} } ], "columns": [ { "sourceColumnOffset": 4, "sortOrder": "ASCENDING", "showTotals": true, "valueBucket": {} } ], "values": [ { "summarizeFunction": "SUM", "sourceColumnOffset": 3 } ], "valueLayout": "HORIZONTAL" } } ] } ], "start": { "sheetId":SHEET_ID
, "rowIndex": 49, "columnIndex": 0 }, "fields": "pivotTable" } } ] }
अनुरोध, इस तरह की पिवट टेबल बनाता है:
आपके दिए गए फ़ॉर्मूला के आधार पर तैयार की गई वैल्यू के साथ पिवट टेबल जोड़ना
नीचे दिए गए
spreadsheets.batchUpdate
कोड सैंपल, एक ही फ़ाइल में
UpdateCellsRequest
अगर आपको सोर्स डेटा से, कैलकुलेट की गई वैल्यू के ग्रुप वाली पिवट टेबल बनानी है, तो
इसे SHEET_ID
के ज़रिए तय की गई शीट के सेल A50 में ऐंकर करें.
अनुरोध, पिवट टेबल को इन प्रॉपर्टी के साथ कॉन्फ़िगर करता है:
- वैल्यू के दो ग्रुप (संख्या और कुल कीमत). पहला यह बताता है कि
बिक्री की संख्या. दूसरा मान है, जो
इस फ़ॉर्मूला का उपयोग करके, भाग की लागत और उसकी बिक्री की कुल संख्या:
=Cost*SUM(Quantity)
. - तीन पंक्तियों के ग्रुप (आइटम की कैटगरी, मॉडल नंबर, और कीमत).
- एक कॉलम ग्रुप (इलाका).
- पंक्ति और कॉलम के हर ग्रुप को संख्या के बजाय नाम के हिसाब से क्रम में लगाया जाता है
ग्रुप में, टेबल को वर्णमाला के क्रम में लिखा जाएगा. ऐसा करने के लिए,
valueBucket
फ़ील्ड मेंPivotGroup
. - टेबल के दिखने का तरीका आसान बनाने के लिए, अनुरोध सबटोटल को छिपा देता है के अलावा सभी कॉलम में शामिल किए जा सकते हैं.
- अनुरोध
valueLayout
सेट करता है टेबल के लुक को बेहतर बनाने के लिए,VERTICAL
किया गया. सिर्फ़valueLayout
ज़रूरी है, अगर दो या उससे ज़्यादा वैल्यू ग्रुप हों.
अनुरोध का प्रोटोकॉल नीचे दिखाया गया है.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "updateCells": { "rows": [ { "values": [ { "pivotTable": { "source": { "sheetId":SOURCE_SHEET_ID
, "startRowIndex": 0, "startColumnIndex": 0, "endRowIndex": 20, "endColumnIndex": 7 }, "rows": [ { "sourceColumnOffset": 0, "showTotals": true, "sortOrder": "ASCENDING" }, { "sourceColumnOffset": 1, "showTotals": false, "sortOrder": "ASCENDING", }, { "sourceColumnOffset": 2, "showTotals": false, "sortOrder": "ASCENDING", } ], "columns": [ { "sourceColumnOffset": 4, "sortOrder": "ASCENDING", "showTotals": true } ], "values": [ { "summarizeFunction": "SUM", "sourceColumnOffset": 3 }, { "summarizeFunction": "CUSTOM", "name": "Total Price", "formula": "=Cost*SUM(Quantity)" } ], "valueLayout": "VERTICAL" } } ] } ], "start": { "sheetId":SHEET_ID
, "rowIndex": 49, "columnIndex": 0 }, "fields": "pivotTable" } } ] }
अनुरोध, इस तरह की पिवट टेबल बनाता है:
पिवट टेबल मिटाना
नीचे दिए गए
spreadsheets.batchUpdate
कोड सैंपल, एक ही फ़ाइल में
UpdateCellsRequest
अगर शीट में A50 सेल मौजूद है, तो पिवट टेबल को मिटाने के लिए
SHEET_ID
द्वारा दर्ज.
UpdateCellsRequest
"pivotTable" शामिल करके पिवट टेबल को हटा सकता है इंच
fields
पैरामीटर, जबकि ऐंकर के pivotTable
फ़ील्ड को भी छोड़ा जा सकता है
सेल.
अनुरोध का प्रोटोकॉल नीचे दिखाया गया है.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{
"requests": [
{
"updateCells": {
"rows": [
{
"values": [
{}
]
}
],
"start": {
"sheetId": SHEET_ID
,
"rowIndex": 49,
"columnIndex": 0
},
"fields": "pivotTable"
}
}
]
}
पिवट टेबल के कॉलम और पंक्तियों में बदलाव करें
नीचे दिए गए
spreadsheets.batchUpdate
कोड सैंपल, एक ही फ़ाइल में
UpdateCellsRequest
पिवट टेबल जोड़ें में बनाई गई पिवट टेबल में बदलाव करने के लिए.
इसके सबसेट
pivotTable
फ़ील्ड में
CellData
संसाधन
fields
पैरामीटर से अलग-अलग नहीं बदला जा सकता. संपादन करने के लिए,
पूरा pivotTable
फ़ील्ड देना ज़रूरी है. पिवट टेबल में बदलाव करना
इसे एक नए से बदलना होगा.
अनुरोध करने पर, ओरिजनल पिवट टेबल में ये बदलाव किए जाते हैं:
- मूल पिवट टेबल (मॉडल नंबर) से दूसरी पंक्ति के ग्रुप को हटाता है.
- एक कॉलम ग्रुप (सेल्सपर्सन) को जोड़ता है. कॉलम इसके अनुसार घटते क्रम में लगाए जाते हैं पैनल से हुई बिक्री की कुल संख्या. "कारमेन" (15 पैनल बिक्री) "जेसी" की बाईं ओर (13 पैनल बिक्री).
- "पश्चिम" को छोड़कर, इसे छिपाकर हर क्षेत्र के कॉलम को छोटा करता है
उस क्षेत्र के लिए सेल्सपर्सन ग्रुप. ऐसा करने के लिए,
collapsed
को इस पर सेट करेंtrue
valueMetadata
क्षेत्र कॉलम ग्रुप में, उस कॉलम के लिए.
अनुरोध का प्रोटोकॉल नीचे दिखाया गया है.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "updateCells": { "rows": [ { "values": [ { "pivotTable": { "source": { "sheetId":SOURCE_SHEET_ID
, "startRowIndex": 0, "startColumnIndex": 0, "endRowIndex": 20, "endColumnIndex": 7 }, "rows": [ { "sourceColumnOffset": 0, "showTotals": true, "sortOrder": "ASCENDING", "valueBucket": { "buckets": [ { "stringValue": "West" } ] } } ], "columns": [ { "sourceColumnOffset": 4, "sortOrder": "ASCENDING", "showTotals": true, "valueBucket": {}, "valueMetadata": [ { "value": { "stringValue": "North" }, "collapsed": true }, { "value": { "stringValue": "South" }, "collapsed": true }, { "value": { "stringValue": "East" }, "collapsed": true } ] }, { "sourceColumnOffset": 5, "sortOrder": "DESCENDING", "showTotals": false, "valueBucket": { "buckets": [ { "stringValue": "Panel" } ] }, } ], "values": [ { "summarizeFunction": "SUM", "sourceColumnOffset": 3 } ], "valueLayout": "HORIZONTAL" } } ] } ], "start": { "sheetId":SHEET_ID
, "rowIndex": 49, "columnIndex": 0 }, "fields": "pivotTable" } } ] }
अनुरोध, इस तरह की पिवट टेबल बनाता है:
पिवट टेबल का डेटा पढ़ें
नीचे दिए गए
spreadsheets.get
कोड सैंपल
स्प्रेडशीट से पिवट टेबल का डेटा हासिल करने का तरीका दिखाता है. fields
क्वेरी
पैरामीटर से पता चलता है कि सिर्फ़ पिवट टेबल का डेटा दिखाया जाना चाहिए (
सेल वैल्यू डेटा के विपरीत).
अनुरोध का प्रोटोकॉल नीचे दिखाया गया है.
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
?fields=sheets(properties.sheetId,data.rowData.values.pivotTable)
इसके जवाब में
Spreadsheet
संसाधन होता है, जिसमें
Sheet
ऑब्जेक्ट,
SheetProperties
एलिमेंट. आपको सुझाव देने वाले सिस्टम में,
GridData
इसके बारे में जानकारी वाले एलिमेंट
PivotTable
.
पिवट टेबल की जानकारी, शीट की
CellData
संसाधन
इसका मतलब है कि उस सेल पर जहां टेबल लगी है (इसका मतलब है कि टेबल के सबसे ऊपर बाईं ओर
कोना). अगर जवाब फ़ील्ड डिफ़ॉल्ट वैल्यू पर सेट है, तो उसे
जवाब.
इस उदाहरण में, पहली शीट (SOURCE_SHEET_ID
) में रॉ टेबल है
सोर्स डेटा है, जबकि दूसरी शीट (SHEET_ID
) में पिवट टेबल है,
B3 पर ऐंकर किया गया है. खाली कर्ली ब्रैकेट, उन शीट या सेल को दिखाते हैं जो
पिवट टेबल का डेटा शामिल नहीं होता. रेफ़रंस के लिए, यह अनुरोध शीट भी दिखाता है
आईडी.
{ "sheets": [ { "data": [{}], "properties": { "sheetId":SOURCE_SHEET_ID
} }, { "data": [ { "rowData": [ {}, {}, { "values": [ {}, { "pivotTable": { "columns": [ { "showTotals": true, "sortOrder": "ASCENDING", "sourceColumnOffset": 4, "valueBucket": {} } ], "rows": [ { "showTotals": true, "sortOrder": "ASCENDING", "valueBucket": { "buckets": [ { "stringValue": "West" } ] } }, { "showTotals": true, "sortOrder": "DESCENDING", "valueBucket": {}, "sourceColumnOffset": 1 } ], "source": { "sheetId":
SOURCE_SHEET_ID
, "startColumnIndex": 0, "endColumnIndex": 7, "startRowIndex": 0, "endRowIndex": 20 }, "values": [ { "sourceColumnOffset": 3, "summarizeFunction": "SUM" } ] } } ] } ] } ], "properties": { "sheetId":
SHEET_ID
} } ], }