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 Konstante angibt
  • Ein export-Unterparameter, der angibt, ob die Konstante überschrieben werden muss, wenn sie in importierten 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 Strings 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 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 angeben, ob Entwickler den Wert einer Konstante ü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. Der Parameter export gibt an, ob Entwickler den Wert einer Konstante überschreiben sollen, indem sie einen neuen Wert für diese Konstante angeben, der in importierten Projekten verwendet werden soll. Der Parameter export kann die folgenden Werte haben:

  • none: Der Standardwert für export. Der Wert der Konstante 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 Importprojekt ü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 Konstantenwert überschreiben. Wenn im importierenden Projekt kein neuer konstanter Wert angegeben wird, zeigt Looker einen Fehler an.

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 in importierten 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 zwei Explores erstellen, die in der Benutzeroberfläche mit San Francisco Users und San Francisco Orders bezeichnet werden. 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"
}

Diese Konstante kann dann in jedem Teil Ihres Projekts, in dem ein String akzeptiert wird, mit der Syntax @{city} referenziert werden. 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 zeigt Looker im Explore-Menü und in den Titeln der Explores San Francisco Users und San Francisco Orders anstelle der Standardlabels Users und Orders an.

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

Anschließend können Sie Ansichten basierend auf dem Schema 02349_sfo erstellen, indem Sie @{schema}.view_name als Wert für den Parameter sql_table_name 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, dass negative Datenwerte in Klammern und in roter Schrift angezeigt werden. Wenn Sie diese Formatierung als Wert für eine LookML-Konstante festlegen, müssen Sie die Formatierung nur einmal mit Liquid-Variablen und HTML angeben. Anschließend können Sie die Konstante immer dann referenzieren, 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 in roter Schrift und in Klammern dargestellt werden sollen. Diese Formatierung können Sie dann mit dem Parameter html auf Dimensionen und Measures 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 Messgröße Gesamtbetrag wie in der Konstantendefinition negative_format angegeben formatiert, d. h. in 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 denen 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 Anweisungen für Dashboard-Agenten verwenden

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

Definieren Sie beispielsweise eine Konstante in Ihrer manifest.lkml-Datei:

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

Verweis auf Konstanten innerhalb 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"
}

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.

Syntax für das Escaping von Konstanten

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 umgekehrten Schrägstrich-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/2620/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
}