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 in importierenden 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. Auf Konstanten kann überall im Modell verwiesen werden, wo Strings akzeptiert werden, und mit den Parametern model und explore eines LookML-Dashboard-Elements. So lässt sich die Anzahl der Wiederholungen in Ihrem LookML-Code verringern.

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 im Manifest des importierten Projekts im importierenden Projekt angegeben ist. Mit dem Parameter export wird angegeben, ob Entwickler den Wert einer Konstanten überschreiben sollen, 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. Im importierenden Projekt wird der konstante Wert verwendet, 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 ursprünglich in der Manifestdatei des importierten Projekts angegebenen konstanten Wert überschreiben. 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 und San Francisco Orders 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 San Francisco Users (Nutzer in San Francisco) und San Francisco Orders (Bestellungen in San Francisco) anstelle der Standardlabels Users (Nutzer) und Orders (Bestellungen) 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 manifest.lkml-Datei 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 Schrift 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 die 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 gesetzt werden 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 vom Typ 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 Messung 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"
}

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 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

Konstanten in Dashboard-Agent-Anweisungen verwenden [Vorschau]

Sie können LookML-Konstanten auch im Parameter instructions eines LookML-Dashboard-Agenten verwenden, um Standard-Geschäftsregeln oder -Richtlinien für mehrere Dashboard-Agenten freizugeben.

Definieren Sie beispielsweise eine Konstante in der Datei manifest.lkml:

constant: FISCAL_YEAR_RULE {
  value: "Always filter all requests by the current fiscal year unless specified otherwise."
}

Sie können dann im Parameter instructions einer agent-Definition auf die Konstante verweisen:

agent: sales_dashboard_agent {
  instructions: "Focus on revenue metrics. @{FISCAL_YEAR_RULE}"
  is_dashboard_agent: yes
}

Wichtige Punkte

Auf Konstanten in einer Konstantendefinition verweisen

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

Anschließend können Sie 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:

```none

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




In this example, the [`label` parameter](/looker/docs/2616/reference/param-explore-label) displays the string **@{id}** as the label for the `id` dimension, rather than evaluating the `id` constant and outputting its value.

Constant references won't be evaluated if the brackets are not closed, in which case it is not necessary to escape constant syntax. Thus, `@{id` in the following example wouldn't be evaluated as a constant.


```none

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