Solução de problemas comuns de sugestão de filtro

As sugestões de filtros são uma ferramenta poderosa no Looker. É fundamental entender de onde eles vêm e como funcionam para resolver problemas de maneira eficaz quando as sugestões de filtro não se comportarem como esperado. Esta página aborda como as sugestões de filtro funcionam, por que elas podem estar erradas e por que podem não ser preenchidas.

Como funcionam as sugestões de filtro?

As sugestões de filtro economizam tempo quando os usuários inserem valores nos filtros e garantem que eles escolham as opções disponíveis nos dados. Quando os usuários selecionam uma caixa de filtro, uma lista de sugestões aparece abaixo do campo. Neste exemplo, marcar a caixa de um filtro no campo Status da Análise Pedidos revela uma lista suspensa com os valores "cancelado", "concluído" e "pendente" como opções.

De onde vem essa lista de sugestões?

O Looker executa uma consulta SELECT distinct <field> no banco de dados para extrair todas as opções possíveis para esse campo. A consulta é semelhante a esta SQL:

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

Quando os usuários inserem caracteres na caixa de filtro, o Looker substitui as condições apropriadas na cláusula WHERE para filtrar os resultados. Em seguida, o Looker mostra os 100 primeiros resultados em sugestões de filtro.

Posso alterar as sugestões que são preenchidas?

Os desenvolvedores podem usar vários parâmetros do LookML para alterar e personalizar as sugestões exibidas. Consulte a página de documentação Como alterar sugestões de filtro para mais detalhes.

As sugestões são armazenadas em cache?

Por padrão, o Looker armazena os resultados da consulta em cache por uma hora. É possível usar o parâmetro do LookML suggest_persist_for para personalizar o tamanho do cache para sugestões de filtro. O parâmetro suggest_persist_for tem um valor padrão de "6 horas". As sugestões têm o próprio cache, que não pode ser apagado manualmente em uma página "Explorar". Se você precisar limpar o cache para receber sugestões, estas são algumas opções:

  • Se a Análise for armazenada em cache usando um grupo de dados com sql_trigger, será possível redefinir o cache de todo o grupo manualmente na página Grupos de dados do painel Administrador do Looker. No entanto, o cache vai ser atualizado para todas as consultas mantidas usando esse grupo.
  • É possível usar o parâmetro suggest_persist_for no nível do campo e defini-lo como "0 segundos" para bloquear o cache de sugestões de filtro para esse campo.
    O cache é global para todos os usuários. A atualização do cache de um usuário para sugerir sugestões vai afetar os resultados que outros usuários veem.

Por que as sugestões de filtro estão erradas?

Agora que você entende como as sugestões de filtro são preenchidas, é possível determinar por que as sugestões de filtro podem estar erradas. A explicação mais comum é que os dados mudaram ou foram atualizados entre o momento em que as sugestões de filtro foram armazenadas em cache e o horário em que os resultados incorretos foram observados.

Por exemplo, suponha que o usuário A execute uma Análise pela manhã. O usuário A seleciona alguns valores de filtro da lista suspensa de sugestões. O processo de ETL do banco de dados termina cerca de meia hora depois. Em seguida, o usuário B visualiza a mesma Análise executada pelo Usuário A anteriormente. O usuário B quer saber por que as sugestões de filtro estão incorretas. O motivo da disparidade é que a consulta de sugestão em cache não era atualizada com o processo de ETL recém-concluído do banco de dados e, portanto, mostrou resultados inesperados.

Se esse for o caso, atualize o cache de sugestões usando os métodos descritos na seção As sugestões são armazenadas em cache? anteriormente nesta página.

Por que as sugestões de filtro não estão sendo preenchidas?

Pode haver vários motivos para as sugestões de filtro não serem preenchidas. As etapas de solução de problemas a seguir destacam as possíveis causas:

  1. Verifique o tipo de filtro.
  2. Confira se há um access_filter ou um sql_always_where de restrição.
  3. Verifique se há um suggest_dimension parameter.
  4. Verifique se há uma tentativa de carregar sugestões quando um usuário seleciona ou digita texto no filtro.
  5. Verifique o console de rede do Chrome.
  6. Encontre evidências da consulta de sugestões que o Looker está tentando executar.

Verificar o tipo de filtro

Se for um filtro de painel do LookML, verifique se o tipo dele é Campo. Outros tipos de filtro não preencherão as sugestões.

Verifique se há um access_filter ou um sql_always_where de restrição de sugestões

Normalmente, quando sql_always_where ou access_filter é usado, as sugestões de filtro são restritas para essa Análise. Isso impede que os usuários vejam uma sugestão de filtro que eles não podem acessar. Se você tiver certeza de que não há valores possíveis em um campo de dimensão ou filtro específico que revele informações sensíveis, use bypass_suggest_restrictions para reativar as sugestões de filtro.

Verificar se há um suggest_dimension parameter

Quando o parâmetro suggest_dimension é usado, as sugestões de filtro não são preenchidas, a menos que a dimensão sugerida esteja sendo referenciada em uma Análise com a visualização dessa dimensão definida como a visualização base.

Para Análises em que a visualização da dimensão sugerida não é a visualização base, adicione o parâmetro suggest_explore, fazendo referência à visualização em que essa visualização é a base.

Verifique se há uma tentativa de carregar sugestões ao selecionar ou inserir texto no filtro

Confira se o Looker parece tentar carregar sugestões quando você seleciona ou digita texto na caixa de filtro. O Looker vai mostrar um círculo de carregamento giratório no lado direito da caixa do filtro.

Caso contrário, o Looker não está tentando preencher as sugestões. Verifique se as condições descritas na primeira etapa foram atendidas e se as sugestões não estão desativadas no nível field, view ou Explore (com sql_always_where ou access_filter) no LookML. Observe que os dialetos Hadoop vão adicionar suggestions: no em todos os arquivos de visualização por padrão.

Se houver uma tentativa de carregar sugestões, siga as instruções para verificar o console de rede do Chrome.

Verifique o console de rede do Google Chrome

O console de rede do Chrome pode destacar um erro com a própria consulta ou mostrar se há resultados retornados do cache.

  1. Abra a guia "Rede" no navegador com o atalho Ctrl + Shift + J (no Windows) ou comando + option + J (no Mac), ou selecione Visualizar > Desenvolver > Ferramentas para desenvolvedores na barra de opções do Chrome, na parte superior do navegador.
  2. Selecione a caixa de filtro no Look, Explore ou no dashboard.
  3. O painel "Ferramentas para desenvolvedores" mostra uma solicitação de sugestões de filtro, que pode ser selecionada para mais informações.
  4. Os cabeçalhos vão mostrar a solicitação interna da API que o Looker está fazendo para recuperar os valores de sugestão. Neste exemplo, suponha que o Looker esteja fazendo a seguinte solicitação de API, em que <yourinstance> representa o URL da sua instância:

    <yourinstance>/api/internal/models/the_look/views/order_items/fields/users.state/suggestions?term=
  5. Na solicitação de API, verifique se o modelo listado após /models/ existe. Neste exemplo, o modelo é chamado de the_look.
  6. Embora o URL seja /views/, isso se refere à Análise de onde o campo vem. Verifique se a Análise listada após /views/ existe. Neste exemplo, a Análise é chamada de order_items.
  7. Verifique se o campo listado após /fields/ existe. Neste exemplo, o campo é users.state.

A resposta para essa solicitação de API vai mostrar a mensagem de erro exata. Por exemplo, o código de status das sugestões é 404 Not Found:

Selecione a resposta da solicitação para mais detalhes.

Nesse caso, observe que as sugestões estão falhando porque o campo não foi encontrado com base na resposta à solicitação:

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

Se não houver erros, mas também não houver sugestões quando esperado, verifique se a consulta de sugestão está extraindo do cache (cache: true no console de rede). Isso pode sugerir que o cache precisa ser bloqueado, usando um parâmetro suggest_persist_for na dimensão que está exibindo sugestões.

Encontrar evidências da consulta de sugestões que o Looker está tentando executar

Confira a página Queries no painel Administrador do Looker para garantir que a consulta que está gerando o filtro (o campo Origem na página Consultas mostrará Sugestão de filtro) não está gerando um erro. Selecione o botão Detalhes da consulta e a opção Abrir no SQL Runner. Verifique se o SQL está sintaticamente correto. Se você perceber anomalias, como nomes de campos ausentes ou caracteres especiais irregulares, verifique se não está usando parâmetros Liquid ou filtros de modelo.

  • Se a consulta exigir uma entrada de filtro com modelo para ser executada, nenhuma sugestão de filtro será preenchida.
  • Se a consulta usar um parâmetro com um default_value, esse valor será inserido na consulta de sugestão de filtro. Nesse cenário, a consulta de sugestão de filtro não será atualizada dinamicamente com base na entrada do usuário. Dependendo do valor padrão, isso pode fazer com que não haja sugestões de filtro ou sugestões de filtro incorretas. Em vez disso, use filtros vinculados em um painel.