Las expresiones de Looker son fórmulas que usas para realizar cálculos personalizados y aplicar lógica avanzada en Looker. Usa expresiones de Looker para crear cálculos basados en tablas dinámicas, campos personalizados, filtros personalizados y pruebas de datos. Esta capacidad te ayuda a extraer estadísticas específicas y personalizar tu análisis de datos. En esta guía, se describe cómo crear y usar expresiones de Looker de manera eficaz.
Accesos directos para funciones comunes
Antes de crear expresiones de Looker, verifica si tu tarea se puede completar con accesos directos integrados:
- Cálculos basados en tablas: Si el administrador te otorgó permisos para crear cálculos basados en tablas, puedes usar los cálculos de acceso directo para realizar rápidamente cálculos comunes en campos numéricos en la tabla de datos de una exploración.
- Campos personalizados: Si el administrador te otorgó
permisos
para crear campos personalizados, puedes usar lo siguiente:
- Grupos personalizados para agrupar
valores en etiquetas personalizadas sin necesidad de desarrollar
CASE WHENlógica ensqlparámetros otype: casecampos. - Contenedores personalizados para agrupar
dimensiones de tipo numérico en niveles personalizados sin necesidad de desarrollar
type: tiercampos LookML.
- Grupos personalizados para agrupar
valores en etiquetas personalizadas sin necesidad de desarrollar
Expresiones de Looker
Las expresiones de Looker se usan para realizar cálculos para lo siguiente:
Una expresión de Looker se crea a partir de una combinación de estos elementos:
NULL: El valorNULLindica que no hay datos y puede ser útil cuando quieres verificar que algo esté vacío o no exista.Una constante: Una constante es un valor inmutable que proporcionas. Un número como
7o una cadena comoCompletedson constantes.Un campo de Looker: Una referencia a un campo de Looker , que incluye dimensiones, medidas y cálculos basados en tablas.
Un operador de Looker: Para obtener una lista de los operadores disponibles, consulta Funciones y operadores de Looker. Los operadores admitidos incluyen las siguientes categorías:
- Operadores matemáticos (como
+,-,*y/) - Operadores de comparación (como
=,>y<=) - Operadores lógicos (como
AND,ORyNOT)
- Operadores matemáticos (como
Una función de Looker: Al igual que las funciones de hojas de cálculo, las funciones te permiten transformar tus datos o hacer referencia a ellos de formas complejas. Para obtener una lista de las funciones disponibles, consulta Funciones y operadores de Looker.
Crea expresiones de Looker
Los cálculos basados en tablas, los campos personalizados, and los filtros personalizados use the editor de expresiones de Looker. A medida que escribes tu expresión, Looker te solicita funciones, operadores y nombres de campos que quizás quieras usar.
Ver todas las sugerencias
Para acceder al editor de expresiones de Looker en una exploración, crea un cálculo basado en tablas, campo personalizado o filtro personalizado.
Escribe un espacio para ver una lista de todos los campos, funciones y operadores que puedes elegir. Si se selecciona un campo en la exploración, Looker muestra un punto negro a la izquierda del campo y lo muestra en la parte superior de la lista.
Comienza a escribir en el editor de expresiones de Looker para acortar la lista a los elementos que te interesan.
El editor de campos personalizados muestra los campos de exploración que se usan actualmente, si son compatibles con la función del campo personalizado.
Agregar un campo
Para incluir un campo de Looker en tu expresión, comienza a escribir el nombre del campo. A medida que escribes, el editor reduce tu búsqueda a una lista de campos y funciones que contienen lo que escribiste. Puedes escribir el nombre del campo tal como aparece en la página Explorar o usar su nombre de LookML si lo conoces.
Cuando seleccionas un campo de la lista, Looker lo agrega a tu expresión con el nombre de LookML en el formato ${view_name.field_name}. Esto garantiza que todos tus campos tengan nombres únicos en tu expresión.
Agregar totales
Si creas una expresión basada en una exploración en la que
mostraste totales,
también puedes incluir totales de columnas y filas en tu expresión. Los totales de columnas aparecen en el editor con la palabra Total delante de la iteración de LookML del nombre del campo. Por ejemplo, para un campo llamado Count,
Looker le asigna al total de la columna para ese campo el nombre
Count - Total.
El nombre de LookML para los totales tiene el formato ${view_name.field_name:total},
en el que :total se agrega al final del nombre del campo.
En el caso de los totales de filas, las palabras Row Totals aparecen delante del nombre del campo en el editor. En el nombre de LookML del campo, se agrega :row_total al final
del nombre del campo, como ${view_name.field_name:row_total}.
Agregar operadores
Si es necesario, puedes agregar operadores lógicos como AND, OR y NOT a tu expresión. Por lo general, los operadores AND se evalúan antes que los operadores OR, pero puedes anular este comportamiento con paréntesis. También puedes usar
operadores de comparación (como >, = y <=) y operadores matemáticos
(como + y *).
Cuando mantienes el puntero sobre un operador, las notas para el uso adecuado se muestran en el panel de información.
Agregar funciones
Para incluir una función de Looker en tu expresión, comienza a escribir el nombre de la función. A medida que escribes, el editor reduce tu búsqueda a una lista de campos y funciones que contienen lo que escribiste.
Las funciones pueden estar formadas por argumentos (o variables) que requieren un tipo determinado, como un campo, un número o sí/no. Cuando mantienes el puntero sobre una función, consulta las notas en el panel de información para comprender qué argumentos debes proporcionar y de qué tipo deben ser.
Para obtener una lista completa de las funciones, consulta Funciones y operadores de Looker.
Usar sugerencias de errores y el panel de información
Looker muestra un panel de información junto al editor de expresiones de Looker. Este panel proporciona documentación y sugerencias, en especial si tu expresión contiene un error.
El panel de información proporciona la siguiente información:
Resaltado de errores: Looker subraya en rojo cualquier parte de la expresión que aún no sea correcta.
Sugerencias y detalles de errores: Looker ofrece sugerencias sobre qué agregar a continuación en tu expresión. Si hay un error, explica por qué se produce.
Documentación: Looker muestra documentación sobre la función o el operador con el que estás trabajando. Por ejemplo, mientras escribes el primer argumento de una función
if, Looker indica que el primer argumento debe evaluarse comoyesono. Haz clic en el nombre de la función para ver su documentación.
Incluir comentarios
Puedes incluir comentarios en las expresiones de Looker comenzando la línea de comentarios con # en el editor de expresiones.
Usar campos
A veces, quieres usar el valor de un campo (una dimensión, una medida o un cálculo basado en tablas) en una expresión. Es posible que quieras agregar el valor del campo a otra cosa, verificar que tenga un valor determinado o incluirlo en una función.
Como se describe en Agregar un campo, puedes escribir el nombre del campo
en el editor de expresiones, y Looker te ayudará a encontrar el formato de referencia correcto. Cuando agregas un campo a una expresión, Looker usa el identificador LookML del campo, como ${view_name.field_name}. Escribe el nombre del campo tal como aparece en el selector de campos, y el editor de expresiones mostrará el nombre del selector de campos junto con el identificador LookML.
Existen varias formas de recuperar un valor:
Obtener un valor de la misma fila: La forma más básica de usar un campo es hacer referencia a él directamente, como
${product.category}. Esto hace referencia al valor de ese campo en la fila actual.Obtener un valor de una fila diferente: También puedes recuperar el valor de un campo de una fila diferente. Por ejemplo, para obtener la categoría de producto de la fila anterior, usa una función de desplazamiento como
offset(${product.category}, -1). Para obtener una lista de funciones posicionales, consulta Funciones posicionales.Obtener un valor de una columna dinámica: Para obtener valores de columnas dinámicas, usa funciones dinámicas como
pivot_index(${order.total_sales}, 1). Para obtener una lista de funciones dinámicas, consulta Funciones dinámicas.Obtener un total de una fila o una columna: Si mostraste totales en tu exploración, puedes obtener valores totales agregando
:total(para totales de columnas) o:row_total(para totales de filas) al nombre del campo, con el formato${field_name:total}. Por ejemplo:${orders.count} / ${orders.count:total}.
Usar operadores
Las expresiones de Looker pueden incluir operadores lógicos, de comparación y matemáticos para crear diferentes condiciones:
- Operadores lógicos (como
AND,ORyNOT) - Operadores de comparación (como
>y<) - Operadores matemáticos (como
+y-)
A menos que especifiques lo contrario con paréntesis, la lógica AND se evalúa antes que la lógica OR. La siguiente expresión sin paréntesis adicionales:
if (
${order_items.days_to_process}>=4 OR
${order_items.shipping_time}>5 AND
${order_facts.is_first_purchase},
"review", "okay")
se evalúa de la siguiente manera:
if (
${order_items.days_to_process}>=4 OR
(${order_items.shipping_time}>5 AND ${order_facts.is_first_purchase}),
"review", "okay")
En Looker, usa yes y no en lugar de true y false.
Estas constantes lógicas no son lo mismo que las cadenas literales "yes"
y "no". Para obtener más información, consulta
Constantes lógicas.
Usar funciones
Las expresiones de Looker suelen incluir una o más funciones para recuperar o calcular datos. Son similares a las funciones de hojas de cálculo.
Las funciones tienen la forma de un nombre seguido de paréntesis, como my_function(). Los valores que se pasan dentro de los paréntesis son argumentos, como my_function(argument_1, argument_2).
Por ejemplo, la now
función no toma argumentos y muestra la fecha y la hora actuales: now().
La round función
toma un argumento numérico: round(3.2). El resultado es 3.
Para saber qué argumentos proporcionar, haz lo siguiente:
- El panel de información junto al editor de expresiones proporciona documentación para la función activa.
- Para obtener una lista completa de las funciones, consulta Funciones y operadores de Looker.
Considera la contains
función:
| Función | Sintaxis | Objetivo |
|---|---|---|
| contains {:#function-contains} | contains(string, search_string) |
Muestra Yes si string contiene search_string, y No en caso contrario. |
La función contains requiere dos argumentos: string y search_string.
El argumento string representa el campo o el texto en el que se debe buscar, y search_string
representa el término que se debe buscar:
contains(${customer.feedback_text}, "great")
Si aparece "great" en los comentarios de los clientes, la función devuelve Yes.
De lo contrario, muestra No.
Puedes anidar funciones dentro de otras funciones:
contains(
if(
is_null(${customer.feedback_text}),
${customer.comment_text},
${customer.feedback_text}
),
"great")
Esta expresión se evalúa en tres pasos:
- La función
is_nullverifica si el texto de los comentarios de los clientes está vacío. - La función
ifdevuelve el texto de los comentarios si está presente; de lo contrario, devuelve el texto de los comentarios. - La función
containsbusca "great" en el texto devuelto.
Lógicamente, esta expresión significa: "Si hay comentarios de los clientes, busca en ese texto. De lo contrario, busca en los comentarios de los clientes. En ambos casos, busca la palabra 'great'".