Uso
constant: constant_name { value: "string" export: none | override_required | override_optional }
|
Jerarquía
constant |
Valor predeterminado
Ninguno
Acepta
|
Definición
El parámetro constant define una constante de LookML, lo que te permite especificar un valor que se puede reutilizar en todo un proyecto. Se puede hacer referencia a las constantes en cualquier parte del modelo en la que se acepten cadenas y con los parámetros model y explore de un elemento de panel de LookML, lo que ayuda a reducir la repetición en tu código de LookML.
Las constantes se deben definir en el archivo de manifiesto del proyecto. Luego, las constantes se pueden usar en todo un proyecto con la sintaxis @{constant_name}.
Puedes usar el subparámetro export de constant para especificar si los desarrolladores deben anular el valor de una constante cuando los archivos que hacen referencia a ella se importan a otro proyecto.
export
Puedes usar el subparámetro export de constant para determinar cómo se puede usar una constante cuando los archivos que hacen referencia a esa constante se importan a otros proyectos.
De forma predeterminada, los archivos importados que hacen referencia a una constante usan el valor especificado en el archivo de manifiesto del proyecto importado en el proyecto de importación. El parámetro export especifica si los desarrolladores deben anular el valor de una constante proporcionando un valor nuevo para esa constante que se usará en la importación de proyectos. El parámetro export tiene los siguientes valores posibles:
none: Es el valor predeterminado paraexport. El valor de la constante no se puede anular en el proyecto de importación. El proyecto de importación usa el valor constante especificado en el archivo de manifiesto del proyecto importado.override_optional: El valor de la constante se puede anular de forma opcional en tu proyecto de importación. Si no se proporciona un valor en el archivo de manifiesto del proyecto de importación, se usa el valor original del proyecto importado.override_required: El proyecto de importación debe anular el valor de la constante que se especificó originalmente en el archivo de manifiesto del proyecto importado. Si no se proporciona un valor de constante nuevo en el proyecto de importación, Looker mostrará un error.
Las constantes solo están disponibles para los archivos del proyecto en el que se definen originalmente. Por lo tanto, las constantes que se definen en un proyecto cuyos archivos importaste solo pueden usarse en los archivos importados, y no en los archivos definidos en el proyecto de importación.
Si quieres usar una constante en los archivos del proyecto de importación, debes definir una nueva constante en el archivo de manifiesto del proyecto de importación. Una constante definida de esta manera solo estará disponible para los archivos definidos en el proyecto de importación.
Cuando importas archivos que hacen referencia a una constante en otro proyecto, puedes usar el subparámetro override_constant de local_dependency o remote_dependency en el archivo de manifiesto del proyecto de importación para proporcionar un valor nuevo para una constante que tiene export establecido en override_optional o override_required.
Consulta la página de documentación Importa archivos de otros proyectos para obtener más información y un ejemplo de anulación de constantes en proyectos de importación.
Ejemplos
Estos son algunos ejemplos de cómo puedes usar el parámetro constant para definir valores que se pueden usar en todo un proyecto.
Etiqueta exploraciones con el parámetro constant
Supongamos que quieres crear dos exploraciones, etiquetadas como Usuarios de San Francisco y Pedidos de San Francisco en la IU. Para ello, puedes definir una constante city con el valor "San Francisco" en el archivo manifest.lkml de tu proyecto:
constant: city {
value: "San Francisco"
}
Luego, se puede hacer referencia a esta constante en cualquier parte de tu proyecto en la que se acepte una cadena, con la sintaxis @{city}. En este ejemplo, puedes definir las exploraciones users y orders, y especificar "@{city} Users" y "@{city} Orders" como valores para el parámetro label, como en el siguiente ejemplo:
explore: users {
label: "@{city} Users"
}
explore: orders {
label: "@{city} Orders"
}
En este ejemplo, Looker muestra San Francisco Users y San Francisco Orders en el menú Explorar y en los títulos de las exploraciones, en lugar de las etiquetas predeterminadas Users y Orders.

Usa el parámetro sql_table_name con constantes
Supongamos que quieres crear varias vistas basadas en tablas del esquema 02349_sfo. Para evitar tener que especificar el valor 02349_sfo varias veces, crea una constante llamada schema en el archivo manifest.lkml de tu proyecto, de la siguiente manera:
constant: schema {
value: "02349_sfo"
}
Luego, puedes crear vistas basadas en el esquema 02349_sfo especificando @{schema}.view_name como el valor del parámetro sql_table_name:
view: users {
sql_table_name: @{schema}.users ;;
}
Esto crea una vista llamada Users que se basa en la tabla users del esquema 02349_sfo.
Usa variables de Liquid y HTML con constantes
Imagina que quieres que los valores de datos negativos se muestren entre paréntesis y en una fuente de color rojo. Si estableces 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 cada vez que quieras aplicar ese formato a un campo.
Por ejemplo, puedes crear una constante negative_format con la que aplicar este formato a un campo:
constant: negative_format {
value: "{% if value < 0 %}<p style='color:red;'>({{rendered_value}})</p>{% else %} {{rendered_value}} {% endif %}"
}
Esto crea una constante negative_format que especifica que los valores de datos negativos deben tener una fuente roja y estar rodeados de paréntesis. Luego, puedes aplicar este formato a las dimensiones y mediciones de tu conjunto de datos con el parámetro html.
Por ejemplo, puedes crear la medición 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 medición Importe total se formatearán como se especifica en la definición de la constante negative_format, con una fuente roja y entre paréntesis.

Usa constantes en los paneles de LookML
Cuando defines un elemento de panel para un panel de LookML, puedes usar constantes de LookML para definir el modelo y la exploración en los que se basa un elemento.
Por ejemplo, supongamos que definiste las constantes model_name y explore_name en el archivo manifest.lkml de tu proyecto:
constant: model_name {
value: "thelook"
}
constant: explore_name {
value: "orders"
}
En tu archivo de panel, puedes establecer el valor de model en "@{model_name}" y el valor de explore en "@{explore_name}" para cualquier elemento de panel que desees que se base en el modelo thelook y la exploración orders.
Por ejemplo, supongamos que estás editando el LookML de un elemento de gráfico de columnas. En el archivo del panel, puedes especificar los valores de los parámetros model y explore de la siguiente manera:
- dashboard: dashboard_name
title: "dashboard title"
layout: newspaper
elements:
- title: Element Title
name: element_name
model: "@{model_name}"
explore: "@{explore_name}"
type: looker_column
Usa constantes en las instrucciones del agente del panel
También puedes usar constantes de LookML dentro del parámetro instructions de un agente de panel de LookML para compartir reglas o lineamientos empresariales estándar en varios agentes de panel.
Por ejemplo, define una constante en tu archivo manifest.lkml:
constant: FISCAL_YEAR_RULE {
value: "Always filter all requests by the current fiscal year unless specified otherwise."
}
Luego, puedes hacer referencia a la constante en el parámetro instructions de una definición de agent:
agent: sales_dashboard_agent {
instructions: "Focus on revenue metrics. @{FISCAL_YEAR_RULE}"
is_dashboard_agent: yes
}
Información importante
Cómo hacer referencia a constantes dentro de una definición de constante
Cuando defines una constante, puedes hacer referencia a otras constantes definidas en el archivo de manifiesto de tu proyecto. Supongamos que ya declaraste una constante city:
constant: city {
value: "San Francisco"
}
Luego, puedes declarar una constante state que haga referencia a la constante city:
constant: city_state {
value: "@{city}, California"
}
La constante state se resolverá en la cadena "San Francisco, California".
Sintaxis de escape de constantes
Cuando quieras escribir una cadena que se parezca a la sintaxis de una constante, pero no quieras que esa cadena se evalúe como una constante, puedes usar el carácter de escape de barra inversa \ después del carácter @. Por ejemplo:
dimension: id { type: string label: "@{id}" sql: ${TABLE}.id }
In this example, the [`label` parameter](/looker/docs/2620/reference/param-explore-label) displays the string **@{id}** as the label for the `id` dimension, rather than evaluating the `id` constant and outputting its value.
Constant references won't be evaluated if the brackets are not closed, in which case it is not necessary to escape constant syntax. Thus, `@{id` in the following example wouldn't be evaluated as a constant.
```none
dimension: id {
type: string
label: "@{id"
sql: ${TABLE}.id
}