As sugestões de filtro são uma ferramenta poderosa no Looker. É fundamental entender de onde elas vêm e como funcionam para que você possa resolver problemas de forma 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 incorretas 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 opções que existem nos dados. Quando os usuários selecionam uma caixa de filtro, uma lista de sugestões aparece abaixo do campo. Neste exemplo, selecionar a caixa de um filtro no campo Status da análise detalhada 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 este 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 adequadas na cláusula WHERE
para filtrar os resultados. O Looker mostra os primeiros 100 resultados nas sugestões de filtro.
Posso mudar as sugestões que são preenchidas?
Os desenvolvedores podem usar vários parâmetros do LookML para mudar e personalizar as sugestões que aparecem. Consulte a página de documentação Como mudar as sugestões de filtro para mais detalhes.
As sugestões estão armazenadas em cache?
Por padrão, o Looker armazena em cache os resultados da consulta por uma hora. Use o parâmetro LookML suggest_persist_for
para personalizar o comprimento do cache das 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 limpo manualmente em uma página "Explorar". Se você precisar limpar o cache para sugestões, confira algumas opções:
- Se a Análise for armazenada em cache usando um datagroup com um
sql_trigger
, será possível redefinir manualmente o cache de todo o datagroup na página Datagroups no painel Administrador do Looker. No entanto, isso vai atualizar o cache de todas as consultas que forem mantidas usando esse datagroup. - É possível usar o parâmetro
suggest_persist_for
no nível do campo e defini-lo como "0 segundos" para quebrar o cache de sugestões de filtro desse campo.O cache é global para todos os usuários. A atualização do cache de um usuário para sugestões afeta 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, pode determinar por que elas podem estar erradas. A explicação mais comum é que os dados foram alterados ou atualizados entre o momento em que as sugestões de filtro foram armazenadas em cache e o momento em que os resultados incorretos foram notados.
Por exemplo, suponha que o usuário A abra a guia "Explorar" pela manhã. O usuário A seleciona alguns valores de filtro na lista suspensa de sugestões. O processo de ETL do banco de dados é concluído cerca de meia hora depois. Em seguida, o Usuário B acessa a mesma Análise detalhada que o Usuário A fez anteriormente. O usuário B se pergunta por que as sugestões de filtro estão incorretas. A razão para a disparidade é que a consulta de sugestão em cache não foi atualizada com o processo ETL recém-concluído do banco de dados e, portanto, mostrou resultados inesperados.
Nesse caso, atualize o cache de sugestões usando os métodos descritos na seção As sugestões são armazenadas em cache? anterior a esta.
Por que as sugestões de filtro não estão sendo preenchidas?
Há vários motivos para as sugestões de filtro não aparecerem. As etapas de solução de problemas a seguir destacam possíveis causas:
- Confira o tipo de filtro.
- Confira se há uma
access_filter
ou umasql_always_where
que restringe sugestões. - Confira se há um
suggest_dimension parameter
. - Verifique se há uma tentativa de carregar sugestões quando um usuário seleciona ou insere texto no filtro.
- Confira o console de rede do Chrome.
- Encontre evidências da consulta de sugestões que o Looker está tentando executar.
Verificar o tipo de filtro
Se for um filtro do painel do LookML, verifique se o tipo de filtro é Campo. Outros tipos de filtro não vão preencher sugestões.
-
Verifique se o campo de filtro é
type: string
na definição do LookML. Os filtros em campos do tiponumber
não preenchem sugestões. - É um filtro correspondências (avançado)? Os filtros de correspondências (avançados) exigem expressões do Looker. Por isso, as sugestões não são preenchidas.
Verifique se há uma access_filter
ou um sql_always_where
que restringe as sugestões
Normalmente, quando sql_always_where
ou access_filter
são usados, 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 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 revelem informações sensíveis, use bypass_suggest_restrictions
para reativar as sugestões de filtro.
Verifique 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 seja referenciada em uma análise detalhada com a visualização dessa dimensão definida como a base da análise detalhada.
Para análises detalhadas em que a visualização da dimensão sugerida não é a base, adicione o parâmetro suggest_explore
, fazendo referência à análise detalhada em que essa visualização é a base.
Verifique se há uma tentativa de carregar sugestões quando você seleciona ou insere texto no filtro.
Verifique se o Looker parece tentar carregar sugestões quando você seleciona ou insere texto na caixa de filtro. O Looker vai mostrar um círculo de carregamento giratório no lado direito da caixa de filtro.
Caso contrário, o Looker não está tentando preencher sugestões. Verifique se as condições descritas na primeira etapa são atendidas e se as sugestões não estão desativadas no nível field
, view
ou "Explorar" (com sql_always_where
ou access_filter
) no LookML. Os dialetos do 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.
Verificar o console de rede do Chrome
O console de rede do Chrome pode destacar um erro na consulta ou mostrar se há resultados retornados do cache.
- Abra a guia "Rede" no navegador com o atalho Ctrl + Shift + J (no Windows) ou Command + Option + J (no Mac) ou selecionando View > Develop > Developer tools na barra de opções do Chrome na parte de cima do navegador.
- Selecione na caixa de filtro do seu Look, Análise ou painel.
- O painel de ferramentas para desenvolvedores vai mostrar uma solicitação para as sugestões de filtro, que podem ser selecionadas para mais informações.
- 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=
- Na solicitação da API, verifique se o modelo listado após
/models/
existe. Neste exemplo, o modelo é chamadothe_look
. - Embora o URL diga
/views/
, ele se refere à Análise em que o campo está. Verifique se a seção "Explorar" listada após/views/
existe. Neste exemplo, a seção "Explorar" é chamadaorder_items
. - 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 para essa solicitação e saiba mais detalhes.
Nesse caso, as sugestões estão falhando porque o campo não pode ser 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á sendo extraída do cache (cache: true
no Network Console). Isso pode sugerir que o cache precisa ser excluído usando um parâmetro suggest_persist_for
na dimensão que está exibindo sugestões.
Encontre evidências da consulta de sugestões que o Looker está tentando executar
Verifique a página Consultas no painel Administrador do Looker para garantir que a consulta que está gerando o filtro (o campo Origem na página Consultas vai mostrar Sugestão de filtro) não está gerando um erro. Selecione o botão Detalhes da consulta e selecione a opção Abrir no SQL Runner. Verifique se o SQL está sintaticamente correto. Se você notar anomalias, como nomes de campos ausentes ou caracteres especiais incorretos, verifique se não está usando parâmetros do 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 é atualizada dinamicamente com base na entrada do usuário. Dependendo do valor padrão, isso pode causar a ausência de sugestões de filtro ou sugestões de filtro incorretas. Em vez disso, use filtros vinculados em um painel.