Konstante

Nutzung

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

Akzeptiert
  • Einen Unterparameter value, der eine Zeichenfolge akzeptiert, die den Wert der Konstanten angibt
  • Einen Unterparameter export, der angibt, ob die Konstante überschrieben werden muss, wenn sie beim Importieren von Projekten verwendet wird

Definition

Mit dem constant Parameter wird eine LookML-Konstante definiert, mit der Sie einen Wert angeben können, der in einem Projekt wiederverwendet werden kann. Konstanten können überall im Modell referenziert werden, wo Zeichenfolgen akzeptiert werden, und mit den model und explore Parametern eines LookML-Dashboardelements. 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 export Unterparameter 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 verwenden importierte Dateien, die auf eine Konstante verweisen, den Wert, der in der Manifestdatei des importierten Projekts im importierenden Projekt angegeben ist. Mit dem Parameter export wird festgelegt, ob Entwickler den Wert einer Konstanten überschreiben sollen, indem sie einen neuen Wert für diese Konstante angeben, der in importierenden Projekten verwendet werden soll. Der Parameter export hat die folgenden möglichen Werte:

  • 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 Konstanten 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. Daher können Konstanten, die in einem Projekt definiert sind, dessen Dateien Sie importiert haben, nur von den importierten Dateien und nicht von Dateien verwendet werden, 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 auf diese Weise 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 mit dem override_constant Unterparameter von local_dependency oder remote_dependency in der Manifestdatei des importierenden Projekts einen neuen Wert für eine Konstante angeben, für die export auf override_optional oder override_required festgelegt ist.

Weitere Informationen und ein Beispiel zum Überschreiben von Konstanten in importierenden 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 in einem 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 mit der Syntax @{city} in jedem Teil Ihres Projekts referenziert werden, in dem eine Zeichenfolge akzeptiert wird. In diesem Beispiel können Sie die users und orders Explores definieren und "@{city} Users" und "@{city} Orders" als Werte für den label Parameter angeben, wie im folgenden Beispiel:


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

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

In diesem Beispiel werden in Looker im Explore-Menü und in den Titeln der Explores San Francisco Users und San Francisco Orders anstelle der Standardlabels Users und Orders 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"
}

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 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 können:


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 rot und in Klammern angezeigt werden sollen. Mit dem Parameter html können Sie diese Formatierung dann auf Dimensionen und Messwerte in Ihrem Dataset anwenden.

Sie können beispielsweise den Messwert Total Amount 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 den Messwert Total Amount so formatiert, wie in der Konstantendefinition negative_format angegeben: in roter Schrift und in Klammern.

Konstanten in LookML-Dashboards verwenden

Wenn Sie ein Dashboardelement für ein LookML-Dashboard definieren, können Sie LookML-Konstanten verwenden, um das Modell und den 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 das LookML für ein Säulendiagrammelement. In der Dashboard-Datei können Sie die Werte für die model und explore Parameter 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 instructions Parameter eines LookML-Dashboard-Agenten verwenden, um Standardgeschäftsregeln oder -richtlinien für mehrere Dashboard-Agenten freizugeben.

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

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

Anschließend können Sie in der Definition eines agent auf die Konstante im Parameter instructions verweisen:

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

Wichtige Punkte

In einer Konstantendefinition auf Konstanten verweisen

Beim Definieren einer Konstanten 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 die Zeichenfolge „San Francisco, California“ aufgelöst.

Konstantensyntax maskieren

Wenn Sie eine Zeichenfolge schreiben möchten, die der Konstantensyntax ähnelt, aber nicht als Konstante ausgewertet werden soll, können Sie die Konstantensyntax mit dem Escapezeichen Backslash \ nach dem Zeichen @ maskieren. Beispiel:

```none

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




In this example, the [`label` parameter](/looker/docs/2614/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
}