Konstante

Nutzung

constant: constant_name {
  value: "string"
  export: none | override_required | override_optional
}
Hierarchie
constant
Standardwert
Keine

Akzeptiert
  • Ein value-Unterparameter, der einen String akzeptiert, der den Wert der Konstanten angibt
  • Ein export-Unterparameter, der angibt, ob die Konstante überschrieben werden muss, wenn sie beim Importieren von Projekten verwendet wird.

Definition

Mit dem Parameter constant wird eine LookML-Konstante definiert. So können Sie einen Wert angeben, der in einem Projekt wiederverwendet werden kann. Konstanten können überall im Modell referenziert werden, wo Zeichenfolgen akzeptiert werden, und mit den Parametern model und explore eines LookML-Dashboard-Elements. Dadurch wird die Anzahl der Wiederholungen in Ihrem LookML-Code verringert.

Konstanten müssen in der Projekt-Manifestdatei definiert werden. Konstanten können dann im gesamten Projekt mit der @{constant_name}-Syntax verwendet werden.

Mit dem Unterparameter export von constant können Sie angeben, ob Entwickler den Wert einer Konstanten überschreiben sollen, wenn Dateien, die darauf verweisen, in ein anderes Projekt importiert werden.

export

Mit dem Unterparameter export von constant können Sie festlegen, wie eine Konstante verwendet werden kann, wenn Dateien, die auf diese Konstante verweisen, in andere Projekte importiert werden.

Standardmäßig wird für importierte Dateien, die auf eine Konstante verweisen, der Wert verwendet, der in der Manifestdatei des importierten Projekts im importierenden Projekt angegeben ist. Mit dem Parameter export wird angegeben, ob Entwickler den Wert einer Konstanten überschreiben sollten, indem sie einen neuen Wert für diese Konstante angeben, der beim Importieren von Projekten verwendet werden soll. Der Parameter export kann die folgenden Werte haben:

  • none: Der Standardwert für export. Der Wert der Konstanten kann im importierenden Projekt nicht überschrieben werden. Das importierende Projekt verwendet den konstanten Wert, der in der Manifestdatei des importierten Projekts angegeben ist.
  • override_optional: Der Wert der Konstante kann optional in Ihrem importierenden Projekt überschrieben werden. Wenn in der Manifestdatei des importierenden Projekts kein Wert angegeben ist, wird der ursprüngliche Wert aus dem importierten Projekt verwendet.
  • override_required: Das importierende Projekt muss den konstanten Wert überschreiben, der ursprünglich in der Manifestdatei des importierten Projekts angegeben wurde. Wenn im importierenden Projekt kein neuer konstanter Wert angegeben wird, wird in Looker ein Fehler angezeigt.

Konstanten sind nur für Dateien aus dem Projekt verfügbar, in dem sie ursprünglich definiert wurden. Konstanten, die in einem Projekt definiert sind, dessen Dateien Sie importiert haben, können daher nur von den importierten Dateien verwendet werden, nicht von Dateien, die im importierenden Projekt definiert sind.

Wenn Sie eine Konstante in den Dateien des importierenden Projekts verwenden möchten, sollten Sie eine neue Konstante in der Manifestdatei des importierenden Projekts definieren. Eine so definierte Konstante ist nur für die Dateien verfügbar, die im importierenden Projekt definiert sind.

Wenn Sie Dateien, die auf eine Konstante verweisen, in ein anderes Projekt importieren, können Sie den Unterparameter override_constant von local_dependency oder remote_dependency in der Manifestdatei des importierenden Projekts verwenden, um einen neuen Wert für eine Konstante anzugeben, für die 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

Hier sind einige Beispiele dafür, wie Sie mit dem Parameter constant Werte definieren können, die im gesamten Projekt verwendet werden können.

Explores mit dem Parameter constant kennzeichnen

Angenommen, Sie möchten in der Benutzeroberfläche zwei Explores mit den Labels San Francisco Users (Nutzer in San Francisco) und San Francisco Orders (Bestellungen in San Francisco) erstellen. Dazu können Sie in der Datei manifest.lkml für Ihr Projekt eine Konstante city mit dem Wert "San Francisco" definieren:

constant: city {
  value: "San Francisco"
}

Auf diese Konstante kann dann mit der Syntax @{city} in jedem Teil Ihres Projekts verwiesen werden, in dem ein String akzeptiert wird. In diesem Beispiel können Sie die Explores users und orders definieren und "@{city} Users" und "@{city} Orders" als Werte für den Parameter label angeben, wie im folgenden Beispiel:


explore: users {
  label: "@{city} Users"
}

explore: orders {
  label: "@{city} Orders"
}

In diesem Beispiel werden in Looker im Menü „Explore“ und in den Titeln der Explores Nutzer in San Francisco und Bestellungen in San Francisco anstelle der Standardlabels Nutzer und Bestellungen angezeigt.

sql_table_name-Parameter 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"
}

Anschließend können Sie 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 mit dem Namen Users erstellt, die auf der Tabelle users aus dem Schema 02349_sfo basiert.

Liquid-Variablen und HTML mit Konstanten verwenden

Angenommen, Sie möchten, dass negative Datenwerte in Klammern und in roter Schriftart angezeigt werden. Wenn Sie diese Formatierung als Wert für eine LookML-Konstante festlegen, können Sie die Formatierung nur einmal mit Liquid-Variablen und HTML angeben. Anschließend können Sie auf die Konstante verweisen, wenn Sie diese Formatierung auf ein Feld anwenden möchten.

Sie können beispielsweise eine Konstante negative_format erstellen, mit der Sie diese Formatierung auf ein Feld anwenden:


constant: negative_format {
  value: "{% if value < 0 %}<p style='color:red;'>({{rendered_value}})</p>{% else %} {{rendered_value}} {% endif %}"
}

Dadurch wird eine Konstante negative_format erstellt, die angibt, dass negative Datenwerte eine rote Schriftart haben und in Klammern stehen sollen. Sie können diese Formatierung dann mit dem Parameter html auf Dimensionen und Messwerte in Ihrem Dataset anwenden.

Sie können beispielsweise den Messwert Gesamtbetrag für 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} ;;
}

In Ihrer Tabelle werden negative Werte für die Messgröße Gesamtbetrag gemäß der Konstantendefinition negative_format formatiert, d. h. mit roter Schrift und in Klammern.

Konstanten in LookML-Dashboards verwenden

Wenn Sie ein Dashboard-Element für ein LookML-Dashboard definieren, können Sie LookML-Konstanten verwenden, um das Modell und das Explore zu 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"
}

Legen Sie in Ihrer Dashboard-Datei den Wert von model auf "@{model_name}" und den Wert von explore auf "@{explore_name}" für alle Dashboard-Elemente fest, die auf dem Modell thelook und dem Explore orders basieren sollen.

Angenommen, Sie bearbeiten die LookML für ein Säulendiagrammelement. 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 Punkte

Verweisen auf Konstanten in einer Konstantendefinition

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 eine Konstante city deklariert:


constant: city {
  value: "San Francisco"
}

Sie können dann eine Konstante state deklarieren, die auf die Konstante city verweist:


constant: city_state {
  value: "@{city}, California"
}

Die Konstante state wird in den String „San Francisco, Kalifornien“ aufgelöst.

Konstantensyntax maskieren

Wenn Sie einen String schreiben möchten, der der Konstantensyntax ähnelt, aber nicht als Konstante ausgewertet werden soll, können Sie die Konstantensyntax mit dem Escape-Zeichen \ nach dem Zeichen @ maskieren. Beispiel:


dimension: id {
  type: string
  label: "@\{id}"
  sql: ${TABLE}.id
}

In diesem Beispiel wird mit dem Parameter label der String @{id} als Label für die Dimension id angezeigt, anstatt die Konstante id auszuwerten und ihren Wert auszugeben.

Konstantenverweise werden nicht ausgewertet, wenn die Klammern nicht geschlossen werden. In diesem Fall ist es nicht erforderlich, die Konstantensyntax zu maskieren. Daher würde @{id im folgenden Beispiel nicht als Konstante ausgewertet.


dimension: id {
  type: string
  label: "@{id"
  sql: ${TABLE}.id
}