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 del 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 el proyecto con la sintaxis de @{constant_name}.
Puedes usar el parámetro secundario 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 parámetro secundario 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 puede tener los siguientes valores:
none: Es el valor predeterminado deexport. 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 el 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 constante especificado originalmente en el archivo de manifiesto del proyecto importado. Si no se proporciona un valor 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 definieron originalmente. Por lo tanto, las constantes definidas 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 constante nueva 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 nuevo valor para una constante que tenga export establecido en override_optional o override_required.
Consulta la página de documentación Cómo importar archivos de otros proyectos para obtener más información y ver un ejemplo de cómo anular 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 las exploraciones con el parámetro constant
Supongamos que deseas 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 del proyecto en la que se acepte una cadena, con la sintaxis @{city}. En este ejemplo, puedes definir los Explorar 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 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.

Usa el parámetro sql_table_name con constantes
Supongamos que deseas 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 con una fuente roja. 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 cuando 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 entre 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 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.

Cómo usar constantes en los paneles de LookML
Cuando defines un elemento del 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 del panel que desees que se base en el modelo thelook y en el Explorar 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
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".
Cómo escapar la sintaxis de constantes
Cuando quieras escribir una cadena que se parezca a la sintaxis de una constante, pero no quieras que se evalúe como una constante, puedes escapar la sintaxis de la constante con el carácter de escape de barra inversa \ después del carácter @. Por ejemplo:
dimension: id {
type: string
label: "@\{id}"
sql: ${TABLE}.id
}
En este ejemplo, el parámetro label muestra la cadena @{id} como la etiqueta de la dimensión id, en lugar de evaluar la constante id y generar su valor.
Las referencias constantes no se evaluarán si no se cierran los corchetes, en cuyo caso no es necesario escapar la sintaxis de constantes. Por lo tanto, @{id en el siguiente ejemplo no se evaluaría como una constante.
dimension: id {
type: string
label: "@{id"
sql: ${TABLE}.id
}