Maximizar la reutilización del código con LookML DRY: definir una cadena una vez para usarla en todo el 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 pueda 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 de uso de constantes de LookML para definir y mantener valores de cadena reutilizables en un solo lugar:

Ingredientes

Requisitos previos

Ejemplo: Usar la misma cadena en las etiquetas de varios Exploraciones

Supongamos que quiere crear dos Exploraciones, llamadas Usuarios de San Francisco y Pedidos de San Francisco, en la interfaz de usuario, pero no quiere 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 de tu proyecto:

constant: place_name {
  value: "San Francisco"
}

Esta constante se puede usar en cualquier parte del proyecto donde se acepte una cadena mediante la sintaxis @{place_name}. En este ejemplo, puede definir las Exploraciones users y orders, especificando "@{place_name} Users" y "@{place_name} Orders" como valores del 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 quieres cambiar todas las referencias a San Francisco por Bay Area.

En lugar de tener que actualizar cada referencia manualmente, solo tienes que hacer una actualización en la constante place_name del archivo de manifiesto de tu proyecto:

constant: place_name {
  value: "Bay Area"
}

Como has definido la constante place_name, no tienes que cambiar manualmente San Francisco por Bay Area en varios lugares. Las referencias a San Francisco con la constante place_name se sustituirán por Bay Area, por lo que Looker mostrará Bay Area Users y Bay Area Orders en el menú Explorar y en los títulos de las exploraciones.

Ejemplo: Aplicar el mismo formato a los valores negativos de varios campos

Supongamos que quiere que los valores de datos negativos se muestren en rojo y entre paréntesis en los gráficos o las consultas.

Si asignas este formato como valor de una constante de LookML, puedes especificar el formato una sola vez mediante variables de Liquid y HTML. Después, puede hacer referencia a la constante cuando quiera 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. Después, puede aplicar este formato a las dimensiones y medidas de su conjunto de datos mediante el parámetro html.

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


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

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

Si quieres 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.