étend (pour les explorations)

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

extends peut également être utilisé dans une vue, comme décrit sur la page de documentation du paramètre extends (pour les vues).

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

explorer: explorer_name {
extension : [explore_name, explore_name, ...]
}
Hiérarchie
extends
Valeur par défaut
Aucun

Acceptation
Crochets contenant une liste de noms Explorer séparés par une virgule

Définition

Le paramètre extends vous permet d'exploiter le contenu et les paramètres d'une autre exploration, en utilisant l'autre exploration comme point de départ. En cas de conflit, la fonctionnalité Explorer étendue utilise ses propres paramètres, qui remplacent ceux de l'exploration étendue. Consultez la page de documentation Réutiliser du code avec extends pour en savoir plus sur la façon dont Looker utilise ces méthodes.

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 développez une exploration, il est important que le paramètre view_name soit étendu. Le paramètre view_name définit la vue sur laquelle une exploration est basée. La valeur par défaut est le nom de la fonction Explorer. Si aucune view_name n'est spécifiée pour la base de l'exploration, le nom de l'exploration par défaut est utilisé. Toutefois, cela ne fonctionne pas pour les autres explorations qui étendent la base de l'exploration. Nous obtiendrons donc l'erreur "vue inconnue". Pour que Looker utilise le fichier de vue approprié, nous devons le spécifier à l'aide du paramètre view_name. Étant donné que cela sera nécessaire dans toutes les versions étendues de l'exploration, la bonne pratique consiste à l'ajouter à l'exploration de base afin qu'elle soit toujours référencée chaque fois que l'exploration est étendue.

Si votre exploration de base ne comporte pas encore de paramètre view_name, vous pouvez simplement ajouter le paramètre view_name et spécifier la même valeur que le nom de votre exploration.

Vous pouvez également utiliser le paramètre view_label dans votre base et étendre les explorations. Le paramètre view_label détermine le libellé sous lequel les champs de la vue sont regroupés dans l'outil de sélection de champs (consultez la page de documentation sur le paramètre view_label (pour les explorations) pour un exemple). Si vous ne spécifiez pas de view_label pour votre base et que vous étendez les explorations, elles utiliseront toutes deux le nom "Explorer" de l'exploration de base.

Exemple

Voici un exemple d'exploration défini dans notre fichier de modèle:

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

Nous ajoutons ici une nouvelle découverte qui étend la fonctionnalité orders que nous avons définie ci-dessus:

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 vous étendez une exploration basée sur une vue étendue, vous devrez également utiliser le paramètre from. Ajoutez from à la section "Explorer" étendue et attribuez-lui le nom de la vue étendue.

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

Utiliser extends pour limiter les champs pour différents utilisateurs

Un cas d'utilisation très pratique de l'extension d'une exploration consiste à ne montrer qu'un sous-ensemble des champs d'une exploration à certains utilisateurs. Par exemple, supposons que vous disposiez d'une exploration products avec tous les champs disponibles des tables jointes:

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 une équipe a uniquement besoin de consulter les catégories de produits et les retours, vous pouvez étendre la section products "Explorer" et utiliser le paramètre fields pour spécifier que seuls les champs de catégorie de produits et de retours doivent être inclus:


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

La fonction Explorer de products_extended n'affiche que les deux champs suivants : products.category et order_items.returned_date.

Étendre l'exploration à d'autres modèles

Les explorations sont généralement définies dans un fichier de modèle. Si vous souhaitez étendre une exploration, vous pouvez simplement la définir dans le même fichier de modèle, comme dans les exemples ci-dessus.

Toutefois, si vous souhaitez étendre la fonctionnalité Explorer à plusieurs modèles, vous devez créer un fichier Explorer distinct à utiliser comme fichier de base. Une fois que vous avez défini la version de base de l'onglet "Explorer" dans son propre fichier, vous pouvez inclure le fichier "Explorer" dans le fichier de modèle et étendre la section "Explorer" dans le fichier de modèle.

Étant donné que vous pouvez inclure un fichier Explorer dans un autre fichier Explorer, vous pouvez également partager votre fichier Explorer de base dans plusieurs autres fichiers Explorer si nécessaire.

Les fichiers Explorer écoutent la connexion du modèle dans laquelle ils sont inclus. Gardez cela à l'esprit lorsque vous incluez des fichiers Explorer dans des modèles configurés avec une connexion différente de celle du modèle parent du fichier Explorer. Si le schéma de la connexion du modèle inclus diffère de celui de la connexion du modèle parent, des erreurs de requête peuvent se produire.

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 Explorer suivants sont additionnels:

Dans l'exemple suivant, la fonction aircraft_base Explorer utilise le paramètre join pour joindre la vue aircraft à la vue 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
  }
}

Et l'exploration aircraft_extended étend l'exploration aircraft_base. En outre, aircraft_extended Explore possède un paramètre join qui rejoint la vue 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
  }
}

Le paramètre join étant additif, l'exploration résultante affiche les vues jointes dans l'exploration de base, ainsi que les vues jointes dans l'exploration étendue. Dans ce cas, l'exploration aircraft_extended contient les vues aircraft, aircraft_types et aircraft_engine_types:

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.