Risolvere i problemi comuni relativi ai suggerimenti di filtro

I suggerimenti per i filtri sono uno strumento potente in Looker. È fondamentale capire da dove provengono e come funzionano per poter risolvere efficacemente i problemi quando i suggerimenti di filtro non si comportano come previsto. Questa pagina spiega come funzionano i suggerimenti di filtro, perché potrebbero essere errati e perché potrebbero non essere compilati.

Come funzionano i suggerimenti per i filtri?

I suggerimenti per i filtri consentono di risparmiare tempo quando gli utenti inseriscono valori nei filtri e assicurano che scelgano le opzioni esistenti nei dati. Quando gli utenti selezionano una casella di filtro, sotto il campo viene visualizzato un elenco di suggerimenti. In questo esempio, la selezione della casella per un filtro nel campo Stato dell'esplorazione Ordini mostra un elenco a discesa con i valori "Annullato", "Completato" e "In attesa" come opzioni.

Da dove proviene questo elenco di suggerimenti?

Looker esegue una query SELECT distinct <field> sul database per recuperare tutte le opzioni possibili per quel campo. La query è simile al seguente codice SQL:

SELECT DISTINCT <field_name>
FROM <table>
WHERE (<field_name> LIKE '%' OR <field_name> LIKE '% %')
GROUP BY 1
ORDER BY 1
LIMIT 1000

Quando gli utenti inseriscono caratteri nella casella del filtro, Looker sostituisce le condizioni appropriate nella clausola WHERE per filtrare i risultati. Looker mostra quindi i primi 100 di questi risultati nei suggerimenti di filtro.

Posso modificare i suggerimenti da compilare?

Gli sviluppatori possono utilizzare vari parametri LookML per modificare e personalizzare i suggerimenti visualizzati. Per ulteriori dettagli, consulta la pagina della documentazione Modificare i suggerimenti di filtro.

I suggerimenti sono memorizzati nella cache?

Per impostazione predefinita, Looker memorizza nella cache i risultati delle query per un'ora. Puoi utilizzare il parametro LookML suggest_persist_for per personalizzare la durata della cache per i suggerimenti di filtro. Il parametro suggest_persist_for ha un valore predefinito di "6 ore". I suggerimenti hanno una propria cache, che non può essere cancellata manualmente da una pagina di esplorazione. Se devi svuotare la cache per i suggerimenti, ecco alcune opzioni:

  • Se l'esplorazione viene memorizzata nella cache utilizzando un gruppo di dati con un sql_trigger, puoi reimpostare manualmente la cache per l'intero gruppo di dati nella pagina Gruppi di dati del pannello Amministrazione di Looker, ma questo aggiornerà la cache per tutte le query persistenti che utilizzano il gruppo di dati.
  • Puoi utilizzare il parametro suggest_persist_for a livello di campo e impostarlo su "0 secondi" per svuotare la cache dei suggerimenti di filtro per quel campo.
    La cache è globale per tutti gli utenti. L'aggiornamento della cache per i suggerimenti da parte di un utente influisce sui risultati visualizzati dagli altri utenti.

Perché i suggerimenti per i filtri sono sbagliati?

Ora che sai come vengono compilati i suggerimenti di filtro, puoi determinare perché potrebbero essere errati. La spiegazione più comune è che i dati sono cambiati o aggiornati tra il momento in cui i suggerimenti di filtro sono stati memorizzati nella cache e il momento in cui sono stati notati i risultati errati.

Ad esempio, supponiamo che l'utente A esegua un'esplorazione di primo mattino. L'utente A seleziona alcuni valori di filtro dall'elenco a discesa dei suggerimenti. Il processo ETL del database termina circa mezz'ora dopo. L'utente B visualizza la stessa esplorazione eseguita in precedenza dall'utente A. L'utente B si chiede perché i suggerimenti per i filtri non sono corretti. La causa della disparità è che la query di suggerimento memorizzata nella cache non è stata aggiornata con la procedura ETL appena completata del database e, di conseguenza, ha mostrato risultati imprevisti.

In questo caso, puoi aggiornare la cache dei suggerimenti utilizzando i metodi descritti nella sezione I suggerimenti vengono memorizzati nella cache? all'inizio di questa pagina.

Perché i suggerimenti per i filtri non vengono visualizzati?

I suggerimenti di filtro potrebbero non essere visualizzati per diversi motivi. I seguenti passaggi per la risoluzione dei problemi evidenziano le potenziali cause:

  1. Controlla il tipo di filtro.
  2. Controlla se è presente un access_filter o un sql_always_where che limita i suggerimenti.
  3. Controlla se è presente un suggest_dimension parameter.
  4. Verifica se viene tentato di caricare i suggerimenti quando un utente seleziona o inserisce del testo nel filtro.
  5. Controlla la console di rete di Chrome.
  6. Trova prove della query sui suggerimenti che Looker sta tentando di eseguire.

Controlla il tipo di filtro

Se si tratta di un filtro di una dashboard di LookML, assicurati che il tipo di filtro sia Campo. Gli altri tipi di filtro non completeranno i suggerimenti.

Controlla se è presente un access_filter o un sql_always_where che limita i suggerimenti

In genere, quando viene utilizzato sql_always_where o access_filter, i suggerimenti di filtro sono limitati per l'esplorazione in questione. In questo modo, gli utenti non vedranno un suggerimento di filtro a cui non possono accedere. Se hai la certezza che in un determinato campo di dimensione o filtro non siano presenti valori che potrebbero rivelare informazioni sensibili, puoi utilizzare bypass_suggest_restrictions per riattivare i suggerimenti di filtro.

Controlla se è presente un suggest_dimension parameter

Quando viene utilizzato il parametro suggest_dimension, i suggerimenti per i filtri non vengono compilati a meno che non venga fatto riferimento alla dimensione suggerita in un'esplorazione con la vista della dimensione definita come vista di base dell'esplorazione.

Per le esplorazioni in cui la visualizzazione della dimensione suggerita non è la visualizzazione di base, aggiungi il parametro suggest_explore facendo riferimento all'esplorazione in cui questa visualizzazione è la visualizzazione di base.

Controlla se viene tentato di caricare i suggerimenti quando selezioni o inserisci del testo nel filtro

Controlla se sembra che Looker tenti di caricare suggerimenti quando selezioni o inserisci del testo nella casella del filtro. Looker dovrebbe mostrare un cerchio di caricamento in rotazione sul lato destro della casella del filtro.

In caso contrario, significa che Looker non sta tentando di compilare i suggerimenti. Verifica che le condizioni descritte nel primo passaggio siano soddisfatte e che i suggerimenti non siano disattivati a livello di field, view o di esplorazione (con sql_always_where o access_filter) in LookML. Tieni presente che i dialetti Hadoop aggiungeranno suggestions: no a tutti i file di visualizzazione per impostazione predefinita.

Se viene tentato di caricare i suggerimenti, segui le istruzioni per controllare la console di rete di Chrome.

Controllare la console di rete di Chrome

La console di rete di Chrome potrebbe evidenziare un errore nella query stessa o mostrare se sono stati restituiti risultati dalla cache.

  1. Apri la scheda Rete nel browser con la scorciatoia Ctrl + Shift + J (su Windows) o Comando + Opzione + J (su Mac) oppure selezionando Visualizza > Sviluppa > Strumenti per sviluppatori dalla barra delle opzioni di Chrome nella parte superiore del browser.
  2. Seleziona nella casella dei filtri del look, dell'esplorazione o della dashboard.
  3. Nel riquadro Strumenti per sviluppatori dovrebbe essere visualizzata una richiesta di suggerimenti per i filtri, che puoi selezionare per visualizzare ulteriori informazioni.
  4. Le intestazioni mostreranno la richiesta API interna che Looker sta inviando per recuperare i valori dei suggerimenti. In questo esempio, supponiamo che Looker stia effettuando la seguente richiesta API, dove <yourinstance> rappresenta l'URL della tua istanza:

    <yourinstance>/api/internal/models/the_look/views/order_items/fields/users.state/suggestions?term=
  5. Nella richiesta API, verifica che il modello elencato dopo /models/ esista. In questo esempio, il modello si chiama the_look.
  6. Anche se l'URL indica /views/, si riferisce all'esplorazione da cui proviene il campo. Verifica che l'esplorazione elencata dopo /views/ esista. In questo esempio, l'esplorazione si chiama order_items.
  7. Verifica che il campo elencato dopo /fields/ esista. In questo esempio, il campo è users.state.

La risposta a questa richiesta API mostrerà il messaggio di errore esatto. Ad esempio, il codice di stato per i suggerimenti è 404 Non trovato:

Seleziona la risposta per questa richiesta per maggiori dettagli.

In questo caso, puoi vedere che i suggerimenti non vanno a buon fine perché il campo non può essere trovato in base alla risposta alla richiesta:

{"class":"FieldNotFound","text":"Field not found."}

Se non ci sono errori, ma non vengono visualizzati suggerimenti come previsto, controlla se la query di suggerimento viene recuperata dalla cache (cache: true nella Console della rete). Ciò potrebbe indicare che la cache deve essere eliminata utilizzando un parametro suggest_persist_for nella dimensione che mostra i suggerimenti.

Trovare prove della query sui suggerimenti che Looker sta tentando di eseguire

Puoi controllare la pagina Query nel riquadro Amministrazione di Looker per assicurarti che la query che genera il filtro (il campo Origine nella pagina Query sarà Suggerimento filtro) non generi un errore. Seleziona il pulsante Dettagli della query e seleziona l'opzione Apri in SQL Runner. Verifica che il codice SQL sia sintatticamente corretto. Se noti anomalie come nomi di campi mancanti o caratteri speciali errati, assicurati di non utilizzare parametri Liquid o filtri basati su modelli.

  • Se per l'esecuzione della query è necessario un input di filtro basato su modello, non verranno visualizzati suggerimenti per i filtri.
  • Se la query utilizza un parametro con un default_value, questo valore verrà inserito nella query di suggerimento del filtro. In questo scenario, la query di suggerimento del filtro non verrà aggiornata dinamicamente in base all'input utente'utente. A seconda del valore predefinito, i suggerimenti per i filtri possono non essere visualizzati o essere errati. Valuta invece la possibilità di utilizzare i filtri collegati in una dashboard.