Auf dieser Seite werden die folgenden Kernbegriffe und ‑konzepte definiert, die Ihnen bei der LookML-Entwicklung wahrscheinlich häufig begegnen werden:
- LookML-Projekte
- Wichtige LookML-Strukturen (z. B. Modelle, Ansichten und Explores)
- Abgeleitete Tabellen
- Datenbankverbindungen
- Berücksichtigung der Groß-/Kleinschreibung
Looks und benutzerdefinierte Dashboards werden auf dieser Seite nicht beschrieben, da Nutzer sie ohne LookML erstellen. Die Abfragen in diesen Dashboards basieren jedoch auf den auf dieser Seite beschriebenen zugrunde liegenden LookML-Elementen.
Eine umfassende Liste der Begriffe und Definitionen, die in Looker verwendet werden, finden Sie im Looker-Glossar. Eine umfassende Übersicht über die LookML-Parameter, die Sie in einem LookML-Projekt verwenden können, finden Sie auf der Seite LookML-Kurzübersicht.
Weitere Informationen zu den Unterschieden zwischen ähnlichen Begriffen und Konzepten in Looker und Looker Studio finden Sie auf der Seite Gemeinsame Begriffe und Konzepte in Looker und Looker Studio.
LookML-Projekt
In Looker ist ein Projekt eine Sammlung von Dateien, die die Objekte, Datenbankverbindungen und Elemente der Benutzeroberfläche beschreiben, die zum Ausführen von SQL-Abfragen verwendet werden. Im Grunde beschreiben diese Dateien, in welcher Beziehung Ihre Datenbanktabellen zueinander stehen und wie Looker sie interpretieren soll. Die Dateien können auch LookML-Parameter enthalten, mit denen die in der Looker-Benutzeroberfläche angezeigten Optionen definiert oder geändert werden. Jedes LookML-Projekt befindet sich in einem eigenen Git-Repository zur Versionskontrolle.
Nachdem Sie Looker mit Ihrer Datenbank verbunden haben, können Sie die Datenbankverbindung angeben, die für Ihr Looker-Projekt verwendet werden soll.
Sie können über das Menü Entwickeln in Looker auf Ihre Projekte zugreifen. Weitere Informationen und Optionen finden Sie unter Auf Projektdateien zugreifen.
Informationen zum Erstellen eines neuen Projekts finden Sie auf der Dokumentationsseite Modell generieren. Informationen zum Aufrufen und Ändern vorhandener LookML-Projekte finden Sie auf der Dokumentationsseite Auf Projektinformationen zugreifen und sie bearbeiten.
Bestandteile eines Projekts
Wie im Diagramm dargestellt, sind dies einige der häufigsten Dateitypen in einem LookML-Projekt:
- Ein Modell enthält Informationen darüber, welche Tabellen verwendet werden sollen und wie sie verknüpft werden sollen. Hier definieren Sie in der Regel das Modell, die dazugehörigen Explores und Joins.
- Eine Ansicht enthält Informationen dazu, wie auf Informationen aus den einzelnen Tabellen (oder aus mehreren verknüpften Tabellen) zugegriffen oder wie sie berechnet werden. Hier definieren Sie in der Regel die Ansicht sowie die dazugehörigen Dimensionen, Messwerte und Feldsätze.
- Ein Explore wird häufig in einer Modelldatei definiert. Manchmal benötigen Sie jedoch eine separate Explore-Datei für eine abgeleitete Tabelle oder um ein Explore über mehrere Modelle hinweg zu erweitern oder zu verfeinern.
- Eine Manifestdatei kann Anweisungen für die Verwendung von Dateien enthalten, die aus einem anderen Projekt importiert wurden, oder für die Lokalisierungseinstellungen Ihres Projekts.
Neben Modell-, Ansichts-, Explore- und Manifestdateien kann ein Projekt auch andere Dateitypen enthalten, die sich auf integrierte Dashboards, Dokumentation, Lokalisierung und mehr beziehen. Weitere Informationen zu diesen Dateitypen sowie zu den anderen Dateitypen, die in Ihrem LookML-Projekt enthalten sein können, finden Sie auf der Dokumentationsseite LookML-Projektdateien.
Zusammen bilden diese Dateien ein Projekt. Wenn Sie Git für die Versionsverwaltung verwenden, wird jedes Projekt in der Regel durch ein eigenes Git-Repository gesichert.
Woher stammen LookML-Projekte und -Dateien?
LookML-Dateien werden am häufigsten erstellt, indem ein LookML-Projekt aus Ihrer Datenbank generiert wird. Sie können auch ein leeres Projekt erstellen und die LookML-Dateien manuell erstellen.
Wenn Sie ein neues Projekt aus Ihrer Datenbank erstellen, erstellt Looker einen Basissatz an Dateien. Diese Dateien können Sie als Vorlage für die Erstellung eigener Projekte nutzen:
- Mehrere Ansichtsdateien; eine Datei für jede Tabelle in der Datenbank.
- Eine Modelldatei. Die Modelldatei deklariert ein Explore für jede Ansicht. Jede Explore-Deklaration enthält
join
-Logik zum Verbinden von Ansichten, die nach Maßgabe von Looker mit dem Explore zusammenhängen.
Hier können Sie das Projekt genauer definieren, indem Sie nicht benötigte Ansichten und Explores entfernen und benutzerdefinierte Dimensionen und Messwerte hinzufügen.
Wichtige LookML-Strukturen
Wie im Diagramm zu den Teilen eines Projekts dargestellt, enthält ein Projekt in der Regel eine oder mehrere Modelldateien, die Parameter zur Definition eines Modells und seiner Explores und Joins enthalten. Darüber hinaus enthalten Projekte normalerweise ein oder mehrere Ansichtsdateien, die jeweils Parameter zur Definition der Ansicht, der Felder (mit Dimensionen und Messwerten) und von Feldsätzen enthalten. Das Projekt kann auch eine Projektmanifestdatei enthalten, mit der Sie Einstellungen auf Projektebene konfigurieren können. In diesem Abschnitt werden diese wichtigen Strukturen beschrieben.
Modell
Ein Modell ist ein individuelles Portal für die Datenbank. Das Portal bietet intuitive Möglichkeiten zur Datenexploration für bestimmte geschäftliche Benutzer. In einem LookML-Projekt können mehrere Modelle für dieselbe Datenbankverbindung vorhanden sein. Mit den einzelnen Modellen werden unter Umständen unterschiedliche Daten für unterschiedliche Benutzer bereitgestellt. Vertriebsmitarbeiter benötigen beispielsweise andere Daten als Vorstandsmitglieder. Um den jeweiligen Benutzern angemessene Datenbankansichten bereitstellen zu können, würden Sie vermutlich zwei Modelle entwickeln.
In einem Modell wird eine Verbindung zu einer einzelnen Datenbank angegeben. Ein Entwickler definiert auch die Explores eines Modells in der Modelldatei. Standardmäßig werden Explores unter dem Modellnamen organisiert, in dem sie definiert sind. Für Ihre Nutzer werden Modelle im Menü Explore aufgeführt.
Weitere Informationen zu Modelldateien, einschließlich der Struktur und allgemeinen Syntax von Modelldateien, finden Sie auf der Dokumentationsseite Dateitypen in einem LookML-Projekt.
Weitere Informationen zu den LookML-Parametern, die in einer Modelldatei verwendet werden können, finden Sie auf der Dokumentationsseite Modellparameter.
Ansehen
In einer Ansichtsdeklaration wird eine Liste mit Feldern (Dimensionen oder Messwerte) und ihrer Verknüpfung mit einer zugrunde liegenden bzw. abgeleiteten Tabelle definiert. In LookML verweist eine Ansicht in der Regel auf eine zugrunde liegende Datenbanktabelle, aber sie kann auch für eine abgeleitete Tabelle stehen.
Eine Ansicht kann auch mit anderen Ansichten verbunden sein. Die Beziehung zwischen Ansichten wird in der Regel im Rahmen der Explore-Deklaration in einer Modelldatei definiert.
Standardmäßig werden die Namen der Ansichten vor den Namen der Dimensionen und Messwerte in der Datentabelle des Explores angezeigt. Durch diese Namensgebung ist ersichtlich, zu welcher Ansicht das Feld gehört. Im folgenden Beispiel werden die Ansichtsnamen Orders und Users vor den Namen der Felder in der Datentabelle aufgeführt:
Weitere Informationen zu Ansichtsdateien, einschließlich der Struktur und allgemeinen Syntax von Ansichtsdateien, finden Sie in der Dokumentation unter Dateitypen in einem LookML-Projekt.
Weitere Informationen zu den LookML-Parametern, die in einer Ansichtsdatei verwendet werden können, finden Sie auf der Dokumentationsseite Parameter für Ansichten.
Entdecken
Ein Explore ist eine Ansicht, zu der Nutzer Abfragen erstellen können. Sie können sich ein Explore als Ausgangspunkt für eine Abfrage vorstellen. In einer SQL-Anweisung entspräche dies dem FROM
. Nicht alle Ansichten sind Explores, da nicht alle Ansichten ein interessantes Objekt beschreiben. Bei einer Ansicht mit dem Titel Staaten, die einer Suchtabelle für die Namen von Staaten entspricht, ist beispielsweise kein Explore erforderlich, weil geschäftliche Nutzer hier nie eine Abfrage starten müssen. Die Ansicht Bestellungen hingegen möchten geschäftliche Nutzer mit hoher Wahrscheinlichkeit abfragen. Daher ist es sinnvoll, ein Explore für Bestellungen zu definieren. Informationen dazu, wie Nutzer mit Explores interagieren, um Ihre Daten abzufragen, finden Sie auf der Dokumentationsseite Explores in Looker aufrufen und damit interagieren.
In Looker können die Nutzer die im Menü Explore aufgeführten Explores sehen. Explores werden unter den Namen der Modelle aufgeführt, zu denen sie gehören.
Gemäß der Konvention werden Explores in der Modelldatei mit dem Parameter explore
deklariert. Im folgenden Beispiel einer Modelldatei wird das Explore orders
für eine E-Commerce-Datenbank in der Modelldatei definiert. Die Ansichten orders
und customers
, auf die in der explore
-Deklaration verwiesen wird, werden an anderer Stelle in ihren jeweiligen Ansichtsdateien definiert.
connection: order_database
include: "filename_pattern"
explore: orders {
join: customers {
sql_on: ${orders.customer_id} = ${customers.id} ;;
}
}
In diesem Beispiel wird mit dem Parameter connection
die Datenbankverbindung für das Modell angegeben und mit dem Parameter include
die Dateien, auf die das Modell verweisen kann.
Die explore
-Deklaration in diesem Beispiel gibt auch Join-Beziehungen zwischen Ansichten an. Weitere Informationen zu join
-Deklarationen finden Sie auf dieser Seite im Abschnitt zu Joins. Weitere Informationen zu den LookML-Parametern, die mit dem Parameter join
verwendet werden können, finden Sie auf der Dokumentationsseite Join-Parameter.
Dimensions- und Messwertfelder
Ansichten enthalten Felder – zumeist Dimensionen und Messwerte. Diese sind grundlegende Bausteine für Looker-Abfragen.
In Looker ist eine Dimension ein gruppierbares Feld, anhand dessen Abfrageergebnisse gefiltert werden können. Mögliche Werte:
- Ein Attribut, das direkt mit einer Spalte in einer zugrunde liegenden Tabelle verknüpft ist
- Einen Fakt oder numerischen Wert
- Einen abgeleiteten Wert, der auf der Grundlage der Werte anderer Felder aus einer Zeile errechnet wurde
In Looker werden Dimensionen immer in der GROUP BY
-Klausel des von Looker generierten SQL-Codes angezeigt.
In einer Ansicht mit der Bezeichnung Produkte könnten beispielsweise folgende Dimensionen enthalten sein: Produktname, Produktmodell, Produktfarbe, Produktpreis, Produktionsdatum und Ablaufdatum.
Eine Messung ist ein Feld, in dem eine SQL-Aggregatfunktion wie COUNT
, SUM
, AVG
, MIN
oder MAX
verwendet wird. Jedes Feld, das auf der Grundlage der Werte anderer Messwerte errechnet wurde, ist ebenfalls ein Messwert. Messwerte können zur Filterung gruppierter Werte genutzt werden. So könnten Messwerte aus einer Ansicht mit der Bezeichnung Vertrieb beispielsweise die Gesamtmenge der verkauften Artikel (eine Anzahl), den Gesamtverkaufspreis (eine Summe) und den durchschnittlichen Verkaufspreis (einen Durchschnittswert) umfassen.
Das Verhalten und die erwarteten Werte für ein Feld hängen vom deklarierten Typ (z. B. string
, number
oder time
) ab. Bei Messwerten umfassen die Typen auch Aggregatfunktionen wie sum
und percent_of_previous
. Weitere Informationen finden Sie unter Dimensionstypen und Messwerttypen.
In Looker werden Felder auf der Seite Explorative Datenanalysen in der Feldauswahl auf der linken Seite der Seite aufgeführt. Sie können eine Ansicht im Field Picker maximieren, um die Liste der Felder aufzurufen, die für Abfragen in dieser Ansicht verfügbar sind.
Gemäß Konvention werden Felder als Teil der Ansicht, zu der sie gehören, deklariert, und in einer Ansichtsdatei gespeichert. Im folgenden Beispiel sehen Sie mehrere Dimensions- und Messwertdeklarationen. Beachten Sie die Verwendung des Substitutionsoperators ($
), um auf Felder zu verweisen, ohne einen vollständig qualifizierten SQL-Spaltennamen zu verwenden.
Im Folgenden sehen Sie einige Beispieldeklarationen von Dimensionen und Messwerten:
view: orders {
dimension: id {
primary_key: yes
type: number
sql: ${TABLE}.id ;;
}
dimension: customer_id {
sql: ${TABLE}.customer_id ;;
}
dimension: amount {
type: number
value_format: "0.00"
sql: ${TABLE}.amount ;;
}
dimension_group: created {
type: time
timeframes: [date, week]
sql: ${TABLE}.created_at ;;
}
measure: count {
type: count # creates sql COUNT(orders.id)
sql: ${id} ;;
}
measure: total_amount {
type: sum # creates sql SUM(orders.amount)
sql: ${amount} ;;
}
}
Sie können auch eine dimension_group
definieren, wodurch mehrere zeitbezogene Dimensionen gleichzeitig erstellt werden, sowie filter
-Felder, die eine Vielzahl von erweiterten Anwendungsfällen wie Vorlagenfilter bieten.
Vollständige Details zur Deklaration von Feldern und zu den verschiedenen anwendbaren Einstellungen finden Sie auf der Dokumentationsseite Feldparameter.
Joins
Im Rahmen einer explore
-Deklaration gibt jede join
-Deklaration eine Ansicht an, die mit dem Explore verknüpft werden kann. Wenn ein Benutzer eine Abfrage erstellt, die Felder aus mehreren Ansichten enthält, erzeugt Looker automatisch eine SQL-Verbindungslogik, mit der alle Felder korrekt integriert werden.
Hier sehen Sie ein Beispiel für einen Join in einer explore
-Deklaration:
# file: ecommercestore.model.lookml
connection: order_database
include: "filename_pattern" # include all the views
explore: orders {
join: customers {
sql_on: ${orders.customer_id} = ${customers.id} ;;
}
}
Weitere Informationen finden Sie auf der Dokumentationsseite Joins in LookML verwenden.
Projektmanifestdateien
Ihr Projekt kann eine Projektmanifestdatei enthalten, die für Einstellungen auf Projektebene verwendet wird, z. B. zum Angeben anderer Projekte, die in das aktuelle Projekt importiert werden sollen, zum Definieren von LookML-Konstanten, zum Angeben von Einstellungen für die Modelllokalisierung und zum Hinzufügen von Erweiterungen und benutzerdefinierten Visualisierungen zu Ihrem Projekt.
Jedes Projekt kann nur über eine Manifestdatei verfügen. Die Datei muss mit manifest.lkml
benannt und auf der Root-Ebene Ihres Git-Repositorys abgelegt sein. Wenn Sie Ordner in der IDE verwenden, muss sich die Datei manifest.lkml
im Stammverzeichnis der Verzeichnisstruktur Ihres Projekts befinden.
Verwenden Sie zum Import von LookML-Dateien aus einem anderen Projekt die Projektmanifestdatei, um einen Namen für Ihr aktuelles Projekt und den Speicherort externer Projekte anzugeben, die lokal oder remote gespeichert sein können. Beispiel:
# This project
project_name: "my_project"
# The project to import
local_dependency: {
project: "my_other_project"
}
remote_dependency: ga_360_block {
url: "https://github.com/llooker/google_ga360"
ref: "4be130a28f3776c2bf67a9acc637e65c11231bcc"
}
Nachdem Sie die externen Projekte in der Projektmanifestdatei definiert haben, können Sie den Parameter include
in Ihrer Modelldatei verwenden, um Dateien aus diesen externen Projekten zu Ihrem aktuellen Projekt hinzuzufügen. Beispiel:
include: "//my_other_project/imported_view.view"
include: "//ga_360_block/*.view"
Weitere Informationen finden Sie auf der Dokumentationsseite Dateien aus anderen Projekten importieren.
Verwenden Sie zum Hinzufügen von Lokalisierung zu Ihrem Modell die Projektmanifestdatei, um die Standardlokalisierungseinstellungen festzulegen. Beispiel:
localization_settings: {
default_locale: en
localization_level: permissive
}
Die Festlegung von Standardlokalisierungseinstellungen ist ein Schritt in der Lokalisierung Ihres Modells. Weitere Informationen finden Sie auf der Dokumentationsseite Ihr LookML-Modell lokalisieren.
Sets
In Looker ist ein Satz eine Liste, in der eine Gruppe von gemeinsam genutzten Feldern definiert ist. In der Regel wird mit Sätzen angegeben, welche Felder angezeigt werden, wenn ein Nutzer Detailinformationen aufruft (Drilldown). Drill-Sätze werden Feld für Feld angegeben. Sie erhalten also die vollständige Kontrolle darüber, welche Daten angezeigt werden, wenn ein Benutzer in einer Tabelle oder einem Dashboard auf einen Wert klickt. Sätze können auch als Sicherheitsfunktion genutzt werden – etwa für die Definition von Feldgruppen, die nur bestimmten Benutzern angezeigt werden.
Im folgenden Beispiel ist eine Satzdeklaration in einer Ansicht mit der Bezeichnung order_items
dargestellt. In der Deklaration werden Felder definiert, die relevante Details zu einem gekauften Artikel enthalten. Beachten Sie, dass der Satz über die Angabe zum Umfang auf Felder aus anderen Ansichten verweist.
set: order_items_stats_set {
fields: [
id, # scope defaults to order_items view
orders.created_date, # scope is "orders" view
orders.id,
users.name,
users.history, # show all products this user has purchased
products.item_name,
products.brand,
products.category,
total_sale_price
]
}
Auf der Dokumentationsseite zum Parameter set
finden Sie vollständige Details zur Verwendung von Sets.
Aufschlüsseln
In Looker können Sie ein Feld so konfigurieren, dass Nutzer die Daten weiter aufschlüsseln können. Dieser als „Drilldown“ bezeichnete Vorgang funktioniert gleichermaßen in Abfrageergebnistabellen und in Dashboards. Durch den Drilldown-Vorgang wird eine neue Abfrage gestartet, die von dem Wert beschränkt wird, auf den Sie klicken.
Die Funktion verhält sich bei Dimensionen anders als bei Messwerten:
- Beim Drilldown in einer Dimension wird die neue Abfrage zur Filterung des Drill-Werts verwendet. Wenn Sie beispielsweise auf ein bestimmtes Datum in einer Abfrage von nach Datum sortierten Kundenaufträgen klicken, werden mit der neuen Abfrage nur Aufträge dieses konkreten Datums angezeigt.
- Beim Drilldown in einem Messwert wird mit der neuen Abfrage der Dataset angezeigt, der zu dem Messwert beigetragen hat. Wenn Sie beispielsweise Detailinformationen zu einer Anzahl aufrufen, werden über die Abfrage die Zeilen für die Berechnung dieser Anzahl angezeigt. Wenn Sie Detailinformationen zu Höchst-, Mindest- und Durchschnittsmesswerten aufrufen, werden weiterhin alle Zeilen, die zu diesem Messwert beigetragen haben, angezeigt. Das bedeutet, dass beim Anzeigen von Detailinformationen zu einem Höchstmesswert sämtliche Zeilen angezeigt werden, die für die Berechnung des Höchstwerts verwendet wurden, und nicht nur die einzelne Zeile mit dem Höchstwert.
Die Felder, die für die neue Drilldown-Abfrage angezeigt werden sollen, können durch ein Set oder durch den drill_fields
-Parameter (für Felder) oder den drill_fields
-Parameter (für Ansichten) definiert werden.
Abgeleitete Tabellen
Eine abgeleitete Tabelle ist eine Abfrage, deren Ergebnisse wie eine tatsächliche Tabelle in der Datenbank verwendet werden. Abgeleitete Tabellen werden mit dem Parameter derived_table
in einer view
-Deklaration erstellt. Looker greift auf abgeleitete Tabellen so zu, als wären sie physische Tabellen mit einem eigenen Satz von Spalten. Eine abgeleitete Tabelle wird als eigene Ansicht dargestellt. Dimensionen und Messwerte werden auf dieselbe Weise definiert wie bei herkömmlichen Ansichten. Die Ansicht einer abgeleiteten Tabelle kann wie jede andere Ansicht abgefragt und mit anderen Ansichten verbunden werden.
Abgeleitete Tabellen können auch als persistente abgeleitete Tabellen (PDTs) definiert werden. Dies sind abgeleitete Tabellen, die in ein Scratch-Schema in Ihrer Datenbank geschrieben und automatisch nach dem Zeitplan neu generiert werden, den Sie mit einer Persistenzstrategie angeben.
Weitere Informationen finden Sie auf der Dokumentationsseite Abgeleitete Tabellen in Looker.
Datenbankverbindung
Ein weiteres wichtiges Element eines LookML-Projekts ist die Datenbankverbindung, die Looker verwendet, um Abfragen in Ihrer Datenbank auszuführen. Ein Looker-Administrator konfiguriert Datenbankverbindungen auf der Seite Verbindungen. LookML-Entwickler verwenden den connection
-Parameter in einer Modelldatei, um anzugeben, welche Verbindung für das Modell verwendet werden soll. Wenn Sie ein LookML-Projekt aus Ihrer Datenbank generieren, wird der Parameter connection
in der Modelldatei automatisch von Looker ausgefüllt.
Berücksichtigung der Groß-/Kleinschreibung
Beachten Sie beim Verweisen auf LookML-Elemente, dass bei LookML die Groß-/Kleinschreibung berücksichtigt wird. Looker zeigt einen Hinweis an, wenn Sie auf ein nicht vorhandenes Element verweisen.
Angenommen, Sie haben ein Explore mit dem Namen e_flights_pdt
und ein LookML-Entwickler verwendet eine falsche Großschreibung (e_FLIGHTS_pdt
), um auf dieses Explore zu verweisen. In diesem Beispiel wird in der Looker-IDE eine Warnung angezeigt, dass das Explore e_FLIGHTS_pdt
nicht vorhanden ist. Außerdem schlägt die IDE den Namen eines vorhandenen Explores vor: e_flights_pdt
:
Wenn Ihr Projekt allerdings sowohl e_FLIGHTS_pdt
als auch e_flights_pdt
enthält, kann die Looker-IDE Sie nicht korrigieren. Dann müssten Sie genau wissen, welche Version Sie wünschen. Im Allgemeinen sollten Sie Kleinbuchstaben in Namen von LookML-Objekten verwenden.
Bei IDE-Ordnernamen wird ebenfalls zwischen Groß- und Kleinschreibung unterschieden. Bei der Angabe von Dateipfaden müssen Sie stets die richtige Groß-/Kleinschreibung von Ordnernamen verwenden. Wenn Sie beispielsweise einen Ordner mit dem Namen Views
haben, müssen Sie dieselbe Groß-/Kleinschreibung im Parameter include
verwenden. Auch hier gibt die Looker-IDE einen Fehler an, wenn Ihre Schreibweise nicht mit der eines vorhandenen Ordners im Projekt übereinstimmt: