Uso
value: "string"
export: none |override_required |override_optional
}
Jerarquía
constant |
Valor predeterminado
NingunaAcepta
|
Definición
El parámetro constant
define una constante de LookML, lo que te permite especificar un valor que se puede volver a usar en un proyecto. Se puede hacer referencia a las constantes en cualquier parte del modelo en la que se acepten strings 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 deben definirse en el archivo de manifiesto del proyecto. 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 él se importen 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 al proporcionar un valor nuevo para que esa constante se use en la importación de proyectos. El parámetro export
tiene los siguientes valores posibles:
none
: Es el valor predeterminado deexport
. No se puede anular el valor de la constante en el proyecto de importación. El proyecto de importación utiliza el valor constante especificado en el archivo de manifiesto del proyecto importado.override_optional
: El valor de la constante se puede anular de manera 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 que se definen en un proyecto cuyos archivos importas solo pueden usarse para los archivos importados y no para 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 a fin de proporcionar un valor nuevo para una constante que tenga export
configurado como 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 sobre cómo anular constantes en la importación de proyectos.
Ejemplos
Estos son algunos ejemplos de cómo puedes usar el parámetro constant
para definir los valores que se pueden usar en 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 string, 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 Pedidos de San Francisco y Pedidos de San Francisco en el menú Explorar y en los títulos de Explorar, en lugar de las etiquetas Usuarios y Pedidos predeterminadas:
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
si especificas @{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 basada en la tabla users
del esquema 02349_sfo
.
Cómo usar variables líquidas y HTML con constantes
Imagina que deseas que los valores de datos negativos se muestren entre paréntesis y en una fuente roja. Si establece este formato como el valor de una constante de LookML, puede especificar el formato solo una vez mediante las variables líquidas 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 apliques este formato a un campo:
constant: negative_format {
value: "{% dynamic if value < 0 %}<p style=\"color:red; \">({{rendered_value}})</p>{% dynamic else %} {{rendered_value}} {% dynamic endif %}"
}
Esto crea una negative_format
constante que especifica que los valores de datos negativos deben tener una fuente roja y estar rodeados entre paréntesis. Luego, puedes aplicar este formato a las dimensiones y medidas de tu conjunto de datos con el parámetro html
.
Por ejemplo, puedes crear una medida de 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 la tabla, los valores negativos para la medida Total Amount tendrán el formato que se especifica en la definición constante de negative_format
, con una fuente roja y rodeado de paréntesis:
Usa constantes en los paneles de LookML
Cuando defines un elemento del panel para un panel de LookML, puedes usar las constantes de LookML a fin de definir el modelo y explorar en función del cual se basa un elemento.
A modo de 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 del panel, puedes establecer el valor de model
como "@{model_name}"
y el valor de explore
como "@{explore_name}"
para los elementos del panel que quieras que se basen en el modelo thelook
y en el orders
de exploración.
Por ejemplo, supongamos que editas el LookML para un elemento del gráfico de columnas. En el archivo del panel, puedes especificar los valores para 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
Qué debes saber
Cómo hacer referencia a constantes dentro de una definición constante
Al definir una constante, puedes hacer referencia a otras constantes definidas dentro del archivo de manifiesto para 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
en el ejemplo anterior:
constant: city_state {
value: "@{city}, California"
}
La constante state
que se declaró anteriormente se resolverá en la string "San Francisco, California".
Escapa una sintaxis constante
Si deseas escribir una string que se asemeje a una sintaxis constante, pero no quieres que esa string se evalúe como constante, puedes escapar la sintaxis constante con el carácter de escape de barra invertida \` after the
@`. Por ejemplo:
dimension: id {
type: string
label: "@\{id}"
sql: ${TABLE}.id
}
En el ejemplo anterior, el parámetro label
muestra la string @{id} como la etiqueta de la dimensión id
, en lugar de evaluar la constante id
y generar su valor.
No se evaluarán las referencias constantes si los corchetes no están cerrados, en cuyo caso no es necesario escapar la sintaxis constante. Por lo tanto, @{id
en el siguiente ejemplo no se evaluaría como una constante.
dimension: id {
type: string
label: "@{id"
sql: ${TABLE}.id
}