Crea expresiones de Looker

Si el administrador habilitó la función de Campos personalizados, puedes usar las siguientes funciones para realizar funciones comunes con rapidez sin crear expresiones de Looker:

  • Cálculos rápidos para realizar cálculos comunes con rapidez en campos numéricos que se encuentran en la tabla de datos de Explorar
  • Grupos personalizados para agrupar rápidamente los valores por etiquetas personalizadas sin necesidad de desarrollar una lógica CASE WHEN en parámetros sql o campos type: case
  • Contenedores personalizados para agrupar valores de dimensión de tipo numérico en niveles personalizados sin necesidad de desarrollar campos type: tier LookML

Realizar expresiones de Looker

Las expresiones de Looker (a veces denominadas Lexp) se usan para realizar cálculos de lo siguiente:

Una expresión de Looker se compila a partir de una combinación de estos elementos:

  • NULL: El valor NULL indica que no hay datos y puede ser útil cuando deseas verificar que algo esté vacío o no exista.

  • Una constante: Una constante es un valor constante que tú proporcionas. Un número como 7 o una string como Completed son constantes.

  • Un campo de Looker: Una referencia a un campo de Looker, que incluye dimensiones, medidas y cálculos de tabla

  • Un operador de Looker: Hay varios tipos de operadores (que se enumeran en la página de documentación Funciones y operadores de Looker):

    • Operadores matemáticos (como +, -, * y /)
    • Operadores de comparación (como =, > y <=)
    • Operadores lógicos (como AND, OR y NOT)
  • Una función de Looker: Son de naturaleza similar a las funciones de Excel. Las funciones te permiten transformar tus datos o hacer referencia a ellos de formas complejas. Todas las funciones disponibles se enumeran en la página de documentación Funciones y operadores de Looker.

Crea expresiones de Looker

Los cálculos de tablas, los campos personalizados y los filtros personalizados usan el editor de expresiones de Looker. A medida que escribes tu expresión, Looker te solicita funciones, operadores y nombres de campo que quizás quieras usar.

Sugerencia útil: Si eres desarrollador de Looker y creas una prueba de datos para verificar la lógica de tu modelo, puedes usar el editor de expresiones de Looker a fin de compilar una expresión de Looker y, luego, copiar la expresión en el parámetro expression de tu prueba de datos.

Se muestran todas las sugerencias

Accede al editor de expresiones de Looker en Explorar mediante la creación de cálculos de tablas, campos personalizados o filtros personalizados.

Escribe un espacio para ver una lista de todos los campos, las funciones y los operadores que puedes elegir. Los campos que actualmente se usan en Explorar están marcados con un círculo negro y aparecen en la parte superior.

Comienza a escribir para acortar la lista de elementos que te interesan.

El editor de campos personalizados muestra los campos de Explorar que están en uso, si son compatibles con la función de 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 limita la búsqueda a una lista de campos y funciones que contienen lo que escribiste. Puede escribir el nombre del campo tal como aparece en la página Explorar o usar su nombre de LookML si lo conoce.

Cuando seleccionas un campo de la lista, Looker lo agrega a tu expresión mediante el nombre LookML con el formato ${view_name.field_name}. Esto garantiza que todos los campos tengan nombres únicos en tu expresión.

Puedes leer instrucciones más detalladas para usar los campos en la sección Usa campos de esta página.

Sumar los totales

Si creas una expresión basada en una exploración en la que muestras totales, también puedes incluir los totales de las columnas y las filas en la expresión. Los totales de las columnas aparecen en el editor con la palabra Total delante de la iteración de LookML del nombre del campo. El total de la columna Count aparece como la primera sugerencia a continuación:

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. Para los totales de filas, las palabras Totales de filas aparecen delante del nombre del campo en el editor y, en el nombre de LookML del campo, :row_total se agrega al final del nombre del campo.

Agrega operadores

Puedes agregar operadores lógicos como AND, OR y NOT a tu expresión si es necesario. Por lo general, los operadores AND se evalúan antes que los operadores OR, pero puedes anular este comportamiento mediante paréntesis. También puedes usar operadores de comparación (como >, = y <=) y operadores matemáticos (como + y *).

Cuando el cursor está sobre un operador, las notas para su uso adecuado se muestran a la derecha de tu expresión en el panel de información.

Puedes leer instrucciones más detalladas sobre el uso de operadores en la sección Uso de operadores de esta página.

Agrega 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 limita la búsqueda a una lista de campos y funciones que contienen lo que escribiste.

Las funciones pueden estar compuestas por argumentos (o variables) que requieren un tipo determinado, como un campo, un número o sí/no. Cuando el cursor está en una función, puedes verificar las notas que se muestran a la derecha de tu expresión en el panel de información para comprender qué argumentos debes proporcionar y qué tipo deben ser.

Para ver la lista completa de funciones que ofrece Looker, consulta la página de documentación Funciones y operadores de Looker.

Puedes leer instrucciones más detalladas para usar funciones en la sección Cómo usar funciones de esta página.

Usar sugerencias de errores y el panel de información

A medida que escribes una expresión, Looker muestra un panel de información a la derecha. En este panel, se proporciona documentación y sugerencias, en especial si hay un error en tu expresión.

El editor proporciona lo siguiente:

  • Error en el resaltado: Looker subraya en rojo las partes de la expresión que aún no son correctas.

  • Sugerencias y detalles de errores: La parte superior del panel de información ofrece sugerencias sobre lo que puedes agregar a continuación en tu expresión. Si se produce un error, explica por qué se produce. Si existen varios errores, el que se muestra se basa en la ubicación del cursor.

  • Documentación: En la parte inferior del panel de información, Looker muestra documentación sobre la función o el operador con el que trabaja, según la posición del cursor. Por ejemplo, mientras escribes el primer argumento de una función if(), Looker proporciona la información que el primer argumento debe evaluar como verdadera o falsa. Puedes hacer clic en el nombre de la función en esa sección para navegar a la documentación de esa función.

Incluir comentarios

Puedes incluir comentarios en las expresiones de Looker si comienzas la línea de comentario con #:

Usa campos

A veces, querrás usar el valor de un campo (una dimensión, medida o cálculo de tabla) en una expresión. Es posible que desee agregar el valor del campo a otra cosa, verificar que tenga un valor determinado, incluirlo en una función o muchas otras posibilidades.

Como se describió anteriormente, escribe el nombre del campo en el editor de expresiones, y Looker te ayudará a encontrar la forma correcta de hacer referencia a él. Cuando agregas un campo a una expresión, Looker usa el identificador LookML del campo, que es similar a ${view_name.field_name}. Este identificador no siempre coincide con el nombre del campo en el selector de campo, pero está bien si no lo sabes. Escribe el nombre del campo como aparece en el selector de campo y el editor de expresiones te mostrará el nombre del selector de campo y el identificador de LookML juntos.

Hay varias formas de recuperar un valor:

  • Obtenga un valor de la misma fila: la forma más básica de usar un campo es hacer referencia directamente a él. Por ejemplo, tu expresión podría usar ${product.category}. Cuando haces esto, dices "para cualquier fila, toma la categoría de producto de esa fila".

  • Obtén un valor de una fila diferente: También puedes obtener el valor de un campo de una fila diferente. Por ejemplo, es posible que desee la lógica "para cualquier fila determinada, tome la categoría de producto de la fila anterior" Para hacerlo, puedes usar una función de desplazamiento (consulta esta lista de funciones posicionales). Puede verse así: offset(${product.category}, -1).

  • Obtén un valor de una columna dinámica: También puedes obtener valores de las columnas dinámicas. Por ejemplo, es posible que desee la lógica "para cualquier fila determinada, obtenga el total de ventas de la primera columna dinámica." Para trabajar con columnas dinámicas, debe usar las funciones dinámicas (consulte esta lista de funciones dinámicas). Puede verse así: pivot_index(${order.total_sales}, 1).

  • Obtén el total de una fila o columna: Si agregaste totales a Explorar, puedes obtener los valores totales de la columna o fila si agregas :total (para los totales de la columna) o :row_total (para los totales de la fila) al nombre del campo, con el formato ${field_name:total}. Por ejemplo, si quieres un porcentaje del total del recuento de Pedidos, puedes crear un cálculo de tabla como el siguiente: ${orders.count} / ${orders.count:total}.

Cuando se hace referencia a los campos en un filtro personalizado, solo se pueden usar dimensiones, no mediciones, totales ni cálculos de tablas. Además, no puedes hacer referencia a valores en otras filas o columnas dinámicas. Esto se debe a que Looker debe poder convertir su filtro en SQL para recuperar sus datos.

No todas las opciones de fecha y hora son compatibles con los filtros personalizados o los campos personalizados. Consulte la descripción del parámetro de grupo de dimensiones para obtener más información.

Cuando se hace referencia a los campos en un cálculo de tabla, puedes hacer referencia a cualquier valor de cualquier dimensión, medida o algún otro cálculo de tabla.

Uso de 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, OR y NOT)
  • 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 considera 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, debes usar yes y no en lugar de true y false. Estas constantes lógicas no son lo mismo que las palabras "yes" y "no", que están entre comillas. Consulta la descripción de constantes lógicas para obtener más detalles.

Usa funciones

Las expresiones de Looker suelen incluir una o más funciones, que te ayudan a recuperar ciertos datos o calcular ciertos datos. Son de naturaleza similar a las funciones de Excel.

Las funciones toman la forma de un nombre seguido de dos paréntesis, como este: my_function(). Es posible que debas proporcionar información entre esos paréntesis, separadas por comas. Estos fragmentos de información se denominan "argumentos" y se ven de la siguiente manera: my_function(argument_1, argument_2).

Por ejemplo, la función now no toma ningún argumento y te proporciona la fecha y hora actuales. Se usa de la siguiente manera: now().

La función round toma un argumento, que es un número. Se usa de la siguiente manera: round(3.2). El resultado es 3.

Hay dos formas de saber qué argumentos deberás proporcionar, si corresponde:

  • El panel de información que aparece a la derecha del editor de expresiones proporciona documentación sobre la función que escribes. Puedes hacer clic en el nombre de la función para navegar a su documentación.
  • También puedes navegar directamente a la página de documentación de Funciones y operadores de Looker y buscar la función que deseas usar.

Considera la función contains, que tiene documentación similar a la siguiente:

Function Sintaxis Objetivo
contiene contains(string, search_string) Muestra Yes si string contiene search_string y No en caso contrario

Puedes ver que dos argumentos son obligatorios. Tienen los nombres string y search_string, pero eso no significa que debes ingresar la palabra exacta"string"y"cadena_búsqueda"en la función. Estos son solo los nombres de los argumentos que reemplazarás por algo. Al leer el propósito, vemos que string debe ser un campo u otro valor que queremos buscar en, mientras que search_string es lo que queremos buscar. Un ejemplo podría ser:

contains(${customer.feedback_text}, "great")

Si la palabra "excelente" aparece en los comentarios de los clientes, esta función da como resultado Yes. De lo contrario, muestra un resultado de No.

Puedes colocar funciones dentro de otras funciones para manejar lógicas complejas. Siempre que el resultado de la función interna sea apropiado para los argumentos de la función externa, funcionará. Por ejemplo:

contains(
  if(
    is_null(${customer.feedback_text}),
    ${customer.comment_text},
    ${customer.feedback_text}
  ),
"great")

Aquí anidamos la función is_null dentro de una función if, que se encuentra dentro de una función contains. Funciona de la siguiente manera:

  1. La función is_null() verifica el texto de los comentarios de los clientes.
  2. A continuación, la función if() usa ese resultado y muestra el texto del comentario del cliente, si lo hubiera, o de lo contrario.
  3. Por último, la función contains() usa el texto que muestra la función if() y busca la palabra "excelente".

Lógicamente, esta expresión significa: "Si hay comentarios de los clientes, búscalos". De lo contrario, busca en los comentarios de los clientes. En ambos casos, busca la palabra 'excelente".

Los filtros personalizados y los campos personalizados pueden usar la mayoría de las funciones, pero no pueden usar algunas funciones matemáticas o funciones que hacen referencia a otras filas o columnas dinámicas. En la página de documentación Funciones y operadores de Looker, puedes saber qué funciones puedes usar.

Puedes usar cualquier función en un cálculo de tabla. También puedes usar cualquier función en el parámetro expression de una prueba de datos, ya que el parámetro expression es básicamente un cálculo de tabla que da como resultado un yesno (booleano).