I filtri ti consentono di ordinare e filtrare i dati visualizzati quando visualizzi un foglio di lavoro. I filtri non modificano i valori dei dati nel foglio di lavoro. Puoi utilizzare i filtri per nascondere o ordinare temporaneamente le informazioni. I dati che corrispondono ai criteri di filtro specificati non vengono visualizzati quando il filtro è attivo. Con le visualizzazioni filtrate, puoi anche salvare diversi filtri con nome e passare da uno all'altro in qualsiasi momento.
Di seguito sono riportati alcuni casi d'uso di esempio per i filtri:
- Ordina i dati in base a una determinata colonna. Ad esempio, ordina i record utente per cognome.
- Nascondere i dati che soddisfano una condizione specifica. Ad esempio, puoi nascondere tutti i record risalenti a più di due anni fa.
- Nascondere i dati corrispondenti a un determinato valore. Ad esempio, nascondi tutti i problemi con stato "Chiuso".
Filtro di base
BasicFilter
per un foglio di lavoro è il filtro predefinito che viene applicato ogni volta che un utente visualizza il foglio di lavoro. Un foglio di lavoro può avere un filtro di base per ogni
foglio. Puoi disattivare il filtro di base rimuovendolo. Il filtro e tutte le relative impostazioni vengono rimossi dal foglio di lavoro.
Se vuoi riattivare lo stesso filtro, devi impostare di nuovo i criteri.
Gestire il filtro di base
Per impostare o cancellare il filtro di base, utilizza il metodo
spreadsheets.batchUpdate
con il tipo di richiesta appropriato:
- Per impostare il filtro di base, utilizza il metodo
SetBasicFilterRequest
. - Per cancellare il filtro di base, utilizza il metodo
ClearBasicFilterRequest
.
Per elencare il filtro di base, utilizza il metodo
spreadsheets.get
e imposta il parametro URL fields
su sheets/basicFilter
. Il seguente
spreadsheets.get
codice di esempio mostra un URL di Fogli Google con una maschera
di campo:
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets/basicFilter)
Visualizzazioni filtrate
Un FilterView
è un filtro denominato che puoi attivare e disattivare in qualsiasi momento. Un foglio di lavoro può avere più visualizzazioni filtrate, ma puoi applicarne una sola alla volta.
Di seguito sono riportati alcuni casi d'uso di esempio per le visualizzazioni filtrate:
- Hai diversi filtri tra cui vuoi passare quando visualizza i dati.
- Non disponi dell'accesso in modifica a un foglio di lavoro, ma vuoi comunque applicare un filtro. In questo caso, puoi creare una visualizzazione filtrata temporanea visibile solo a te.
Vuoi che ogni persona con cui condividi il foglio di lavoro visualizzi i dati in modo diverso. Puoi specificare la visualizzazione del filtro da applicare fornendo
spreadsheetId
efilterViewId
nell'URL del foglio di lavoro. A tale scopo, utilizzafilterViewId
restituito nella risposta quando crei la visualizzazione filtrata.Il seguente esempio di codice mostra un URL di Fogli Google con una vista filtrata:
https://docs.google.com/spreadsheets/d/SPREADSHEET_ID/edit#gid=0&fvid=FILTER_VIEW_ID
Gestire le visualizzazioni filtrate
Per creare, duplicare, modificare o eliminare le visualizzazioni filtrate, utilizza il metodo
spreadsheets.batchUpdate
con il tipo di richiesta appropriato:
- Per creare una visualizzazione filtrata, utilizza il metodo
AddFilterViewRequest
. - Per creare una copia di una visualizzazione filtrata, utilizza il metodo
DuplicateFilterViewRequest
. - Per modificare le proprietà di una visualizzazione filtrata, utilizza il metodo
UpdateFilterViewRequest
. - Per eliminare una visualizzazione filtrata, utilizza il metodo
DeleteFilterViewRequest
.
Per elencare tutte le viste con filtro, utilizza il metodo
spreadsheets.get
e imposta il parametro URL fields
su sheets/filterViews
. Il seguente
spreadsheets.get
codice di esempio mostra un URL di Fogli Google con una maschera
di campo:
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets/filterViews)
Rappresentazione del filtro
Il seguente esempio di codice mostra la rappresentazione JSON di un oggetto
FilterView
. L'oggetto
BasicFilter
è lo stesso, tranne per il fatto che non ha i campi filterViewId
e title
e non può utilizzare un intervallo denominato.
{
"filterViewId": number,
"title": string,
"range": {
object(GridRange)
},
"namedRangeId": string,
"sortSpecs": [
{
object(SortSpec)
}
],
"criteria": {
string: {
object(FilterCriteria)
},
...
}
}
Dati di esempio
Il resto di questo documento fa riferimento alla tabella di esempio dei dati di vendita riportata di seguito:
A | B | C | D | E | F | G | |
1 | Categoria elemento | Numero di modello | Costo | Quantità | Regione | Commerciale | Data di spedizione |
2 | Ruota | W-24 | 20,50 $ | 4 | Occidentale | Beth | 1/3/2016 |
3 | Porta | D-01X | 15 $ | 2 | Meridionale | Amir | 15/03/2016 |
4 | Cornice | FR-0B1 | 34,00 $ | 8 | Orientale | Hannah | 3/12/2016 |
5 | Riquadro | P-034 | 6,00 $ | 4 | Nord | Devyn | 15/03/2016 |
6 | Riquadro | P-052 | 11,50 $ | 7 | Orientale | Erik | 16/05/2016 |
7 | Ruota | W-24 | 20,50 $ | 11 | Meridionale | Sheldon | 30/4/2016 |
8 | Motore | ENG-0161 | 330,00 $ | 2 | Nord | Jessie | 2/7/2016 |
Specifiche di ordinamento
Un filtro può avere più specifiche di ordinamento. Queste specifiche determinano come ordinare i dati e vengono applicate nell'ordine specificato. L'attributo
SortSpec.dimensionIndex
specifica l'indice di colonna a cui applicare l'ordinamento.
Il seguente esempio di codice mostra una specifica di ordinamento:
[
{
"dimensionIndex": 3,
"sortOrder": "ASCENDING"
},
{
"dimensionIndex": 6,
"sortOrder": "ASCENDING"
}
]
Se applicata ai dati di vendita di esempio, questa specifica ordina prima per "Quantità" e poi, se due righe hanno la stessa quantità, per "Data spedizione".
A | B | C | D | E | F | G | |
1 | Categoria elemento | Numero di modello | Costo | Quantità | Regione | Commerciale | Data di spedizione |
2 | Porta | D-01X | 15 $ | 2 | Meridionale | Amir | 15/03/2016 |
3 | Motore | ENG-0161 | 330,00 $ | 2 | Nord | Jessie | 2/7/2016 |
4 | Ruota | W-24 | 20,50 $ | 4 | Occidentale | Beth | 1/3/2016 |
5 | Riquadro | P-034 | 6,00 $ | 4 | Nord | Devyn | 15/03/2016 |
6 | Riquadro | P-052 | 11,50 $ | 7 | Orientale | Erik | 16/05/2016 |
7 | Cornice | FR-0B1 | 34,00 $ | 8 | Orientale | Hannah | 3/12/2016 |
8 | Ruota | W-24 | 20,50 $ | 11 | Meridionale | Sheldon | 30/4/2016 |
Criteri di filtro
Il metodo
FilterCriteria
determina quali dati del foglio di lavoro vengono mostrati o nascosti in un filtro di base o in una visualizzazione filtrata. Ogni criterio dipende dai valori di una colonna specifica. Fornisci i criteri di filtro come mappa in cui le chiavi sono gli indici di colonna e i valori sono i criteri.
Per i criteri specificati utilizzando un valore booleano condition
, la condizione deve essere True
per visualizzare i valori. La condizione non sostituisce hiddenValues
. Se un valore è elencato in hiddenValues
, tutte le corrispondenze per quel valore rimangono nascoste.
Il seguente esempio di codice mostra una mappa dei criteri di filtro:
{
0: {
'hiddenValues': ['Panel']
},
6: {
'condition': {
'type': 'DATE_BEFORE',
'values': {
'userEnteredValue': '4/30/2016'
}
}
}
}
Se applicati ai dati di vendita di esempio, questi criteri mostrano solo le righe in cui "Categoria articolo" non è "Pannello" e dove "Data di spedizione" è precedente al 30 aprile 2016.
A | B | C | D | E | F | G | |
1 | Categoria elemento | Numero di modello | Costo | Quantità | Regione | Commerciale | Data di spedizione |
2 | Ruota | W-24 | 20,50 $ | 4 | Occidentale | Beth | 1/3/2016 |
3 | Porta | D-01X | 15 $ | 2 | Meridionale | Amir | 15/03/2016 |
4 | Cornice | FR-0B1 | 34,00 $ | 8 | Orientale | Hannah | 3/12/2016 |
Esempio
Il seguente esempio di codice mostra come creare una visualizzazione filtrata, duplicarla e poi aggiornare la versione duplicata utilizzando i dati di vendita di esempio riportati sopra.