se extiende (para Exploraciones)

En esta página, se hace referencia al parámetro extends que forma parte de Explorar.

extends también se puede usar como parte de una vista, como se describe en la página de documentación del parámetro extends (para vistas).

extends también se puede usar como parte de un panel de LookML, como se describe en la página de documentación Parámetros del panel.

Uso

explore: explore_name {
se extiende: [explore_name, explore_name, ...]
}
Jerarquía
extends
Valor predeterminado
Ninguna

Acepta
Corchetes que contienen una lista separada por comas de los nombres de Explorar

Definición

El parámetro extends te permite compilar sobre el contenido y la configuración de otra exploración, usando la otra exploración como punto de partida. Si hay algún conflicto, la exploración extendida usará su propia configuración, lo que anulará la que se extiende. Consulta la página de documentación Reutiliza el código con extends para conocer los detalles de cómo hace esto Looker.

Revisa las mejoras de LookML.
Extender una vista o Explorar es ideal para situaciones en las que deseas tener varias versiones de la vista o Explorar. Sin embargo, si su objetivo es simplemente modificar una vista o una exploración sin editar el archivo LookML que lo contiene, le recomendamos que, en su lugar, utilice una definición. También puedes usar un parámetro extends dentro de un perfeccionamiento. Consulta la página de documentación de mejoramientos de LookML para obtener más información y casos prácticos.

Cuando extiendas una exploración, es importante que tengas el parámetro view_name en la extensión que se extenderá. El parámetro view_name define la vista en la que se basa una exploración. Su valor predeterminado es el nombre de Explorar. Si no tiene un view_name especificado, el valor predeterminado será el nombre de Explorar. Sin embargo, esto no funciona para otras exploraciones que extienden la exploración base, por lo que se mostraría el error "vista desconocida". Para que Looker use el archivo de vista correcto, debemos especificarlo con el parámetro view_name. Como esto será necesario en cualquier versión extendida de Explorar, la práctica recomendada es agregarla a la base de Explorar para que se haga referencia a ella de forma coherente cada vez que se extienda la función.

Si tu exploración base aún no tiene un parámetro view_name, puedes agregar el parámetro view_name y especificar el mismo valor que tu nombre de Explorar.

También puedes usar el parámetro view_label en tu base y la extensión Explorar. El parámetro view_label determina la etiqueta en la que se agrupan los campos de la vista en el selector de campos (consulta la página de documentación del parámetro view_label (para Explorar) a fin de obtener un ejemplo). Si no especificas un view_label para tu base y la extensión Explorar, ambas usarán el nombre Explorar de la base.

Ejemplo

Este es un ejemplo de exploración que se define en nuestro archivo de modelo:

explore: orders {
  view_name: orders
  view_label: "Orders"
  # The normal contents of the Explore follow
}

Aquí, agregamos una nueva función Explorar que extiende la actividad de exploración orders que definimos anteriormente:

explore: name_of_the_new_explore {
  extends: [orders]
  view_label: "Order Information"
  # The additional things you want to add or change
  # in the new Explore
}

Si extiendes una exploración basada en una vista extendida, también deberás usar el parámetro from. Agregue from a la vista ampliada. Explore y asígnele el nombre de la vista ampliada.

explore: new_explore {
  extends: [orders]
  from: extended_orders_view
  #The normal contents of the Explore follow
}

Usa extends a fin de limitar los campos para diferentes usuarios

Un caso de uso muy útil para extender una función Explorar es mostrar solo un subconjunto de los campos a determinados usuarios. Por ejemplo, supongamos que tienes una exploración de products con todos los campos disponibles de las tablas unidas:

explore: products {
  view_name: products
  from: products
  join: inventory_items {
    type: left_outer
    sql_on: ${products.id}=${inventory_items.product_id} ;;
    relationship: many_to_one
  }

  join: order_items {
    type: left_outer
    sql_on: ${order_items.inventory_item_id}=${inventory_items.id} ;;
    relationship: one_to_one
  }
}

Si tiene un equipo que solo necesita ver las categorías de productos y las devoluciones, puede extender la products. Explore y use el parámetro fields para especificar que solo se incluyan los campos categoría y devoluciones:


explore: products_extended {
  extends: [products]
  fields: [products.category,order_items.returned_date]
}

products_extended Explorar solo mostrará estos dos campos: products.category y order_items.returned_date.

Cómo extender una exploración en todos los modelos

Por lo general, las exploraciones se definen dentro de un archivo de modelo. Si quieres extender una exploración, puedes definirla en el mismo archivo de modelo, como en los ejemplos anteriores.

Sin embargo, si deseas extender una exploración a varios modelos, debes crear un archivo de exploración aparte para usarlo como archivo base. Una vez que hayas definido la función Explorar en su propio archivo, puedes incluir el archivo Explorar en tu archivo del modelo y extender la función Explorar en tu archivo del modelo.

Dado que puedes incluir un archivo de Explorar en otro archivo de Explorar, también puedes compartir tu archivo base entre muchos otros archivos de Explorar, si es necesario.

Los archivos de Explorar detectarán la conexión del modelo en el que se incluyan. Tenga esto en cuenta cuando incluya archivos de Explorar en modelos configurados con una conexión diferente del modelo superior del archivo de Explorar. Si el esquema de la conexión del modelo incluido difiere del esquema de la conexión del modelo superior, puede causar errores de consulta.

Usa metadatos para ver las extensiones de un objeto

Puedes hacer clic en un parámetro explore o view en el IDE de Looker y usar el panel de metadatos para ver las extensiones del objeto o ver qué objeto extiende. Consulta la página de documentación Metadatos para objetos LookML a fin de obtener más información.

Aspectos para tener en cuenta

Algunos parámetros son acumulativos

En muchos casos, si el objeto extendido contiene el mismo parámetro que el objeto que se extiende, los valores del objeto extendido anularán los valores de parámetro del objeto extendido. Sin embargo, las extensiones pueden ser aditivas para algunos parámetros, lo que significa que los valores del objeto extendido se utilizan junto con los valores del objeto extendido.

Los siguientes parámetros de Explorar son aditivos:

En el siguiente ejemplo, la exploración de aircraft_base usa el parámetro join para unir la vista aircraft con la vista aircraft_types:


explore: aircraft {
  view_name: aircraft
  label: "Aircraft"

  join: aircraft_types {
    type: left_outer
    sql_on: ${aircraft.aircraft_type_id} = ${aircraft_types.aircraft_type_id} ;;
    relationship: many_to_one
  }
}

Además, la exploración de aircraft_extended extiende la exploración de aircraft_base. Además, aircraft_extended Explore tiene un parámetro join que se une en la vista aircraft_engine_types:


explore: aircraft_extended {
  extends: [aircraft]
  label: "Aircraft Extended"

  join: aircraft_engine_types {
    type: left_outer
    sql_on: ${aircraft.aircraft_engine_type_id} = ${aircraft_engine_types.aircraft_engine_type_id} ;;
    relationship: many_to_one
  }
}

El parámetro join es aditivo, por lo que la exploración resultante mostrará las vistas unidas en la exploración base, más las vistas unidas a la exploración extendida. En este caso, la exploración de aircraft_extended contiene la vista aircraft, la vista aircraft_types y la vista aircraft_engine_types:

Proyectos con localización

Cuando extiendas un objeto, ten en cuenta que las reglas de localización también se aplican a las extensiones. Si extiendes un objeto y luego defines etiquetas o descripciones nuevas, debes proporcionar definiciones de localización en los archivos de strings de configuración regional del proyecto. Consulta la página de documentación Localiza tu modelo de LookML para obtener más información.