En esta página, se hace referencia al parámetro
extendsque forma parte de una vista.
extendstambién se puede usar como parte de una exploración, como se describe en la página de documentación del parámetroextends(para exploraciones).
extendstambié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
view: view_name {
extends: [view_name, view_name, ...]
}
|
Jerarquía
extends |
Valor predeterminado
Ninguno
Acepta
Corchetes que contienen una lista de nombres de vistas separados por comas
|
Definición
El parámetro extends te permite compilar el contenido y la configuración de otro archivo de vista, usando el otro archivo de vista como punto de partida. Si hay conflictos, la vista que se extiende usará su propia configuración y anulará la de la vista que se extiende. Consulta Cómo reutilizar código con extends para obtener detalles sobre cómo Looker hace esto.
Consulta los perfeccionamientos de LookML.
Extender una vista o un Explorar es ideal para situaciones en las que deseas tener varias versiones de la vista o del Explorar. Sin embargo, si tu objetivo es simplemente modificar una vista o un Explorar sin editar el archivo de LookML que lo contiene, es posible que desees usar un perfeccionamiento. También puedes usar un parámetroextendsdentro de un refinamiento. Consulta la página de documentación sobre refinamientos de LookML para obtener más información y casos de uso.
Cuando extiendas una vista, es importante que uses el parámetro sql_table_name en la vista que se extenderá, si aún no está allí. El parámetro sql_table_name define la tabla de tu base de datos que consultará una vista. Para cualquier vista, el valor predeterminado es el nombre de la vista. Por lo tanto, si aún no usas sql_table_name, simplemente asígnale el mismo valor que el nombre de tu vista.
También es importante que, en nuestro nuevo archivo de vista, usemos el parámetro include para apuntar al nombre de archivo de la vista que queremos extender.
Evita extender las vistas basadas en tablas derivadas persistentes (PDT). Cada extensión de un PDT creará una copia nueva de la tabla en tu base de datos. En este caso, tal vez prefieras usar los perfeccionamientos de LookML. Consulta la página de documentación sobre refinamientos de LookML para obtener más información y casos de uso.
Ejemplo
Este es un ejemplo de un archivo de vista que podemos extender. La vista se llama looker_events y el nombre de archivo de la vista es events.view.
Archivo: events.view
view: looker_events {
sql_table_name: looker_db.events ;;
# The normal contents of the view follow
}
Ahora crearemos un archivo de vista nuevo y definiremos una vista que extienda la vista looker_events. En nuestro nuevo archivo, debemos usar el parámetro include para apuntar al nombre del archivo de la vista que queremos extender:
Archivo: new_events.view
include: "events.view"
view: name_of_the_new_view {
extends: [looker_events]
measure: additional_measure {
type: count
}
# Additional things you want to add or change
}
Luego, agregamos una nueva medida que se mostrará en nuestra nueva vista, además de todas las dimensiones y medidas que se definen en la vista looker_events que extendimos.
Cómo usar metadatos para ver 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 el objeto que extiende. Consulta la página de documentación Metadatos para objetos de LookML para obtener más información.
Aspectos para tener en cuenta
Algunos parámetros son aditivos
En muchos casos, si el objeto de extensión contiene el mismo parámetro que el objeto que se extiende, los valores del objeto de extensión anularán los valores del parámetro del objeto extendido.
Sin embargo, las extensiones pueden ser aditivas para algunos parámetros, lo que significa que los valores del objeto de extensión se usan junto con los valores del objeto extendido.
Los siguientes parámetros son aditivos:
Para las dimensiones y las medidas, haz lo siguiente:
Para las vistas:
extends(puedes encadenar variosextends)
En el siguiente ejemplo, la vista carriers tiene una dimensión name con un parámetro link:
view: carriers {
sql_table_name: flightstats.carriers ;;
dimension: name {
sql: ${TABLE}.name ;;
type: string
link: {
label: "Google {{ value }}"
url: "http://www.google.com/search?q={{ value }}"
icon_url: "http://google.com/favicon.ico"
}
}
}
Y aquí está la vista carriers_extended, que extiende la vista carriers. La vista carriers_extended también tiene una dimensión name con diferentes parámetros de configuración en el parámetro link:
include: "/views/carriers.view.lkml"
view: carriers_extended {
extends: [carriers]
dimension: name {
sql: ${TABLE}.name ;;
type: string
link: {
label: "Dashboard for {{ value }}"
url: "https://docsexamples.dev.looker.com/dashboards/307?Carrier={{ value }}"
icon_url: "https://www.looker.com/favicon.ico"
}
}
}
En la vista carriers_extended, los dos parámetros link son aditivos, por lo que la dimensión name tendrá ambos vínculos.

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