Extends (pour les vues)

Cette page fait référence au paramètre extends qui fait partie d'une vue.

extends peut également être utilisé dans le cadre d'une exploration, décrite sur la page de documentation du paramètre extends (pour les explorations).

extends peut également être utilisé dans un tableau de bord LookML, comme décrit sur la page de documentation des paramètres du tableau de bord.

Utilisation

view_name {
prolonge : [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 d'exploiter le contenu et les paramètres d'un autre fichier de vue en utilisant ce dernier comme point de départ. En cas de conflit, la vue étendue utilise ses propres paramètres, remplaçant ceux de l'affichage étendu. Consultez la page Réutiliser du code avec des extensions pour découvrir comment Looker s'y prend.

Découvrez les filtres LookML.
L'extension d'une vue ou d'une exploration est idéale pour les scénarios dans lesquels vous souhaitez disposer de plusieurs versions de la vue ou de l'exploration. Toutefois, si votre objectif est simplement de modifier une vue ou une exploration sans modifier le fichier LookML qui les contient, vous pouvez utiliser un filtre. Vous pouvez également utiliser un paramètre extends dans un filtre. Pour en savoir plus et voir des cas d'utilisation, consultez la page de documentation relative aux affinages LookML.

Lorsque vous prolongez une vue, il est important d'utiliser le paramètre sql_table_name sur la vue qui sera étendue, si elle n'est pas déjà présente. 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. Ainsi, si vous n'utilisez pas encore sql_table_name, attribuez-lui simplement la même valeur que celle de votre nom de vue.

Il est également important que notre nouveau fichier de vue utilise 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'un disque persistant crée une copie de la table dans votre base de données. Dans ce cas, vous pouvez utiliser des filtres LookML à la place. Pour en savoir plus et voir des cas d'utilisation, consultez la page de documentation relative aux affinages LookML.

Exemple

Voici un exemple de fichier d'affichage 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 du 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 aussi ajouté une mesure qui apparaîtra 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 voir l'objet qu'il étend. Pour en savoir plus, consultez la page Métadonnées des objets LookML.

Éléments à prendre en compte

Certains paramètres sont cumulatifs

Dans de nombreux cas, si l'objet étendu contient le même paramètre que l'objet étendu, les valeurs étendues de l'objet étendu remplacent celles de l'objet étendu.

Toutefois, les extensions peuvent être additionnelles pour certains paramètres, ce qui signifie que les valeurs de l'objet étendu sont utilisées conjointement avec les valeurs de l'objet étendu.

Les paramètres suivants sont additionnels:

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"
    }
  }
}

Et voici la vue carriers_extended, qui étend la vue carriers. La vue carriers_extended comporte également une dimension name avec des paramètres différents 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 étant additifs, la dimension name contient alors les deux liens. La dimension se présente comme suit dans Explorer:

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 nouvelles étiquettes 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 Localiser votre modèle LookML.