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 wie 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 LookML-Elementen, die auf dieser Seite beschrieben werden.
Im Looker-Glossar finden Sie eine umfassende Liste der Begriffe und Definitionen, die in Looker verwendet werden. 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 Benutzeroberflächenelemente beschreiben, die zum Ausführen von SQL-Abfragen verwendet werden. Im Grunde genommen 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 Optionen definiert oder geändert werden, die in der Looker-Benutzeroberfläche angezeigt 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 Zugriff auf vorhandene LookML-Projekte und zum Ändern der Projektinformationen finden Sie auf der Dokumentationsseite Auf Projektinformationen zugreifen und sie bearbeiten.
Bestandteile eines Projekts
Wie im Diagramm dargestellt, sind dies einige der gängigen Dateitypen in einem LookML-Projekt:
- Ein Modell enthält Informationen dazu, 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 einzelnen Tabellen (oder aus mehreren zusammengeführten Tabellen) zugegriffen oder wie diese berechnet werden. Hier definieren Sie in der Regel die Ansicht sowie die dazugehörigen Dimensionen, Messwerte und Feldsätze.
- Ein Explore wird oft in einer Modelldatei definiert. Manchmal ist jedoch eine separate Explore-Datei erforderlich, für eine abgeleitete Tabelle oder um ein Explore zu erweitern oder zu verfeinern, das sich über mehrere Modelle erstreckt.
- Eine Manifestdatei kann Anweisungen zur 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, z. B. für integrierte Dashboards, Dokumentation und Lokalisierung. Weitere Informationen zu diesen und anderen Dateitypen in einem LookML-Projekt finden Sie auf der Dokumentationsseite LookML-Projektdateien.
Zusammen bilden diese Dateien ein Projekt. Wenn Sie Git für die Versionskontrolle verwenden, wird jedes Projekt in der Regel mit einem eigenen Git-Repository gesichert.
Woher stammen LookML-Projekte und -Dateien?
Die gängigste Methode zum Erstellen von LookML-Dateien ist das Generieren eines LookML-Projekts aus Ihrer Datenbank. Sie können auch ein leeres Projekt erstellen und die zugehörigen 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 anpassen, 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 mit Parametern, die ein Modell und seine Explores und Joins definieren. 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 Nutzer. 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 Nutzer 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.
Ein Modell gibt eine Verbindung zu einer einzelnen Datenbank an. Außerdem definiert der Entwickler in der Modelldatei die Explores des Modells. Standardmäßig werden Explores unter dem Namen des Modells organisiert, in dem sie definiert sind. Ihre Nutzer sehen die Modelle im Menü Explore.
Weitere Informationen zu Modelldateien, einschließlich Struktur und allgemeiner Syntax von Modelldateien, finden Sie auf der Dokumentationsseite Dateitypen in einem LookML-Projekt.
Auf der Dokumentationsseite Modellparameter finden Sie Details zu den LookML-Parametern, die in einer Modelldatei verwendet werden können.
Ansehen
In einer Ansichtsdeklaration wird eine Liste mit Feldern (Dimensionen oder Messwerten) 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, kann aber auch eine abgeleitete Tabelle darstellen.
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 Explore angezeigt. Durch diese Namensgebung ist ersichtlich, zu welcher Ansicht das Feld gehört. Im folgenden Beispiel sind die Namen der Ansichten Bestellungen und Nutzer vor den Namen der Felder in der Datentabelle aufgeführt:
Weitere Informationen zu Ansichtsdateien, einschließlich Struktur und allgemeiner Syntax von Ansichtsdateien, finden Sie in der Dokumentation Dateitypen in einem LookML-Projekt.
Auf der Dokumentationsseite Ansichtsparameter finden Sie Details zu den LookML-Parametern, die in einer Ansichtsdatei verwendet werden können.
Erkunden
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 vom Typ 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. Geschäftsnutzer möchten hingegen wahrscheinlich eine Möglichkeit haben, die Ansicht Bestellungen abzufragen. Daher ist es sinnvoll, ein Explore für Bestellungen zu definieren. Auf der Seite Explores in Looker aufrufen und damit interagieren finden Sie Informationen dazu, wie Nutzer mit Explores interagieren, um Daten abzufragen.
In Looker können die Nutzer die im Menü Explore aufgeführten Explores sehen. Explores werden unter den Namen der zugehörigen Modelle aufgeführt.
Gemäß der Konvention werden Explores in der Modelldatei mit dem Parameter explore
deklariert. In diesem Beispiel für eine Modelldatei wird das orders
-Explore 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 der Parameter connection
verwendet, um die Datenbankverbindung für das Modell anzugeben, und der Parameter include
wird verwendet, um die Dateien anzugeben, 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 der von Looker generierten SQL-Anweisung aufgeführt.
In einer Produkte-Ansicht könnten beispielsweise folgende Dimensionen enthalten sein: Produktname, Produktmodell, Produktfarbe, Produktpreis, Produktionsdatum und Ablaufdatum.
Ein Messwert ist ein Feld, für das 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 Vertrieb-Ansicht 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 ab, z. B. string
, number
oder time
. Bei Messwerten umfassen die Typen auch Aggregatfunktionen wie sum
und percent_of_previous
. Weitere Informationen finden Sie unter Dimensionentypen und Messwerttypen.
In Looker werden Felder auf der Seite Explore im Field Picker (Feldauswahl) auf der linken Seite der Seite aufgeführt. Sie können eine Ansicht in der Feldauswahl maximieren, um eine Liste der Felder zu sehen, die in dieser Ansicht abgefragt werden können.
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, dass der Substitutionsoperator ($
) verwendet wird, um auf Felder zu verweisen, ohne einen vollständig gültigen 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 ein dimension_group
definieren, mit dem mehrere zeitbezogene Dimensionen gleichzeitig erstellt werden, und filter
-Felder, die eine Vielzahl von erweiterten Anwendungsfällen haben, z. B. vordefinierte Filter.
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 verbunden werden kann. Wenn ein Nutzer eine Abfrage erstellt, die Felder aus mehreren Ansichten enthält, erzeugt Looker automatisch eine SQL-Verbindungslogik, mit der alle Felder korrekt integriert werden.
Hier ein Beispiel für eine Zusammenführung 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. So können Sie beispielsweise andere Projekte angeben, die in das aktuelle Projekt importiert werden sollen, LookML-Konstanten definieren, Einstellungen für die Modelllokalisierung festlegen und Ihrem Projekt Erweiterungen und benutzerdefinierte Visualisierungen hinzufügen.
Jedes Projekt kann nur über eine Manifestdatei verfügen. Die Datei muss manifest.lkml
heißen und sich auf der Stammebene Ihres Git-Repositorys befinden. Wenn Sie Ordner in der IDE verwenden, muss sich die Datei manifest.lkml
auf der Stammebene der Verzeichnisstruktur Ihres Projekts befinden.
Wenn Sie LookML-Dateien aus einem anderen Projekt importieren möchten, geben Sie in der Projektmanifestdatei einen Namen für Ihr aktuelles Projekt und den Speicherort externer Projekte an, 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 mit dem Parameter include
in Ihrer Modelldatei Dateien aus diesen externen Projekten Ihrem aktuellen Projekt hinzufü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
Ein Set ist in Looker 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 Nutzer 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 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 des Parameters set
finden Sie vollständige Details zur Verwendung von Sätzen.
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 geklickt haben.
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 in einer Abfrage von nach Datum sortierten Kundenaufträgen auf ein bestimmtes Datum 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 alle Zeilen angezeigt werden, die für die Berechnung des Höchstwerts verwendet wurden, und nicht nur die einzelne Zeile mit dem Höchstwert.
Welche Felder bei der neuen Aufschlüsselungsabfrage angezeigt werden, kann in einem Set oder über den Parameter drill_fields
(für Felder) oder drill_fields
(für Ansichten) festgelegt 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. Das 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 durchzuführen. Looker-Administratoren konfigurieren Datenbankverbindungen über die Seite „Verbindungen“. LookML-Entwickler geben mit dem connection
-Parameter in einer Modelldatei an, 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
Bei LookML wird die Groß-/Kleinschreibung beachtet. Achten Sie daher darauf, dass Sie bei der Bezugnahme auf LookML-Elemente die Groß-/Kleinschreibung einhalten. Looker zeigt einen Hinweis an, wenn Sie auf ein nicht vorhandenes Element verweisen.
Angenommen, Sie haben ein Explore namens e_flights_pdt
und ein LookML-Entwickler verwendet die 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-Elementen verwenden.
Bei IDE-Ordnern 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ß- und 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: