extends (für Explores)

Auf dieser Seite wird auf den Parameter extends verwiesen, der Teil einer Exploration ist.

extends kann auch als Teil einer Ansicht verwendet werden, wie auf der Dokumentationsseite zum Parameter extends (für Ansichten) beschrieben.

extends kann auch als Teil eines LookML-Dashboards verwendet werden, wie auf der Dokumentationsseite Dashboard-Parameter beschrieben.

Nutzung


explore: explore_name {
  extends: [explore_name, explore_name, ...]
}
Hierarchie
extends
Standardwert
Keine

Akzeptiert
Eckige Klammern mit einer durch Kommas getrennten Liste von Explore-Namen

Definition

Mit dem Parameter extends können Sie die Inhalte und Einstellungen eines anderen Explores als Ausgangspunkt verwenden. Bei Konflikten werden die Einstellungen des erweiternden Explores verwendet und die Einstellungen des zu erweiternden Explores überschrieben. Weitere Informationen dazu, wie Looker dies umsetzt, finden Sie auf der Dokumentationsseite Code mit extends wiederverwenden.

Weitere Informationen zu LookML-Verfeinerungen

Das Erweitern einer View oder eines Explores ist ideal für Szenarien, in denen Sie mehrere Versionen der View oder des Explores benötigen. Wenn Sie jedoch nur eine Ansicht oder ein Explore ändern möchten, ohne die LookML-Datei zu bearbeiten, in der sie enthalten sind, sollten Sie stattdessen ein Refinement verwenden. Sie können auch einen extends-Parameter in einer Verfeinerung verwenden. Weitere Informationen und Anwendungsfälle finden Sie auf der Dokumentationsseite LookML-Verfeinerungen.

Wenn Sie ein Explore erweitern, ist es wichtig, dass der Parameter view_name im zu erweiternden Explore vorhanden ist. Mit dem Parameter view_name wird die Ansicht definiert, auf der ein Explore basiert. Der Standardwert ist der Name des Explores. Wenn für das Basis-Explore kein view_name angegeben ist, wird standardmäßig der Explore-Name verwendet. Das funktioniert aber nicht für andere Explores, die das Basis-Explore erweitern. In diesem Fall erhalten wir den Fehler „unknown view“ (unbekannte Ansicht). Damit Looker die richtige Ansichtsdatei verwendet, müssen wir sie mit dem Parameter view_name angeben. Da diese in jeder erweiterten Version des Explores benötigt wird, empfiehlt es sich, sie dem Basis-Explore hinzuzufügen, damit sie immer referenziert wird, wenn das Explore erweitert wird.

Wenn Ihr Basis-Explore noch keinen view_name-Parameter hat, können Sie einfach den view_name-Parameter hinzufügen und denselben Wert wie den Namen Ihres Explores angeben.

Möglicherweise möchten Sie auch den Parameter view_label in Ihren Basis- und Erweiterungs-Explores verwenden. Mit dem Parameter view_label wird das Label festgelegt, unter dem die Felder der Ansicht in der Feldauswahl gruppiert werden. Ein Beispiel finden Sie auf der Dokumentationsseite zum Parameter view_label (für Explores). Wenn Sie kein view_label für Ihre Basis- und Erweiterungs-Explores angeben, wird für beide der Explore-Name aus dem Basis-Explore verwendet.

Beispiel

Hier sehen Sie ein Beispiel für ein Explore, das in unserer Modelldatei definiert ist:

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

Hier fügen wir ein neues Explore hinzu, das das zuvor definierte orders-Explore erweitert:

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
}

Wenn Sie einen Explore erweitern, der auf einer erweiterten Ansicht basiert, müssen Sie auch den Parameter from verwenden. Fügen Sie from zum erweiterten Explore hinzu und weisen Sie ihm den Namen der erweiterten Ansicht zu.

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

extends verwenden, um Felder für verschiedene Nutzer einzuschränken

Ein sehr praktischer Anwendungsfall für das Erweitern eines Explores ist, bestimmten Nutzern nur eine Teilmenge der Felder eines Explores anzuzeigen. Angenommen, Sie haben ein products-Explore mit allen verfügbaren Feldern aus den verknüpften Tabellen:

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

Wenn Sie ein Team haben, das nur Produktkategorie und Rückgaben sehen muss, können Sie den products-Explore erweitern und den Parameter fields verwenden, um anzugeben, dass nur die Felder „Produktkategorie“ und „Rückgaben“ enthalten sein sollen:


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

Im products_extended-Bereich werden nur die beiden Felder products.category und order_items.returned_date angezeigt.

Explores auf mehrere Modelle ausweiten

Explores werden in der Regel in einer Modelldatei definiert. Wenn Sie ein Explore erweitern möchten, können Sie das erweiternde Explore einfach in derselben Modelldatei definieren, wie in den vorherigen Beispielen.

Wenn Sie ein Explore jedoch auf mehrere Modelle ausweiten möchten, müssen Sie eine separate Explore-Datei erstellen, die als Basisdatei verwendet werden kann. Nachdem Sie das Basis-Explore in einer eigenen Datei definiert haben, können Sie die Explore-Datei in Ihre Modelldatei einfügen und das Explore in Ihrer Modelldatei erweitern.

Da Sie eine Explore-Datei in eine andere Explore-Datei einfügen können, können Sie Ihre Basis-Explore-Datei bei Bedarf auch für mehrere andere Explore-Dateien freigeben.

Explore-Dateien verwenden die Verbindung des Modells, in dem sie enthalten sind. Berücksichtigen Sie dies, wenn Sie Explore-Dateien in Modelle aufnehmen, die mit einer anderen Verbindung als das übergeordnete Modell der Explore-Datei konfiguriert sind. Wenn sich das Schema für die Verbindung des jeweiligen Modells vom Schema für die Verbindung des übergeordneten Modells unterscheidet, kann dies zu Abfragefehlern führen.

Erweiterungen für ein Objekt mit Metadaten ansehen

Sie können in der Looker IDE auf einen explore- oder view-Parameter klicken und im Metadatenbereich alle Erweiterungen des Objekts oder das Objekt, das es erweitert, ansehen. Weitere Informationen finden Sie auf der Dokumentationsseite Metadaten für LookML-Objekte.

Wichtige Punkte

Einige Parameter sind additiv

In vielen Fällen werden die Parameterwerte des erweiterten Objekts überschrieben, wenn das erweiternde Objekt denselben Parameter enthält. Die Werte des erweiternden Objekts haben dann Vorrang. Erweiterungen können für einige Parameter jedoch additiv sein. Das bedeutet, dass die Werte aus dem erweiternden Objekt in Verbindung mit den Werten aus dem erweiterten Objekt verwendet werden.

Die folgenden Explore-Parameter sind additiv:

Im folgenden Beispiel wird im Explore aircraft_base der Parameter join verwendet, um die Ansicht aircraft mit der Ansicht aircraft_types zu verknüpfen:


explore: aircraft_base {
  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
  }
}

Das aircraft_extended-Explore erweitert das aircraft_base-Explore. Außerdem hat das aircraft_extended-Explore einen join-Parameter, der die aircraft_engine_types-Ansicht einbindet:


explore: aircraft_extended {
  extends: [aircraft_base]
  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
  }
}

Der Parameter join ist additiv. Im resultierenden Explore werden also die Ansichten angezeigt, die im Basis-Explore verknüpft sind, sowie die Ansichten, die im erweiternden Explore verknüpft sind. In diesem Fall enthält das aircraft_extended-Explore die Ansicht aircraft, die Ansicht aircraft_types und die Ansicht aircraft_engine_types.

Projekte mit Lokalisierung

Wenn Sie ein Objekt erweitern, müssen Sie beachten, dass Lokalisierungsregeln auch für Ihre Erweiterungen gelten. Wenn Sie ein Objekt erweitern und dann neue Labels oder Beschreibungen definieren, sollten Sie Lokalisierungsdefinitionen in den Gebietsschema-Zeichenfolgendateien Ihres Projekts angeben. Weitere Informationen finden Sie auf der Dokumentationsseite Ihr LookML-Modell lokalisieren.