As expressões do Looker são fórmulas usadas para realizar cálculos personalizados e aplicar lógica avançada no Looker. Use as 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 a tarefa pode ser concluída usando atalhos integrados:
- Cálculos de tabela: se o administrador tiver concedido a você permissões para criar cálculos de tabela, você poderá usar os cálculos de atalho para realizar cálculos comuns rapidamente em campos numéricos na tabela de dados de uma análise.
- Campos personalizados: se o administrador tiver concedido
permissões
para criar campos personalizados, você poderá usar o seguinte:
- Grupos personalizados para agrupar
valores em rótulos personalizados sem precisar desenvolver a lógica
CASE WHENemsqlparâmetros outype: casecampos. - Agrupamentos personalizados para agrupar
dimensões de tipo numérico em níveis personalizados sem precisar desenvolver
type: tiercampos 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 a partir de 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: uma constante é um valor imutável que você fornece. Um número como
7ou uma string comoCompletedsão constantes.Um campo do Looker: uma referência a um campo do Looker , que inclui dimensões, medidas 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 usados.
Ver todas as sugestões
Acesse o editor de expressões do Looker em uma análise criando um cálculo de tabela, campo personalizado ou filtro personalizado.
Digite um espaço para ver uma lista de todos os campos, funções e operadores que podem ser escolhidos. Se um campo estiver selecionado no momento na análise, o Looker vai mostrar um ponto preto à esquerda do campo e o campo na parte de cima da lista.
Comece a digitar no editor de expressões do Looker para encurtar a lista de itens de seu interesse.
O editor de campos personalizados mostra os campos de análise 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 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. É possível digitar o nome do campo como ele aparece na página de análise ou usar o nome do LookML, se você o conhece.
Quando você seleciona um campo na lista, o Looker o adiciona à 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 em que
mostrou totais,
também poderá incluir totais de colunas e linhas na expressão. Os totais de colunas aparecem no editor com a palavra Total na frente da iteração do LookML do nome do campo. Por exemplo, para um campo chamado Count,
o Looker dá ao total da coluna para esse campo o nome
Count - Total.
O nome do LookML para totais está no formato ${view_name.field_name:total},
em que :total é adicionado ao final do nome do campo.
Para totais de linhas, as palavras Totais de linhas 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
É possível adicionar operadores lógicos, como AND, OR e NOT, à expressão, se necessário. 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 operadores matemáticos
(como + e *).
Quando você mantém o ponteiro sobre um operador, as observações para uso adequado são mostradas no painel de informações.
Adicionar funções
Para incluir uma função do Looker na expressão, comece a digitar o nome da função. 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. Quando você mantém o ponteiro sobre uma função, confira as observações no painel de informações para entender quais argumentos precisam ser fornecidos e qual tipo eles precisam ser.
Para uma lista completa de funções, consulte Funções e operadores do Looker.
Usar dicas de erro 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 fornece documentação e sugestões, principalmente se a expressão contiver um erro.
O painel de informações fornece as seguintes informações:
Destaque de erros: o Looker sublinha em vermelho todas as partes de a expressão que ainda não estão corretas.
Sugestões e detalhes de erros: o Looker dá sugestões sobre o que adicionar em seguida na expressão. Se houver um erro, ele explica por que o erro ocorre.
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 o primeiro argumento precisa ser avaliado comoyesouno. Clique no nome da função para conferir a documentação.
Incluir comentários
É possível incluir comentários em expressões do Looker iniciando 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, medida ou 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.
Conforme descrito em Adicionar um campo, é possível 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 do LookML do campo, como ${view_name.field_name}. Digite o nome do campo como ele aparece no seletor de campo, e o editor de expressões vai mostrar o nome do seletor de campo ao lado do identificador do 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 referencia o 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 receber a categoria do produto da linha anterior, use uma função de deslocamento, 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 dinâmicas, como
pivot_index(${order.total_sales}, 1). Para uma lista de funções dinâmicas, consulte Funções dinâmicas.Receber um total de uma linha ou coluna: se você mostrou totais na análise, é possível receber valores totais adicionando
:total(para totais de colunas) ou:row_total(para totais de linhas) ao nome do campo, usando o formato${field_name:total}. Por 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 condições diferentes:
- 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 adicionais:
if (
${order_items.days_to_process}>=4 OR
${order_items.shipping_time}>5 AND
${order_facts.is_first_purchase},
"review", "okay")
é avaliada 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 semelhantes às funções de planilha.
As funções têm a forma de um nome seguido por parênteses, como my_function(). Os valores transmitidos dentro dos parênteses são argumentos, como my_function(argument_1, argument_2).
Por exemplo, a now
função não recebe argumentos e retorna a data e hora atuais: now().
A função round
recebe 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 contains
função:
| Função | Sintaxe | Finalidade |
|---|---|---|
| contains {:#function-contains} | contains(string, search_string) |
Retorna Yes se string contiver search_string. Caso contrário, retorna No. |
A função contains exige dois argumentos: string e search_string.
O argumento string representa o campo ou texto em que pesquisar, e search_string
representa o termo a ser pesquisado:
contains(${customer.feedback_text}, "great")
Se "great" aparecer no feedback do cliente, a função retornará Yes.
Caso contrário, retornará 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 de feedback do cliente está vazio. - A função
ifretorna o texto de feedback, se presente. Caso contrário, 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. Caso contrário, pesquise nos comentários do cliente. Nos dois casos, procure a palavra 'great'."