Maximizar la reutilización de código con LookML sin redundancias: Define una cadena una vez para usarla en todo tu proyecto de LookML

Puedes usar el parámetro constant de LookML en el archivo de manifiesto de tu proyecto para definir una cadena que se puede usar en todo el proyecto. Las constantes de LookML pueden ser útiles cuando necesitas definir una cadena específica, como un número, un nombre o un formato HTML para los valores de los campos, y reutilizar ese valor en todo el proyecto.

En esta página, se incluyen los siguientes ejemplos del uso de constantes de LookML para definir y mantener valores de cadenas reutilizables en un solo lugar:

Componentes

Requisitos previos

Ejemplo: Uso de la misma cadena en las etiquetas de varios Explorar

Supongamos que deseas crear dos Explorar, etiquetados como Usuarios de San Francisco y Pedidos de San Francisco en la IU, pero no deseas escribir manualmente el texto de cada etiqueta.

Para ello, puedes definir una constante place_name con el valor "San Francisco" en el archivo de manifiesto del proyecto:

constant: place_name {
  value: "San Francisco"
}

Luego, se puede hacer referencia a esta constante en cualquier parte del proyecto en la que se acepte una cadena, con la sintaxis @{place_name}. En este ejemplo, puedes definir los Explorar users y orders, y especificar "@{place_name} Users" y "@{place_name} Orders" como valores para el parámetro label, como en el siguiente ejemplo:


explore: users {
  label: "@{place_name} Users"
}

explore: orders {
  label: "@{place_name} Orders"
}

En este ejemplo, Looker muestra Usuarios de San Francisco y Pedidos de San Francisco en el menú Explorar y en los títulos de las Exploraciones, en lugar de las etiquetas predeterminadas Usuarios y Pedidos.

Supongamos que deseas actualizar todas las referencias a San Francisco a Bay Area.

En lugar de tener que actualizar cada referencia de forma manual, solo debes realizar una actualización en la constante place_name del archivo de manifiesto de tu proyecto:

constant: place_name {
  value: "Bay Area"
}

Como definiste la constante place_name, no tienes que cambiar manualmente San Francisco a Bay Area en varios lugares. Las referencias a San Francisco con la constante place_name se reemplazarán por Área de la Bahía, por lo que Looker mostrará Usuarios del Área de la Bahía y Pedidos del Área de la Bahía en el menú Explorar y en los títulos de las Exploraciones.

Ejemplo: Cómo aplicar el mismo formato a los valores negativos de varios campos

Imagina que deseas que los valores de datos negativos se muestren en rojo y entre paréntesis dondequiera que aparezcan en los gráficos o las consultas.

Si configuras este formato como el valor de una constante de LookML, puedes especificar el formato solo una vez con variables de Liquid y HTML. Luego, puedes hacer referencia a la constante cuando quieras aplicar ese formato a un campo.

Por ejemplo, puedes crear una constante llamada negative_format que puedes usar para aplicar este formato a un campo:


constant: negative_format {
  value: "{% if value < 0 %}
            <p style='color:red;'>({{rendered_value}})</p>
          {% else %}
            {{rendered_value}}
          {% endif %}"
}

Este código crea la constante negative_format, que especifica que los valores de datos negativos deben tener una fuente roja y estar entre paréntesis. Luego, puedes aplicar este formato a las dimensiones y las medidas de tu conjunto de datos con el parámetro html.

Por ejemplo, puedes crear la medida Importe total de type: sum y especificar @{negative_format} como el valor del parámetro html:


measure: total_amount {
  type: sum
  value_format_name: usd
  sql: ${amount} ;;
  html: @{negative_format} ;;
}

En tu tabla, los valores negativos de la métrica Importe total se formatearán según se especifica en la definición de la constante negative_format, con una fuente roja y entre paréntesis.

Si deseas aplicar el mismo formato a los valores negativos de otros campos, puedes hacer referencia a la constante negative_format en el parámetro html de esos campos.