Crea expresiones de Looker

Si el administrador te otorgó permisos para crear cálculos en tablas, puedes usar las siguientes funciones para realizar funciones comunes con rapidez sin crear expresiones de Looker:

Si el administrador te otorgó los permisos para crear campos personalizados, puedes usar las siguientes funciones para realizar con rapidez funciones comunes sin necesidad de crear expresiones de Looker:

Realizar expresiones de Looker

Las expresiones de Looker (a veces llamadas Lexp) se usan para realizar cálculos para 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 quieres comprobar que algo está vacío o no existe.

  • Una constante: Una constante es un valor que no cambia y que proporcionas. Un número como 7 o una cadena como Completed son constantes.

  • Un campo de Looker: Es una referencia a un campo de Looker, que incluye las dimensiones, las medidas y los cálculos basados en tablas.

  • Un operador de Looker: Existen 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 datos de referencia de maneras 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 tabla, los campos personalizados y los filtros personalizados usan el editor de expresiones de Looker. A medida que escribes tu expresión, Looker te mostrará funciones, operadores y nombres de campos que quizás desees usar.

Sugerencia práctica: 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 para compilar una expresión de Looker y, luego, copiarla en el parámetro expression de tu prueba de datos.

Ver todas las sugerencias

Para acceder al editor de expresiones de Looker en una exploración, crea cálculos de tablas, un campo personalizado o un filtro personalizado.

Escribe un espacio para ver una lista de todos los campos, funciones y operadores entre los que puedes elegir. Si un campo está seleccionado en Explorar, Looker mostrará un círculo negro a la izquierda del campo y lo mostrará en la parte superior de la lista.

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

El editor de campos personalizados muestra los campos de la exploración que están en uso actualmente, si son compatibles con la función del campo personalizado.

Agrega 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 tu búsqueda a una lista de campos y funciones que contienen lo que escribes. Puedes escribir el nombre del campo como aparece en la página Explorar o puedes 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 la expresión.

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

Sumar totales

Si creas una expresión basada en una exploración en la que muestras los totales, también puedes incluir los totales de columna y fila en la expresión. Los totales de la columna aparecen en el editor con la palabra Total frente a la iteración de LookML del nombre del campo. Por ejemplo, para un campo llamado Recuento, Looker le asignará el nombre Count - Total al total de la columna para ese campo.

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 fila aparecen frente al nombre del campo en el editor y, en el nombre de LookML del campo, se agrega :row_total 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 si usas 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 la expresión en el panel de información.

Puedes leer instrucciones más detalladas para usar operadores en la sección Cómo usar 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 tu búsqueda a una lista de campos y funciones que contienen lo que escribes.

Las funciones se pueden construir a partir de 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 de qué tipo deben ser.

Puedes consultar la lista completa de funciones que ofrece Looker en la página de documentación Funciones y operadores de Looker.

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

Uso de las 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. Este panel proporciona documentación y sugerencias, especialmente si tienes un error en la expresión.

El editor proporciona lo siguiente:

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

  • Sugerencias y detalles del error: La parte superior del panel de información ofrece sugerencias sobre qué agregar a continuación en tu expresión. Si se produce un error, explica por qué se produjo. Si hay varios errores, el error 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 estás trabajando, según la posición del cursor. Por ejemplo, cuando escribes el primer argumento de una función if(), Looker proporciona la información que el primer argumento debe evaluar como verdadero o falso. Puedes hacer clic en el nombre de la función en esa sección para navegar a su documentación.

Incluir comentarios

Puedes incluir comentarios en las expresiones de Looker comenzando la línea de comentarios con #.

Uso de campos

A veces, querrás 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 desees agregar el valor del campo a otra cosa, comprobar que tenga un cierto valor, 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 de 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 campos, pero no hay problema si no sabes cuál es. Escribe el nombre del campo tal como aparece en el selector de campos, y el editor de expresiones te mostrará el nombre del selector de campos y el identificador de LookML juntos.

Existen varias formas de recuperar un valor:

  • Obtén un valor de la misma fila: La forma más básica de usar un campo es hacer referencia a él directamente. 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 otra fila. Por ejemplo, quizás quieras usar la lógica “para cualquier fila, toma la categoría de producto de la fila anterior”. Para hacerlo, puedes usar una función de desplazamiento (consulta esta lista de funciones posicionales). La función de desplazamiento podría verse de la siguiente manera: offset(${product.category}, -1).

  • Obtén un valor de una columna dinámica: También puedes obtener valores de una columna dinámica. Por ejemplo, quizás quieras usar la lógica “para cualquier fila dada, toma las Ventas totales de la primera columna dinámica”. Para trabajar con columnas dinámicas, deberás usar las funciones dinámicas (consulta esta lista de funciones dinámicas). La función dinámica podría verse de la siguiente manera: pivot_index(${order.total_sales}, 1).

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

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

No todas las opciones de fecha y hora se admiten en los filtros personalizados o los campos personalizados. Para obtener más información, consulta la descripción del parámetro del grupo de dimensiones.

Cuando haces referencia a los campos en un cálculo basado en tablas, puedes hacer referencia a cualquier valor de cualquier dimensión, medida o cálculo basado en tablas.

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, se considera la lógica AND antes de 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 las constantes lógicas para obtener más detalles.

Uso de las funciones

Las expresiones de Looker a menudo incluyen una o más funciones, que te ayudan a recuperar ciertos datos o calcular ciertos elementos. Su naturaleza es similar a las funciones de Excel.

Las funciones toman la forma de un nombre seguido de dos paréntesis, de la siguiente manera: my_function(). Es posible que debas proporcionar información dentro de esos paréntesis, separada por comas. Estos bits de información se denominan "argumentos" y tienen el siguiente aspecto: my_function(argument_1, argument_2).

Por ejemplo, la función now no toma ningún argumento y te brinda 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 maneras de saber qué argumentos deberás proporcionar, si corresponde:

  • En el panel de información que aparece a la derecha del editor de expresiones, se proporciona documentación sobre la función que estás escribiendo. 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 quieres usar.

Considera la función contains, que tiene documentación que se ve de la siguiente manera:

Función Sintaxis Objetivo
contiene contains(string, search_string) Muestra Yes si string contiene search_string, y No en caso contrario.

Puedes ver que se requieren dos argumentos. Tienen los nombres string y search_string, pero eso no significa que debas escribir la palabra exacta "cadena" y "cadena_búsqueda" en la función. Estos son solo nombres para los argumentos que reemplazarás por algo. Si leemos el propósito, vemos que string debe ser un campo o algún 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 arroja un resultado de 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í anidadas 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 si hay texto de comentarios de los clientes.
  2. A continuación, la función if() usa ese resultado y muestra el texto del comentario del cliente, si corresponde. De lo contrario, muestra el texto del comentario del cliente.
  3. Por último, la función contains() usa el texto que muestra la función if() y busca la palabra "Great".

Lógicamente, esta expresión significa: “Si hay comentarios de clientes, entonces búscalos en ella. Si no es así, búscalas en los comentarios de los clientes. En ambos casos, busca la palabra 'great' ".

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

Puedes usar cualquier función en un cálculo basado en tablas. 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 basado en tablas que da como resultado un sí (booleano).