पिवट टेबल

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 सेटिंग एक जैसी हैं.
  • पंक्तियों के दो ग्रुप (आइटम की कैटगरी और मॉडल नंबर). पहला इसमें है "वेस्ट" से कुल संख्या की बढ़ते क्रम वाली वैल्यू क्षेत्र. इसलिए, "इंजन" (बिना पश्चिम बिक्री के) "दरवाज़े" के ऊपर दिखता है (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
      }
    }
  ],
}