Bu belgede, e-tabloda gösterilen verileri sıralamak ve filtrelemek için filtreleri kullanma hakkında bilgi verilmektedir.
Filtreler, bir e-tabloyu görüntülerken gördüğünüz verileri sıralamanıza ve filtrelemenize olanak tanır. Filtreler, e-tablonuzdaki veri değerlerini değiştirmez. Bilgileri geçici olarak gizlemek veya sıralamak için filtreleri kullanabilirsiniz. Belirtilen filtre ölçütleriyle eşleşen veriler, filtre etkinken görünmez. Filtre görünümleri ile farklı adlandırılmış filtreleri kaydedebilir ve istediğiniz zaman bunlar arasında geçiş yapabilirsiniz.
Google E-Tablolar API isteğinde döndürülen verileri filtrelemek için
DataFilter nesnesini kullanın. Daha fazla bilgi için Meta verileri okuma, yazma ve arama konusuna bakın.
Kullanım alanlarını filtreleme
Aşağıda, filtrelerin kullanım alanlarına ilişkin bazı örnekler verilmiştir:
- Verileri belirli bir sütuna göre sıralayın. Örneğin, kullanıcı kayıtlarını soyadına göre sıralayın.
- Belirli bir koşulu karşılayan verileri gizleme Örneğin, iki yıldan eski tüm kayıtları gizleyebilirsiniz.
- Belirli bir değerle eşleşen verileri gizleme. Örneğin, durumu "kapalı" olan tüm sorunları gizleyin.
Temel filtre
E-tablo için BasicFilter nesnesi, e-tabloyu görüntüleyen herkes için uygulanan varsayılan filtredir. Bir e-tabloda sayfa başına yalnızca bir temel filtre olabilir. Temel filtreyi temizleyerek kapatabilirsiniz. Bu işlem, filtreyi ve tüm ayarlarını elektronik tablodan kaldırır. Aynı filtreyi tekrar etkinleştirmek isterseniz ölçütleri yeniden ayarlamanız gerekir.
Temel filtreyi yönetme
Temel filtreyi ayarlamak veya temizlemek için uygun istek türüyle birlikte spreadsheets.batchUpdate yöntemini kullanın:
- Temel filtreyi ayarlamak için
SetBasicFilterRequestyöntemini kullanın. - Temel filtreyi temizlemek için
ClearBasicFilterRequestyöntemini kullanın.
Temel filtreyi listelemek için spreadsheets.get yöntemini kullanın ve fields URL parametresini sheets/basicFilter olarak ayarlayın. Aşağıdaki
spreadsheets.get kod örneğinde, alan maskesi içeren bir Google E-Tablolar URL'si gösterilmektedir:
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets/basicFilter
Filtre görünümleri
A
FilterView
istediğiniz zaman devre dışı bırakıp etkinleştirebileceğiniz adlandırılmış bir filtredir. Bir sayfada birden fazla filtre görünümü kaydedilebilir ancak aynı anda yalnızca birini uygulayabilirsiniz. Bir sayfada hem temel filtre hem de birden fazla filtre görünümü bulunabilir ancak aynı veri aralığında ikisini de aynı anda uygulayamazsınız.
Filtre görünümü kullanım alanları
Filtre görünümleriyle ilgili bazı örnek kullanım alanları:
- Verileri görüntülerken aralarında geçiş yapmak istediğiniz birkaç farklı filtreniz var.
- Bir e-tabloya düzenleme erişiminiz yok ancak yine de filtre uygulamak istiyorsunuz. Bu durumda, yalnızca sizin görebileceğiniz geçici bir filtre görünümü oluşturabilirsiniz.
E-tablonuzu paylaştığınız her kişinin verileri farklı şekilde görüntülemesini istiyorsanız. E-tablo URL'sinde
spreadsheetIdvefilterViewIddeğerlerini sağlayarak uygulamak istediğiniz filtre görünümünü belirtebilirsiniz. Bunu yapmak için filtre görünümünü oluştururken yanıtta döndürülenfilterViewIdöğesini kullanın.Aşağıdaki kod örneğinde, filtre görünümü içeren bir E-Tablolar URL'si gösterilmektedir:
https://docs.google.com/spreadsheets/d/SPREADSHEET_ID/edit#gid=0&fvid=FILTER_VIEW_ID
Filtre görünümlerini yönetme
Filtre görünümleri oluşturmak, çoğaltmak, değiştirmek veya silmek için uygun istek türüne sahip spreadsheets.batchUpdate yöntemini kullanın:
- Filtre görünümü oluşturmak için
AddFilterViewRequestyöntemini kullanın. - Bir filtre görünümünün kopyasını oluşturmak için
DuplicateFilterViewRequestyöntemini kullanın. - Bir filtre görünümünün özelliklerini değiştirmek için
UpdateFilterViewRequestyöntemini kullanın. - Filtre görünümünü silmek için
DeleteFilterViewRequestyöntemini kullanın.
Tüm filtre görünümlerinizi listelemek için
spreadsheets.get
yöntemini kullanın ve fields URL parametresini sheets/filterViews olarak ayarlayın. Aşağıdaki spreadsheets.get kod örneğinde, field_mask içeren bir E-Tablolar URL'si gösterilmektedir:
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets/filterViews
Filtrenin JSON gösterimi
Aşağıdaki kod örneğinde, bir FilterView nesnesinin JSON gösterimi yer almaktadır. BasicFilter
nesnesi, filterViewId ve title alanlarının olmaması ve adlandırılmış aralık kullanamaması dışında aynıdır.
{
"filterViewId": number,
"title": string,
"range": {
object(GridRange)
},
"namedRangeId": string,
"sortSpecs": [
{
object(SortSpec)
}
],
"criteria": {
string: {
object(FilterCriteria)
},
...
}
}
Örnek satış verileri
Bu belgenin geri kalanında aşağıdaki örnek satış verileri tablosuna referans verilmektedir:
| A | B | C | D | E | F | G | |
| 1 | Öğe Kategorisi | Model Numarası | Maliyet | Miktar | Bölge | Satış görevlisi | Kargo Tarihi |
| 2 | Tekerlek | W-24 | 20,50 ABD doları | 4 | Batı | Beth | 01.03.2016 |
| 3 | Kapı | D-01X | 15 TL | 2 | Güney | Amir | 15.03.2016 |
| 4 | Çerçeve | FR-0B1 | 34,00 ABD doları | 8 | Doğu | Hannah | 12.03.2016 |
| 5 | Panel | P-034 | 6,00 ABD doları | 4 | Kuzey | Devyn | 15.03.2016 |
| 6 | Panel | P-052 | 11,50 ABD doları | 7 | Doğu | Erik | 16.05.2016 |
| 7 | Tekerlek | W-24 | 20,50 ABD doları | 11 | Güney | Sheldon | 30.04.2016 |
| 8 | Motor | ENG-0161 | $330,00 | 2 | Kuzey | Jessie | 02.07.2016 |
Sıralama özellikleri
Bir filtrede birden fazla sıralama özelliği olabilir. Bu özellikler, verilerin nasıl sıralanacağını belirler ve belirtilen sırayla uygulanır. SortSpec.dimensionIndex özelliği, sıralamanın uygulanması gereken sütun dizinini belirtir.
Aşağıdaki kod örneğinde bir sıralama belirtimi gösterilmektedir:
[
{
"dimensionIndex": 3,
"sortOrder": "ASCENDING"
},
{
"dimensionIndex": 6,
"sortOrder": "ASCENDING"
}
]
Bu spesifikasyon, örnek satış verilerine uygulandığında önce "Miktar" sütununa göre sıralama yapar. Ardından, iki satırın miktarı aynıysa "Gönderim Tarihi"ne göre sıralama yapar.
| A | B | C | D | E | F | G | |
| 1 | Öğe Kategorisi | Model Numarası | Maliyet | Miktar | Bölge | Satış görevlisi | Kargo Tarihi |
| 2 | Kapı | D-01X | 15 TL | 2 | Güney | Amir | 15.03.2016 |
| 3 | Motor | ENG-0161 | $330,00 | 2 | Kuzey | Jessie | 02.07.2016 |
| 4 | Tekerlek | W-24 | 20,50 ABD doları | 4 | Batı | Beth | 01.03.2016 |
| 5 | Panel | P-034 | 6,00 ABD doları | 4 | Kuzey | Devyn | 15.03.2016 |
| 6 | Panel | P-052 | 11,50 ABD doları | 7 | Doğu | Erik | 16.05.2016 |
| 7 | Çerçeve | FR-0B1 | 34,00 ABD doları | 8 | Doğu | Hannah | 12.03.2016 |
| 8 | Tekerlek | W-24 | 20,50 ABD doları | 11 | Güney | Sheldon | 30.04.2016 |
Filtre ölçütleri
FilterCriteria
nesnesi, temel filtrede veya filtre görünümünde hangi e-tablo verilerinin gösterileceğini ya da gizleneceğini belirler. Her ölçüt, belirli bir sütundaki değerlere bağlıdır. Filtre ölçütlerini, anahtarların sütun dizinleri ve değerlerin ölçütler olduğu bir harita olarak sağlarsınız.
Boole condition kullanılarak belirtilen ölçütler için değerlerin gösterilmesi amacıyla koşul true olmalıdır. Koşul, hiddenValues değerini geçersiz kılmıyor.
Bir değer hiddenValues altında listeleniyorsa değerle ilgili tüm eşleşmeler yine gizlenir.
Aşağıdaki kod örneğinde bir filtre ölçütü haritası gösterilmektedir:
{
0: {
'hiddenValues': ['Panel']
},
6: {
'condition': {
'type': 'DATE_BEFORE',
'values': {
'userEnteredValue': '4/30/2016'
}
}
}
}
Bu ölçüt, örnek satış verilerine uygulandığında yalnızca "Öğe Kategorisi" sütun değerinin "Panel" olmadığı ve "Gönderim Tarihi" sütun değerinin "30 Nisan 2016"dan önce olduğu satırları gösterir.
| A | B | C | D | E | F | G | |
| 1 | Öğe Kategorisi | Model Numarası | Maliyet | Miktar | Bölge | Satış görevlisi | Kargo Tarihi |
| 2 | Tekerlek | W-24 | 20,50 ABD doları | 4 | Batı | Beth | 01.03.2016 |
| 3 | Kapı | D-01X | 15 TL | 2 | Güney | Amir | 15.03.2016 |
| 4 | Çerçeve | FR-0B1 | 34,00 ABD doları | 8 | Doğu | Hannah | 12.03.2016 |
Filtre görünümü kod örneği
Aşağıdaki kod örneğinde, filtre görünümü oluşturma, filtre görünümünü çoğaltma ve ardından örnek satış verilerini kullanarak çoğaltılan sürümü güncelleme işlemleri gösterilmektedir.