As expressões do Looker são fórmulas usadas para realizar cálculos personalizados e aplicar lógica avançada no Looker. Use expressões do Looker para criar cálculos de tabela dinâmicos, campos personalizados, filtros personalizados e testes de dados. Esse recurso ajuda a extrair insights específicos e personalizar a análise de dados. Este guia descreve como criar e usar expressões do Looker de maneira eficaz.
Atalhos para funções comuns
Antes de criar expressões do Looker, verifique se é possível concluir sua tarefa usando atalhos integrados:
- Cálculos de tabela: se o administrador tiver concedido a você permissões para criar cálculos de tabela, use os cálculos de atalho para realizar rapidamente cálculos comuns em campos numéricos na tabela de dados de uma análise detalhada.
- Campos personalizados: se o administrador tiver concedido a você
permissões
para criar campos personalizados, use o seguinte:
- Grupos personalizados para agrupar valores em rótulos personalizados sem precisar desenvolver a lógica
CASE WHENem parâmetrossqlou campostype: case. - Agrupamentos personalizados para agrupar dimensões de tipo numérico em níveis personalizados sem precisar desenvolver campos
type: tierda LookML.
- Grupos personalizados para agrupar valores em rótulos personalizados sem precisar desenvolver a lógica
Expressões de Looker
As expressões do Looker são usadas para fazer cálculos em:
Uma expressão do Looker é criada com uma combinação destes elementos:
NULL: o valorNULLindica que não há dados e pode ser útil quando você quer verificar se algo está vazio ou não existe.Uma constante: é um valor imutável que você fornece. Um número, como
7, ou uma string, comoCompleted, são constantes.Um campo do Looker: uma referência a um campo do Looker, que inclui dimensões, métricas e cálculos de tabela.
Um operador do Looker: para uma lista de operadores disponíveis, consulte Funções e operadores do Looker. Os operadores compatíveis incluem as seguintes categorias:
- Operadores matemáticos (como
+,-,*e/) - Operadores de comparação (como
=,>e<=) - Operadores lógicos (como
AND,OReNOT)
- Operadores matemáticos (como
Uma função do Looker: semelhante às funções de planilha, as funções permitem transformar ou referenciar dados de maneiras complexas. Para uma lista de funções disponíveis, consulte Funções e operadores do Looker.
Criar expressões do Looker
Cálculos de tabela, campos personalizados e filtros personalizados usam o editor de expressões do Looker. Conforme você digita a expressão, o Looker sugere funções, operadores e nomes de campos que podem ser úteis.
Ver todas as sugestões
Acesse o editor de expressões do Looker em uma Análise criando um cálculo de tabela, um campo personalizado ou um filtro personalizado.
Digite um espaço para ver uma lista de todos os campos, funções e operadores que você pode escolher. Se um campo estiver selecionado na Análise, o Looker vai mostrar um ponto preto à esquerda dele e exibir o campo na parte de cima da lista.
Comece a digitar no editor de expressões do Looker para reduzir a lista aos itens de seu interesse.
O editor de campos personalizados mostra os campos da análise detalhada que estão em uso, se forem compatíveis com a função do campo personalizado.
Adicionar um campo
Para incluir um campo do Looker na sua expressão, comece a digitar o nome do campo. Conforme você digita, o editor restringe a pesquisa a uma lista de campos e funções que contêm o que você digitou. Você pode digitar o nome do campo como ele aparece na página "Analisar" ou usar o nome do LookML, se souber.
Quando você seleciona um campo na lista, o Looker o adiciona à sua expressão usando o nome do LookML no formato ${view_name.field_name}. Isso garante que todos os campos tenham nomes exclusivos na expressão.
Adicionar totais
Se você estiver criando uma expressão com base em uma análise detalhada em que mostrou totais, também poderá incluir totais de colunas e linhas na expressão. Os totais das colunas aparecem no editor com a palavra Total antes da iteração do LookML do nome do campo. Por exemplo, para um campo chamado Contagem, o Looker dá ao total da coluna desse campo o nome Count - Total.
O nome da LookML para totais está no formato ${view_name.field_name:total}, em que :total é adicionado ao final do nome do campo.
Para os totais de linha, as palavras Totais de linha aparecem na frente do nome do campo no editor. No Nome do LookML do campo, :row_total é adicionado ao final
do nome do campo, como ${view_name.field_name:row_total}.
Adicionar operadores
Se necessário, adicione operadores lógicos como AND, OR e NOT à sua expressão. Normalmente, os operadores AND são avaliados antes dos operadores OR, mas é possível substituir esse comportamento usando parênteses. Também é possível usar operadores de comparação (como >, = e <=) e matemáticos (como + e *).
Quando você passa o cursor sobre um operador, as observações para uso adequado aparecem no painel de informações.
Adicionar funções
Para incluir uma função do Looker na sua expressão, comece a digitar o nome dela. Conforme você digita, o editor restringe a pesquisa a uma lista de campos e funções que contêm o que você digitou.
As funções podem ser construídas com argumentos (ou variáveis) que exigem um determinado tipo, como um campo, um número ou sim/não. Ao manter o ponteiro sobre uma função, verifique as notas no painel de informações para entender quais argumentos você precisa fornecer e de que tipo eles precisam ser.
Para uma lista completa de funções, consulte Funções e operadores do Looker.
Usar dicas de erros e o painel de informações
O Looker mostra um painel de informações ao lado do editor de expressões do Looker. Esse painel oferece documentação e sugestões, principalmente se a expressão tiver um erro.
O painel de informações fornece o seguinte:
Destaque de erros: o Looker sublinha em vermelho as partes da expressão que ainda não estão corretas.
Sugestões e detalhes do erro: o Looker dá sugestões sobre o que adicionar em seguida na sua expressão. Se houver um erro, ele vai explicar por que ele ocorreu.
Documentação: o Looker mostra a documentação sobre a função ou o operador com que você está trabalhando. Por exemplo, enquanto você digita o primeiro argumento de uma função
if, o Looker indica que ele precisa ser avaliado comoyesouno. Clique no nome da função para acessar a documentação.
Incluir comentários
Para incluir comentários em expressões do Looker, comece a linha de comentário com # no editor de expressões.
Usar campos
Às vezes, você quer usar o valor de um campo (uma dimensão, uma métrica ou um cálculo de tabela) em uma expressão. Talvez você queira adicionar o valor do campo a outra coisa, verificar se ele tem um determinado valor ou incluí-lo em uma função.
Como descrito em Adicionar um campo, você pode digitar o nome do campo no editor de expressões, e o Looker ajuda a encontrar o formato de referência correto. Quando você adiciona um campo a uma expressão, o Looker usa o identificador LookML do campo, como ${view_name.field_name}. Digite o nome do campo como ele aparece no seletor de campos. O editor de expressões vai mostrar o nome do seletor de campos ao lado do identificador da LookML.
Há várias maneiras de recuperar um valor:
Receber um valor da mesma linha: a maneira mais básica de usar um campo é referenciá-lo diretamente, como
${product.category}. Isso faz referência ao valor desse campo na linha atual.Receber um valor de uma linha diferente: também é possível recuperar o valor de um campo de uma linha diferente. Por exemplo, para extrair a categoria do produto da linha anterior, use uma função de ajuste, como
offset(${product.category}, -1). Para uma lista de funções posicionais, consulte Funções posicionais.Receber um valor de uma coluna dinâmica: para receber valores de colunas dinâmicas, use funções de dinamização, como
pivot_index(${order.total_sales}, 1). Para uma lista de funções de rotação, consulte Funções de rotação.Receber um total de uma linha ou coluna: se você mostrou totais na análise detalhada, adicione
:total(para totais de colunas) ou:row_total(para totais de linhas) ao nome do campo, usando o formato${field_name:total}. Exemplo:${orders.count} / ${orders.count:total}.
Usar operadores
As expressões do Looker podem incluir operadores lógicos, de comparação e matemáticos para criar diferentes condições:
- Operadores lógicos (como
AND,OReNOT) - Operadores de comparação (como
>e<) - Operadores matemáticos (como
+e-)
A menos que você especifique o contrário com parênteses, a lógica AND é avaliada antes da lógica OR. A expressão a seguir sem parênteses extras:
if (
${order_items.days_to_process}>=4 OR
${order_items.shipping_time}>5 AND
${order_facts.is_first_purchase},
"review", "okay")
é avaliado como:
if (
${order_items.days_to_process}>=4 OR
(${order_items.shipping_time}>5 AND ${order_facts.is_first_purchase}),
"review", "okay")
No Looker, use yes e no em vez de true e false.
Essas constantes lógicas não são a mesma coisa que as strings literais "yes"
e "no". Para mais informações, consulte
Constantes lógicas.
Usar funções
As expressões do Looker geralmente incluem uma ou mais funções para recuperar ou calcular dados. Elas são parecidas com as funções de planilha.
As funções têm a forma de um nome seguido por parênteses, como
my_function(). Os valores transmitidos entre parênteses são argumentos, como
my_function(argument_1, argument_2).
Por exemplo, a função now não recebe argumentos e retorna a data e a hora atuais: now().
A função round usa um argumento numérico: round(3.2). O resultado é 3.
Para saber quais argumentos fornecer:
- O painel de informações ao lado do editor de expressões fornece documentação para a função ativa.
- Para uma lista completa de funções, consulte Funções e operadores do Looker.
Considere a função contains:
| Função | Sintaxe | Finalidade |
|---|---|---|
| contém {:#function-contains} | contains(string, search_string) |
Retorna Yes se string contiver search_string. Caso contrário, retorna No. |
A função contains requer dois argumentos: string e search_string.
O argumento string representa o campo ou texto em que a pesquisa será feita, e search_string representa o termo a ser pesquisado:
contains(${customer.feedback_text}, "great")
Se "ótimo" aparecer no feedback do cliente, a função vai retornar Yes.
Caso contrário, ele retorna No.
É possível aninhar funções dentro de outras:
contains(
if(
is_null(${customer.feedback_text}),
${customer.comment_text},
${customer.feedback_text}
),
"great")
Essa expressão é avaliada em três etapas:
- A função
is_nullverifica se o texto do feedback do cliente está vazio. - A função
ifretorna o texto do feedback, se presente. Caso contrário, ela retorna o texto do comentário. - A função
containspesquisa o texto retornado por "great".
Logicamente, essa expressão significa: "Se houver feedback do cliente, pesquise nesse texto. Se não for o caso, pesquise nos comentários dos clientes. Em ambos os casos, procure a palavra "ótimo".