extends (für Ansichten)

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

extends kann auch als Teil eines Explores verwendet werden. Dies wird auf der Dokumentationsseite zum Parameter extends (für Explores) beschrieben.

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

Nutzung

view: view_name {
  extends: [view_name, view_name, ...]
}
Hierarchie
extends
Standardwert
Keine

Akzeptiert
Eckige Klammern mit einer durch Kommas getrennten Liste von Ansichtsnamen

Definition

Mit dem Parameter extends können Sie die Inhalte und Einstellungen einer anderen Ansichtsdatei als Ausgangspunkt verwenden. Bei Konflikten werden die Einstellungen der erweiternden Ansicht verwendet und die Einstellungen der Ansicht, die erweitert wird, überschrieben. Weitere Informationen dazu, wie Looker das macht, finden Sie unter 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 eine Ansicht erweitern, ist es wichtig, den Parameter sql_table_name in der Ansicht zu verwenden, die erweitert werden soll, sofern er noch nicht vorhanden ist. Mit dem Parameter sql_table_name wird die Tabelle in Ihrer Datenbank definiert, die von einer Ansicht abgefragt wird. Der Standardwert für eine beliebige Ansicht ist der Name der Ansicht. Wenn Sie sql_table_name noch nicht verwenden, geben Sie einfach denselben Wert wie für den Namen der Datenansicht an.

Außerdem ist es wichtig, dass wir in unserer neuen Ansichtsdatei den Parameter include verwenden, um auf den Dateinamen der Ansicht zu verweisen, die wir erweitern möchten.

Vermeiden Sie es, Views zu erweitern, die auf persistenten abgeleiteten Tabellen (PDTs) basieren. Bei jeder Erweiterung eines PDT wird eine neue Kopie der Tabelle in Ihrer Datenbank erstellt. In diesem Fall sollten Sie stattdessen LookML-Verfeinerungen verwenden. Weitere Informationen und Anwendungsfälle finden Sie auf der Dokumentationsseite LookML-Verfeinerungen.

Beispiel

Hier ist eine Beispielansichtsdatei, die wir erweitern können. Die Ansicht heißt looker_events und der Dateiname der Ansicht ist events.view.

Datei: events.view

view: looker_events {
  sql_table_name: looker_db.events ;;
  # The normal contents of the view follow
}

Jetzt erstellen wir eine neue Ansichtsdatei und definieren eine Ansicht, die die looker_events-Ansicht erweitert. In unserer neuen Datei müssen wir mit dem Parameter include auf den Dateinamen der Ansicht verweisen, die wir erweitern möchten:

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

Außerdem haben wir einen neuen Messwert hinzugefügt, der in der neuen Ansicht zusätzlich zu allen Dimensionen und Messwerten angezeigt wird, die in der erweiterten Ansicht looker_events definiert sind.

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 Parameter sind additiv:

Im folgenden Beispiel hat die Ansicht carriers die Dimension name mit dem Parameter 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"
    }
  }
}

Hier sehen Sie die carriers_extended-Ansicht, die die carriers-Ansicht erweitert. Die Ansicht carriers_extended enthält auch eine Dimension name mit verschiedenen Einstellungen im Parameter 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"
    }
  }
}

In der Ansicht carriers_extended sind die beiden Parameter link additiv. Die Dimension name enthält also beide Links.

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.