constante

Uso

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

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

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 de export. 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 %}&#60;p style=&#92;"color:red; &#92;">({{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: "@&#92;{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
}