Cette page fait référence au paramètre
extendsqui fait partie d'une vue.
extendspeut également être utilisé dans une exploration, comme décrit sur la page de documentation du paramètreextends(pour les explorations).
extendspeut également être utilisé dans un tableau de bord LookML, comme décrit sur la page de documentation Paramètres du tableau de bord.
Utilisation
view: view_name {
extends: [view_name, view_name, ...]
}
|
Hiérarchie
extends |
Valeur par défaut
Aucun
Acceptation
Crochets contenant une liste de noms de vues séparés par une virgule
|
Définition
Le paramètre extends vous permet de vous appuyer sur le contenu et les paramètres d'un autre fichier de vue, en utilisant cet autre fichier de vue comme point de départ. En cas de conflit, la vue d'extension utilisera ses propres paramètres, en remplaçant ceux de la vue étendue. Pour en savoir plus sur la façon dont Looker procède, consultez Réutiliser du code avec "extends".
Découvrez les perfectionnements LookML.
Étendre une vue ou un Explore est idéal dans les scénarios où vous souhaitez disposer de plusieurs versions de la vue ou de l'Explore. Toutefois, si votre objectif est simplement de modifier une vue ou une exploration sans modifier le fichier LookML qui la contient, vous pouvez utiliser un affinement. Vous pouvez également utiliser un paramètreextendsdans un affinement. Pour en savoir plus et découvrir des cas d'utilisation, consultez la page de documentation Affiner le LookML.
Lorsque vous étendez une vue, il est important d'utiliser le paramètre sql_table_name sur la vue à étendre, s'il n'est pas déjà présent. Le paramètre sql_table_name définit la table de votre base de données qui sera interrogée par une vue. Pour toute vue, la valeur par défaut est le nom de la vue. Par conséquent, si vous n'utilisez pas déjà sql_table_name, attribuez-lui simplement la même valeur que le nom de votre vue.
Il est également important que, dans notre nouveau fichier de vue, nous utilisions le paramètre include pour pointer vers le nom de fichier de la vue que nous souhaitons étendre.
Évitez d'étendre les vues basées sur des tables dérivées persistantes (PDT). Chaque extension d'une table PDT crée une copie de la table dans votre base de données. Dans ce cas, il est préférable d'utiliser des affinements LookML. Pour en savoir plus et découvrir des cas d'utilisation, consultez la page de documentation Affiner le LookML.
Exemple
Voici un exemple de fichier de vue que nous pouvons étendre. La vue est nommée looker_events et son nom de fichier est events.view.
Fichier : events.view
view: looker_events {
sql_table_name: looker_db.events ;;
# The normal contents of the view follow
}
Nous allons maintenant créer un fichier de vue et définir une vue qui étend la vue looker_events. Dans notre nouveau fichier, nous devons utiliser le paramètre include pour pointer vers le nom de fichier de la vue que nous souhaitons étendre :
Fichier : 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
}
Nous avons ensuite ajouté une mesure qui s'affichera dans notre nouvelle vue, en plus de toutes les dimensions et mesures définies dans la vue looker_events que nous avons étendue.
Utiliser les métadonnées pour afficher les extensions d'un objet
Vous pouvez cliquer sur un paramètre explore ou view dans l'IDE Looker et utiliser le panneau de métadonnées pour afficher les extensions de l'objet ou l'objet qu'il étend. Pour en savoir plus, consultez la page de documentation Métadonnées pour les objets LookML.
Éléments à prendre en compte
Certains paramètres sont additifs
Dans de nombreux cas, si l'objet étendu contient le même paramètre que l'objet en cours d'extension, les valeurs de l'objet étendu remplaceront les valeurs de paramètre de l'objet étendu.
Toutefois, les extensions peuvent être additives pour certains paramètres, ce qui signifie que les valeurs de l'objet étendu sont utilisées conjointement avec celles de l'objet étendu.
Les paramètres suivants sont additifs :
Pour les dimensions et les mesures :
Pour les vues :
extends(vous pouvez chaîner plusieursextends)
Dans l'exemple suivant, la vue carriers comporte une dimension name avec un paramètre 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"
}
}
}
Voici la vue carriers_extended, qui étend la vue carriers. La vue carriers_extended comporte également une dimension name avec différents paramètres dans le paramètre 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"
}
}
}
Dans la vue carriers_extended, les deux paramètres link sont additifs. La dimension name comportera donc les deux liens.

Projets avec localisation
Lorsque vous étendez un objet, sachez que les règles de localisation s'appliquent également à vos extensions. Si vous étendez un objet, puis définissez de nouveaux libellés ou descriptions, vous devez fournir des définitions de localisation dans les fichiers de chaînes de paramètres régionaux de votre projet. Pour en savoir plus, consultez la page de documentation Localisation de votre modèle LookML.