constante

Uso

constant: constant_name {
  value: "string"
  export: none | override_required | override_optional
}
Jerarquía
constant
Valor predeterminado
Ninguno

Acepta
  • Un subparámetro value, que acepta una cadena que especifica el valor de la constante
  • Un subparámetro export, que especifica si se debe anular la constante cuando se usa en proyectos de importación

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, se pueden usar en todo un proyecto con la sintaxis @{constant_name}.

Puedes usar el export subparámetro 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 que esa constante se use en proyectos de importación. El parámetro export tiene los siguientes valores posibles:

  • none: Es el valor predeterminado de export. 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 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 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 deseas 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 valor nuevo para una constante que tenga export establecida 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 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 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 de tu proyecto en la que se acepte una cadena, con la sintaxis @{city}. En este ejemplo, puedes definir las exploraciones users y orders, especificando "@{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 Usuarios que se basa en la tabla users del esquema 02349_sfo.

Usa variables de Liquid y HTML con constantes

Imagina que deseas 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 una sola vez con variables de Liquid y HTML. Luego, puedes hacer referencia a la constante cada vez que desees 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 las mediciones de tu conjunto de datos con el html parámetro.

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 constante negative_format, con una fuente roja y entre paréntesis.

Usa constantes en 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 del panel, puedes establecer el valor de model en "@{model_name}" y establecer el valor de explore en "@{explore_name}" para cualquier elemento del 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 [Vista previa]

También puedes usar constantes de LookML dentro del parámetro instructions de un agente del panel de LookML para compartir reglas o lineamientos comerciales estándar en varios agentes del 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 instructions parámetro de una agent definición:

agent: sales_dashboard_agent {
  instructions: "Focus on revenue metrics. @{FISCAL_YEAR_RULE}"
  is_dashboard_agent: yes
}

Información importante

Haz 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".

Escapa la sintaxis constante

Cuando deseas escribir una cadena que se asemeja a la sintaxis constante, pero no deseas que se evalúe como una constante, puedes escapar la sintaxis constante con el carácter de escape de barra invertida \ después del carácter @. Por ejemplo:

```none

dimension: id { type: string label: "@{id}" sql: ${TABLE}.id }




In this example, the [`label` parameter](/looker/docs/2614/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
}