Google E-Tablolar API'sı, e-tablolarda pivot tablolar oluşturmanıza ve bunları güncellemenize olanak tanır. Bu sayfadaki örnekler, bazı ortak pivot tabloları nasıl .
Bu örnekler, HTTP istekleri şeklinde sunulur. nötr. Bir toplu güncellemeyi farklı dillerde nasıl uygulayacağınızı öğrenmek için hakkında daha fazla bilgi edinmek için Güncelleme e-tablolar gibi).
Bu örneklerde SPREADSHEET_ID
ve SHEET_ID
yer tutucuları
bu kimlikleri nereye sağlayacağınızı belirtir. E-tabloyu
kimliği ekleyin. Şundan faydalanabilirsiniz:
sayfa kimliğini değiştirmek için
spreadsheets.get
yöntemini kullanabilirsiniz. İlgili içeriği oluşturmak için kullanılan
aralıklar A1 gösterimi kullanılarak belirtilir.
örnek aralık Sayfa1!A1:D5'tir.
Ayrıca, SOURCE_SHEET_ID
yer tutucusu, sayfanızı belirtir
kaynak verilerle karşılaştırabilirsiniz. Bu örneklerde Pivot tablo altında listelenen tablo
tablo kaynak verileri.
Pivot tablo kaynak verileri
Bu örnekler için, kullanılan e-tablonun aşağıdaki kaynağa sahip olduğunu varsayalım "satış" verilerini ("Sayfa1") kapsar. İlk satırdaki dizeler her bir sütun için ayrı ayrı etiketler oluşturabilirsiniz. Diğer kaynaklardan nasıl okuyacağınıza dair tablolarında A1 gösterimine bakın.
A | B | C | D | E | F | Y | |
1 | Öğe Kategorisi | Model Numarası | Maliyet | Miktar | Bölge | Satış görevlisi | Gönderim Tarihi |
2 | Tekerlek | W-24 | 20,50 TL | 4 | Batı | Banu | 01.03.2016 |
3 | Kapı | D-01X | 15 TL | 2 | Güney | Emir | 15.03.2016 |
4 | Motor | ENG-0134 | 100,00 TL | 1 | Kuzey | Carmen | 20.03.2016 |
5 | Çerçeve | FR-0B1 | 34,00 TL | 8 | Doğu | Hannah | 12.03.2016 |
6 | Panel | P-034 | 6,00 ABD doları | 4 | Kuzey | Devyn | 02.04.2016 |
7 | Panel | P-052 | 11,50 TL | 7 | Doğu | Eren | 16.05.2016 |
8 | Tekerlek | W-24 | 20,50 TL | 11 | Güney | Sheldon | 30.04.2016 |
9 | Motor | ENG-0161 | 330,00 ABD doları | 2 | Kuzey | Jale | 02.07.2016 |
10 | Kapı | G-01Y | 29,00 TL | 6 | Batı | Armando | 13.03.2016 |
11 | Çerçeve | FR-0B1 | 34,00 TL | 9 | Güney | Yuliana | 27.02.2016 |
12 | Panel | P-102 | 3,00 ABD doları | 15 | Batı | Carmen | 18.04.2016 |
13 | Panel | P-105 | 8,25 TL | 13 | Batı | Jale | 20.06.2016 |
14 | Motor | ENG-0211 | 283,00 ABD doları | 1 | Kuzey | Emir | 21.06.2016 |
15 | Kapı | D-01X | 15 TL | 2 | Batı | Armando | 03.07.2016 |
16 | Çerçeve | FR-0B1 | 34,00 TL | 6 | Güney | Carmen | 15.07.2016 |
17 | Tekerlek | W-25 | 20,00 TL | 8 | Güney | Hannah | 02.05.2016 |
18 | Tekerlek | W-11 | 29,00 TL | 13 | Doğu | Eren | 19.05.2016 |
19 | Kapı | D-05 | 17,70 TL | 7 | Batı | Banu | 28.06.2016 |
20 | Çerçeve | FR-0B1 | 34,00 TL | 8 | Kuzey | Sheldon | 30.03.2016 |
Pivot tablo ekleme
Aşağıdakiler
spreadsheets.batchUpdate
kod örneği,
UpdateCellsRequest
Böylece, kaynak verilerden bir pivot tablo oluşturabilir ve bu tabloyu A50 hücresine
SHEET_ID
tarafından belirtilen sayfa.
İstek, pivot tabloyu aşağıdaki özelliklerle yapılandırır:
- Satış sayısını gösteren bir değer grubu (Miktar). Başlangıç
yalnızca bir değer grubu vardır, 2 olası
valueLayout
eşdeğerdir. - İki satır grubu (Öğe Kategorisi ve Model Numarası). İlk sıralama
toplam Miktar'ın "Batı"dan artan değeri Bölge. Dolayısıyla,
"Motor" (Batı satışları olmadan) "Kapı"nın üzerinde görünür (Batı'da 15 satış). İlgili içeriği oluşturmak için kullanılan
Model Numarası grubu, tüm satışları azalan düzende sıralar
bölgeleri, yani "W-24" "W-25"in üzerinde (15 satış) görünür (8 satış). Bu işlem tamamlandı
ayarlayarak
valueBucket
alanını{}
değerine ayarlayın. - En çok satışa göre artan düzende sıralayan bir sütun grubu (Bölge).
Yine
valueBucket
,{}
olarak ayarlandı. "Kuzey" en düşük toplam satışa sahiptir ve Bu nedenle ilk Bölge sütunu olarak görünür.
İstek protokolü aşağıda gösterilmiştir.
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" } } ] }
İstek, aşağıdaki gibi bir pivot tablo oluşturur:
Hesaplanmış değerlere sahip bir pivot tablo ekleme
Aşağıdakiler
spreadsheets.batchUpdate
kod örneği,
UpdateCellsRequest
kaynak verilerden hesaplanan değerler grubuyla bir pivot tablo oluşturmak için
SHEET_ID
tarafından belirtilen sayfanın A50 hücresine sabitlenir.
İstek, pivot tabloyu aşağıdaki özelliklerle yapılandırır:
- İki değer grubu (quantity ve Total Price). İlki,
sayısını artırır. İkincisi, a
parçasının maliyetini ve toplam satış sayısını hesaplarken, şu formülü kullanın:
=Cost*SUM(Quantity)
- Üç satır grubu (Öğe Kategorisi, Model Numarası ve Maliyet).
- Bir sütun grubu (Bölge).
- Satır ve sütun grupları her birinde ada göre (Miktar yerine) sıralanır
alfabetik olarak sıralar. Bu,
valueBucket
alanındanPivotGroup
. - Tablo görünümünü basitleştirmek için istek, ara toplamları gizler topluca düzenlemeniz önerilir.
- İstek
valueLayout
daha iyi tablo görünümü içinVERTICAL
.valueLayout
yalnızca varsayımları büyük önem taşır.
İstek protokolü aşağıda gösterilmiştir.
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" } } ] }
İstek, aşağıdaki gibi bir pivot tablo oluşturur:
Pivot tablo silme
Aşağıdakiler
spreadsheets.batchUpdate
kod örneği,
UpdateCellsRequest
sayfanın A50 hücresine bağlı bir pivot tabloyu (varsa) silmek için
SHEET_ID
tarafından belirtildi.
UpdateCellsRequest
, "pivotTable" ifadesini ekleyerek bir pivot tabloyu kaldırabilir inç
fields
parametresini belirtirken çapadaki pivotTable
alanı da çıkarılır
hücresi
İstek protokolü aşağıda gösterilmiştir.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{
"requests": [
{
"updateCells": {
"rows": [
{
"values": [
{}
]
}
],
"start": {
"sheetId": SHEET_ID
,
"rowIndex": 49,
"columnIndex": 0
},
"fields": "pivotTable"
}
}
]
}
Pivot tablo sütunlarını ve satırlarını düzenleme
Aşağıdakiler
spreadsheets.batchUpdate
kod örneği,
UpdateCellsRequest
Pivot tablo ekle bölümünde oluşturulan pivot tabloyu düzenlemek için kullanılır.
Şunun alt kümeleri:
pivotTable
alanındaki
CellData
kaynak
fields
parametresiyle tek tek değiştirilemez. Düzenleme yapmak için
tüm pivotTable
alanı sağlanmalıdır. Özetle, bir pivot tabloyu düzenlemek
bunun yerine yenisiyle değiştirilmesi gerekir.
İstek, orijinal pivot tabloda aşağıdaki değişiklikleri yapar:
- İkinci satır grubunu orijinal pivot tablodan kaldırır (Model Numarası).
- Bir sütun grubu (Satış görevlisi) ekler. Sütunlar aşağıdakine göre azalan düzende sıralanır Panel satışlarının toplam sayısıdır. "Carmen" (15 Panel satış) "Jessie"nin solu (13 Panel satışları).
- "Batı" dışındaki her Bölge için sütunu daraltarak
Satış görevlisi grubu. Bu işlem,
collapsed
öğesinintrue
valueMetadata
o sütun için Bölge sütun grubunda yer alır.
İstek protokolü aşağıda gösterilmiştir.
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" } } ] }
İstek, aşağıdaki gibi bir pivot tablo oluşturur:
Pivot tablo verilerini okuma
Aşağıdakiler
spreadsheets.get
kod örneği
, bir e-tablodan pivot tablo verilerinin nasıl alınacağını gösterir. fields
sorgusu
parametresi, yalnızca pivot tablo verilerinin döndürülmesi gerektiğini belirtir (
(hücre değeri verileri yerine).
İstek protokolü aşağıda gösterilmiştir.
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
?fields=sheets(properties.sheetId,data.rowData.values.pivotTable)
Yanıt,
Spreadsheet
bulunan bir
Sheet
nesnesi
SheetProperties
öğeler. Ayrıca kendi ülkesinde
GridData
öğe hakkında bilgi içeren öğeler
PivotTable
.
Pivot tablo bilgileri, sayfanın
CellData
kaynak
tablo sabit olduğu hücreye (yani tablonun sol üst
. Bir yanıt alanı varsayılan değere ayarlanırsa
tıklayın.
Bu örnekte, ilk sayfada (SOURCE_SHEET_ID
) işlenmemiş tablo bulunuyor
kaynak veride, ikinci sayfada (SHEET_ID
) ise pivot tablo bulunur ve
bir hedef koymaktır. Boş küme ayraçları, bu işlemi yapmayan sayfaları veya hücreleri
Pivot tablo verilerini içerebilir. Bu istek, referans olarak şu e-tabloyu da döndürür:
Kimlikler.
{ "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
} } ], }