Nutzung
value: "string"
export: none | override_required | override_optional
}
Hierarchie
constant |
Standardwert
KeineAkzeptiert
|
Definition
Der Parameter constant
definiert eine LookML-Konstante, sodass Sie einen Wert angeben können, der in einem Projekt wiederverwendet werden kann. Konstanten können an einer beliebigen Stelle im Modell referenziert werden, wo Strings akzeptiert werden, und mit den Parametern model
und explore
eines LookML-Dashboard-Elements, wodurch Wiederholungen in Ihrem LookML-Code reduziert werden.
Konstanten müssen in der Projektmanifestdatei definiert werden. Konstanten können dann im gesamten Projekt mit der Syntax @{constant_name}
verwendet werden.
Mit dem Unterparameter export
von constant
können Sie festlegen, ob Entwickler den Wert einer Konstante überschreiben sollen, wenn Dateien, die darauf verweisen, in ein anderes Projekt importiert werden.
export
Sie können den Unterparameter export
von constant
verwenden, um zu bestimmen, wie eine Konstante verwendet werden kann, wenn Dateien, die auf diese Konstante verweisen, in andere Projekte importiert werden.
Für importierte Dateien, die auf eine Konstante verweisen, wird standardmäßig der Wert verwendet, der im Importprojekt in der Manifestdatei des importierten Projekts angegeben ist. Der Parameter export
gibt an, ob Entwickler eine Konstante überschreiben möchten. Dazu geben Sie einen neuen Wert für diese Konstante an, der beim Importieren von Projekten verwendet werden soll. Der Parameter export
hat die folgenden möglichen Werte:
none
: Der Standardwert fürexport
. Der Wert der Konstante kann im Importprojekt nicht überschrieben werden. Das Importprojekt verwendet den in der Manifestdatei des importierten Projekts angegebenen konstanten Wert.override_optional
: Der Wert der Konstante kann im Importprojekt optional überschrieben werden. Wenn in der Manifestdatei des Importprojekts kein Wert angegeben ist, wird der ursprüngliche Wert aus dem importierten Projekt verwendet.override_required
: Das Importprojekt muss den konstanten Wert überschreiben, der ursprünglich in der Manifestdatei des importierten Projekts angegeben ist. Wenn im Importprojekt kein neuer Konstantenwert angegeben ist, zeigt Looker einen Fehler an.
Konstanten sind nur für Dateien aus dem Projekt verfügbar, in dem sie ursprünglich definiert wurden. Daher können Konstanten, die in einem Projekt definiert sind, dessen Dateien Sie importiert haben, nur von den importierten Dateien verwendet werden, nicht von den im Importprojekt definierten Dateien.
Wenn Sie in den Dateien des Importprojekts eine Konstante verwenden möchten, müssen Sie in der Manifestdatei des Importprojekts eine neue Konstante definieren. Eine auf diese Weise definierte Konstante ist nur für die Dateien verfügbar, die im Importprojekt definiert sind.
Wenn Sie Dateien importieren, die auf eine Konstante verweisen, können Sie in der Manifestdatei des Importprojekts den Unterparameter override_constant
von local_dependency
oder remote_dependency
verwenden, um einen neuen Wert für eine Konstante anzugeben, bei der export
auf override_optional
oder override_required
festgelegt ist.
Weitere Informationen und ein Beispiel zum Überschreiben von Konstanten beim Importieren von Projekten finden Sie auf der Dokumentationsseite Dateien aus anderen Projekten importieren.
Beispiele
Im Folgenden finden Sie einige Beispiele dafür, wie Sie mit dem Parameter constant
Werte definieren können, die in einem Projekt verwendet werden können.
Explorative Datenanalysen mit dem Parameter constant
kennzeichnen
Angenommen, Sie möchten in der Benutzeroberfläche zwei „Erkunden“-Labels mit den Labels San Francisco-Nutzer und San Francisco-Aufträge erstellen. Dazu können Sie in der manifest.lkml
-Datei für Ihr Projekt eine Konstante city
mit dem Wert "San Francisco"
definieren:
constant: city {
value: "San Francisco"
}
Auf diese Konstante kann dann in einem beliebigen Bereich Ihres Projekts, in dem ein String akzeptiert wird, mit der Syntax @{city}
verwiesen werden. In diesem Beispiel können Sie die explorativen Datenanalysen vom Typ users
und orders
definieren. Geben Sie dazu "@{city} Users"
und "@{city} Orders"
als Werte für den label
-Parameter an. Beispiel:
explore: users {
label: "@{city} Users"
}
explore: orders {
label: "@{city} Orders"
}
In diesem Beispiel werden in Looker San Francisco-Nutzer und San Francisco-Bestellungen im Menü „Erkunden“ und in den Titeln der Abfragen anstelle der Standardlabels Nutzer und Aufträge angezeigt:
Parameter sql_table_name
mit Konstanten verwenden
Angenommen, Sie möchten mehrere Ansichten basierend auf Tabellen im Schema 02349_sfo
erstellen. Damit Sie den Wert 02349_sfo
nicht mehrmals angeben müssen, erstellen Sie in der Datei manifest.lkml
für Ihr Projekt eine Konstante mit dem Namen schema
:
constant: schema {
value: "02349_sfo"
}
Sie können dann Ansichten basierend auf dem 02349_sfo
-Schema erstellen, indem Sie @{schema}.view_name
als Wert für den sql_table_name
-Parameter angeben:
view: users {
sql_table_name: @{schema}.users ;;
}
Dadurch wird eine Ansicht namens Users erstellt, die auf der Tabelle users
aus dem Schema 02349_sfo
basiert.
Liquid-Variablen und HTML mit Konstanten verwenden
Angenommen, Sie möchten negative Datenwerte in Klammern und in einer roten Schriftart anzeigen. Wenn Sie diese Formatierung als Wert für eine LookML-Konstante festlegen, können Sie die Formatierung mit Liquid-Variablen und HTML nur einmal angeben. Anschließend können Sie jederzeit auf die Konstante verweisen, wenn Sie diese Formatierung auf ein Feld anwenden möchten.
Sie können beispielsweise die Konstante negative_format
erstellen, um diese Formatierung auf ein Feld anzuwenden:
constant: negative_format {
value: "{% dynamic if value < 0 %}<p style=\"color:red; \">({{rendered_value}})</p>{% dynamic else %} {{rendered_value}} {% dynamic endif %}"
}
Dadurch wird eine Konstante negative_format
erstellt, die angibt, dass negative Datenwerte eine rote Schriftart haben und von Klammern umgeben sein sollen. Anschließend können Sie diese Formatierung mit dem Parameter html
auf Dimensionen und Messwerte im Dataset anwenden.
Sie können z. B. die Gesamtmenge von type: sum
erstellen und @{negative_format}
als Wert für den Parameter html
angeben:
measure: total_amount {
type: sum
value_format_name: usd
sql: ${amount} ;;
html: @{negative_format} ;;
}
Negative Werte in der Tabelle werden für die Messung Gesamtbetrag gemäß der Konstante negative_format
mit einer roten Schriftart formatiert und in Klammern gesetzt:
Konstanten in LookML-Dashboards verwenden
Wenn Sie ein Dashboard-Element für ein LookML-Dashboard definieren, können Sie mithilfe von LookML-Konstanten das Modell und das Element definieren, auf dem ein Element basiert.
Angenommen, Sie haben die Konstanten model_name
und explore_name
in der Datei manifest.lkml
für Ihr Projekt definiert:
constant: model_name {
value: "thelook"
}
constant: explore_name {
value: "orders"
}
In Ihrer Dashboard-Datei können Sie den Wert von model
auf "@{model_name}"
und den Wert von explore
auf "@{explore_name}"
für alle Dashboard-Elemente festlegen, die auf dem Modell thelook
und dem orders
basieren.
Angenommen, Sie bearbeiten die LookML für ein Spaltendiagrammelement. In der Dashboard-Datei können Sie die Werte für die Parameter model
und explore
so angeben:
- dashboard: dashboard_name
title: "dashboard title"
layout: newspaper
elements:
- title: Element Title
name: element_name
model: "@{model_name}"
explore: "@{explore_name}"
type: looker_column
Wichtige Informationen
Verweise auf Konstanten innerhalb einer Konstante
Wenn Sie eine Konstante definieren, können Sie auf andere Konstanten verweisen, die in der Manifestdatei für Ihr Projekt definiert sind. Angenommen, Sie haben bereits die Konstante city
deklariert:
constant: city {
value: "San Francisco"
}
Sie können dann eine Konstante state
deklarieren, die auf die Konstante city
im obigen Beispiel verweist:
constant: city_state {
value: "@{city}, California"
}
Die oben angegebene Konstante state
wird in den String „San Francisco, Kalifornien“ aufgelöst.
Maskierung von Konstantensyntax
Wenn Sie einen String schreiben möchten, der einer Konstantensyntax ähnelt, aber nicht möchten, dass er als Konstante ausgewertet wird, können Sie die konstante Syntax mit dem Escape-Zeichen \` after the
@` als umgekehrten Schrägstrich maskieren. Beispiel:
dimension: id {
type: string
label: "@\{id}"
sql: ${TABLE}.id
}
Im obigen Beispiel zeigt der Parameter label
den String @{id} als Label für die Dimension id
an, anstatt die Konstante id
auszuwerten und ihren Wert auszugeben.
Konstantenreferenzen werden nicht ausgewertet, wenn die Klammern nicht geschlossen sind. In diesem Fall ist es nicht erforderlich, die konstante Syntax zu maskieren. Daher würde @{id
im Beispiel unten nicht als Konstante ausgewertet werden.
dimension: id {
type: string
label: "@{id"
sql: ${TABLE}.id
}