In diesem Dokument geht es darum, wie Sie Filter verwenden, um die in einer Tabelle angezeigten Daten zu sortieren und zu filtern.
Mit Filtern können Sie die Daten sortieren und filtern, die beim Aufrufen einer Tabelle angezeigt werden. Durch Filter werden die Datenwerte in Ihrer Tabelle nicht geändert. Mit Filtern können Sie Informationen vorübergehend ausblenden oder sortieren. Daten, die den angegebenen Filterkriterien entsprechen, werden nicht angezeigt, solange der Filter aktiv ist. Mit Filteransichten können Sie auch verschiedene benannte Filter speichern und jederzeit zwischen ihnen wechseln.
Wenn Sie die in einer Google Sheets API-Anfrage zurückgegebenen Daten filtern möchten, verwenden Sie das Objekt DataFilter. Weitere Informationen finden Sie unter Metadaten lesen, schreiben und durchsuchen.
Anwendungsfälle filtern
Hier einige Beispiele für Anwendungsfälle für Filter:
- Daten nach einer bestimmten Spalte sortieren Sie können beispielsweise Nutzerdatensätze nach Nachname sortieren.
- Daten ausblenden, die eine bestimmte Bedingung erfüllen. Sie können beispielsweise alle Einträge ausblenden, die älter als zwei Jahre sind.
- Daten ausblenden, die einem bestimmten Wert entsprechen. Blenden Sie beispielsweise alle Probleme mit dem Status „Geschlossen“ aus.
Einfacher Filter
Das BasicFilter-Objekt für eine Tabelle ist der Standardfilter, der immer angewendet wird, wenn jemand die Tabelle aufruft. Eine Tabelle kann nur einen einfachen Filter pro Tabellenblatt haben. Sie können den einfachen Filter deaktivieren, indem Sie ihn entfernen. Dadurch werden der Filter und alle zugehörigen Einstellungen aus der Tabelle entfernt. Wenn Sie denselben Filter wieder aktivieren möchten, müssen Sie die Kriterien noch einmal festlegen.
Einfachen Filter verwalten
Verwenden Sie die Methode spreadsheets.batchUpdate mit dem entsprechenden Anfragetyp, um den einfachen Filter festzulegen oder zu löschen:
- Verwenden Sie die Methode
SetBasicFilterRequest, um den einfachen Filter festzulegen. - Verwenden Sie zum Löschen des einfachen Filters die Methode
ClearBasicFilterRequest.
Wenn Sie den einfachen Filter auflisten möchten, verwenden Sie die Methode spreadsheets.get und setzen Sie den URL-Parameter fields auf sheets/basicFilter. Das folgende spreadsheets.get-Codebeispiel zeigt eine Google-Tabellen-URL mit einer Feldmaske:
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets/basicFilter
Filteransichten
Ein FilterView ist ein benannter Filter, den Sie jederzeit aktivieren und deaktivieren können. In einem Tabellenblatt können mehrere Filteransichten gespeichert sein, Sie können aber jeweils nur eine anwenden. Ein Tabellenblatt kann sowohl einen einfachen Filter als auch mehrere Filteransichten enthalten. Sie können jedoch nicht beides gleichzeitig auf denselben Datenbereich anwenden.
Anwendungsfälle für Filteransichten
Hier einige Anwendungsbeispiele für Filteransichten:
- Sie haben mehrere verschiedene Filter, zwischen denen Sie beim Ansehen der Daten wechseln möchten.
- Sie haben keinen Bearbeitungszugriff auf eine Tabelle, möchten aber trotzdem einen Filter anwenden. In diesem Fall können Sie eine temporäre Filteransicht erstellen, die nur für Sie sichtbar ist.
Sie möchten, dass jede Person, mit der Sie Ihre Tabelle teilen, die Daten anders sieht. Sie können die anzuwendende Filteransicht angeben, indem Sie die
spreadsheetIdundfilterViewIdin der Tabellenkalkulations-URL angeben. Verwenden Sie dazu diefilterViewId, die beim Erstellen der Filteransicht in der Antwort zurückgegeben wird.Das folgende Codebeispiel zeigt eine Google-Tabellen-URL mit einer Filteransicht:
https://docs.google.com/spreadsheets/d/SPREADSHEET_ID/edit#gid=0&fvid=FILTER_VIEW_ID
Filteransichten verwalten
Wenn Sie Filteransichten erstellen, duplizieren, ändern oder löschen möchten, verwenden Sie die Methode spreadsheets.batchUpdate mit dem entsprechenden Anfragetyp:
- Verwenden Sie zum Erstellen einer Filteransicht die Methode
AddFilterViewRequest. - Wenn Sie eine Kopie einer Filteransicht erstellen möchten, verwenden Sie die Methode
DuplicateFilterViewRequest. - Wenn Sie die Attribute einer Filteransicht ändern möchten, verwenden Sie die Methode
UpdateFilterViewRequest. - Wenn Sie eine Filteransicht löschen möchten, verwenden Sie die Methode
DeleteFilterViewRequest.
Wenn Sie alle Ihre Filteransichten auflisten möchten, verwenden Sie die Methode spreadsheets.get und legen Sie den URL-Parameter fields auf sheets/filterViews fest. Das folgende spreadsheets.get-Codebeispiel zeigt eine Google-Tabellen-URL mit einer Feldmaske:
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets/filterViews
JSON-Darstellung eines Filters
Das folgende Codebeispiel zeigt die JSON-Darstellung eines FilterView-Objekts. Das Objekt BasicFilter ist dasselbe, nur dass die Felder filterViewId und title fehlen und kein benannter Bereich verwendet werden kann.
{
"filterViewId": number,
"title": string,
"range": {
object(GridRange)
},
"namedRangeId": string,
"sortSpecs": [
{
object(SortSpec)
}
],
"criteria": {
string: {
object(FilterCriteria)
},
...
}
}
Beispielverkaufsdaten
Im Rest dieses Dokuments wird auf die folgende Beispielstabelle mit Verkaufsdaten verwiesen:
| A | B | C | D | E | F | G | |
| 1 | Artikelkategorie | Modellnummer | Kosten | Menge | Region | Vertriebsmitarbeiter | Versanddatum |
| 2 | Wheel Riesenrad | W-24 | 20,50 $ | 4 | West | Beth | 01.03.2016 |
| 3 | Tür | D-01X | 15,00 $ | 2 | Süd | Amir | 15.03.2016 |
| 4 | Rahmen | FR-0B1 | 34 $ | 8 | Ost | Hannah | 12.03.2016 |
| 5 | Feld | P-034 | 6,00 $ | 4 | Norden | Devyn | 15.03.2016 |
| 6 | Feld | P-052 | 11,50 $ | 7 | Ost | Erik | 16.05.2016 |
| 7 | Wheel Riesenrad | W-24 | 20,50 $ | 11 | Süd | Sheldon | 30.04.2016 |
| 8 | Engine | ENG-0161 | 330,00 $ | 2 | Norden | Jessie | 02.07.2016 |
Sortierspezifikationen
Ein Filter kann mehrere Sortierspezifikationen haben. Diese Spezifikationen bestimmen, wie die Daten sortiert werden, und werden in der angegebenen Reihenfolge angewendet. Das Attribut SortSpec.dimensionIndex gibt den Spaltenindex an, auf den die Sortierung angewendet werden soll.
Das folgende Codebeispiel zeigt eine Sortierspezifikation:
[
{
"dimensionIndex": 3,
"sortOrder": "ASCENDING"
},
{
"dimensionIndex": 6,
"sortOrder": "ASCENDING"
}
]
Bei Anwendung auf die Beispielverkaufsdaten wird zuerst nach der Spalte „Menge“ und dann, wenn zwei Zeilen dieselbe Menge haben, nach „Versanddatum“ sortiert.
| A | B | C | D | E | F | G | |
| 1 | Artikelkategorie | Modellnummer | Kosten | Menge | Region | Vertriebsmitarbeiter | Versanddatum |
| 2 | Tür | D-01X | 15,00 $ | 2 | Süd | Amir | 15.03.2016 |
| 3 | Engine | ENG-0161 | 330,00 $ | 2 | Norden | Jessie | 02.07.2016 |
| 4 | Wheel Riesenrad | W-24 | 20,50 $ | 4 | West | Beth | 01.03.2016 |
| 5 | Feld | P-034 | 6,00 $ | 4 | Norden | Devyn | 15.03.2016 |
| 6 | Feld | P-052 | 11,50 $ | 7 | Ost | Erik | 16.05.2016 |
| 7 | Rahmen | FR-0B1 | 34 $ | 8 | Ost | Hannah | 12.03.2016 |
| 8 | Wheel Riesenrad | W-24 | 20,50 $ | 11 | Süd | Sheldon | 30.04.2016 |
Filterkriterien
Mit dem Objekt FilterCriteria wird festgelegt, welche Tabellendaten in einem einfachen Filter oder einer Filteransicht ein- oder ausgeblendet werden. Jedes Kriterium hängt von den Werten in einer bestimmten Spalte ab. Sie geben die Filterkriterien als Zuordnung an, wobei die Schlüssel die Spaltenindexe und die Werte die Kriterien sind.
Bei Kriterien, die mit einem booleschen condition angegeben werden, muss die Bedingung true sein, damit Werte angezeigt werden. Die Bedingung überschreibt hiddenValues nicht.
Wenn ein Wert unter hiddenValues aufgeführt ist, werden alle Übereinstimmungen für einen Wert weiterhin ausgeblendet.
Das folgende Codebeispiel zeigt eine Karte mit Filterkriterien:
{
0: {
'hiddenValues': ['Panel']
},
6: {
'condition': {
'type': 'DATE_BEFORE',
'values': {
'userEnteredValue': '4/30/2016'
}
}
}
}
Bei Anwendung auf die Beispielverkaufsdaten werden mit diesem Kriterium nur Zeilen angezeigt, in denen der Wert der Spalte „Artikelkategorie“ nicht „Panel“ ist und der Wert der Spalte „Versanddatum“ vor dem 30. April 2016 liegt.
| A | B | C | D | E | F | G | |
| 1 | Artikelkategorie | Modellnummer | Kosten | Menge | Region | Vertriebsmitarbeiter | Versanddatum |
| 2 | Wheel Riesenrad | W-24 | 20,50 $ | 4 | West | Beth | 01.03.2016 |
| 3 | Tür | D-01X | 15,00 $ | 2 | Süd | Amir | 15.03.2016 |
| 4 | Rahmen | FR-0B1 | 34 $ | 8 | Ost | Hannah | 12.03.2016 |
Codebeispiel für Filteransicht
Im folgenden Codebeispiel wird gezeigt, wie Sie eine Filteransicht erstellen, sie duplizieren und dann die duplizierte Version mit den Beispielverkaufsdaten aktualisieren.