Maximierung der Wiederverwendbarkeit von Code mit DRY LookML: Definieren Sie einen String einmalig, der im gesamten LookML-Projekt verwendet werden soll

Sie können den LookML-Parameter constant in der Manifestdatei Ihres Projekts verwenden, um einen String zu definieren, der im gesamten Projekt verwendet werden kann. LookML-Konstanten können nützlich sein, wenn Sie einen bestimmten String definieren müssen – z. B. eine Zahl, einen Namen oder HTML-Formatierung für Feldwerte – und diesen Wert im gesamten Projekt wiederverwenden müssen.

Diese Seite enthält die folgenden Beispiele für die Verwendung von LookML-Konstanten, um wiederverwendbare Zeichenfolgenwerte an einer Stelle zu definieren und zu verwalten:

Produkte

Vorbereitung

Beispiel: Den gleichen String in den Beschriftungen mehrerer Explores verwenden

Angenommen, Sie möchten zwei Explores mit den Bezeichnungen San Francisco Users und San Francisco Orders in der Benutzeroberfläche erstellen, aber den Text für jedes Label nicht manuell eingeben.

Dazu können Sie in der Projektmanifestdatei Ihres Projekts eine konstante place_name mit dem Wert "San Francisco" definieren:

constant: place_name {
  value: "San Francisco"
}

Auf diese Konstante kann dann mit der Syntax @{place_name} 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 "@{place_name} Users" und "@{place_name} Orders" als Werte für den Parameter label angeben, wie im folgenden Beispiel gezeigt:


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

explore: orders {
  label: "@{place_name} 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 angezeigt und nicht die Standardlabels Nutzer und Aufträge.

Angenommen, Sie möchten alle Verweise auf San Francisco zu Bay Area aktualisieren.

Anstatt jede Referenz manuell aktualisieren zu müssen, musst du nur eine einzige Aktualisierung an der place_name-Konstante in der Manifestdatei für dein Projekt vornehmen:

constant: place_name {
  value: "Bay Area"
}

Da Sie die Konstante place_name definiert haben, müssen Sie nicht mehrmals manuell San Francisco in Bay Area ändern. Die Verweise auf San Francisco mit der Konstante place_name werden durch Bay Area ersetzt. Daher zeigt Looker im Menü „Explore“ und in den Titeln der Explores Bay Area Users und Bay Area Orders an.

Beispiel: Auf negative Werte in mehreren Feldern dieselbe Formatierung anwenden

Stellen Sie sich vor, negative Datenwerte sollen überall dort in Rot und in Klammern angezeigt werden, wo sie in Berichten vorkommen.

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 die Konstante immer dann referenzieren, wenn Sie diese Formatierung auf ein Feld anwenden möchten.

Sie können beispielsweise eine Konstante mit dem Namen negative_format erstellen, mit der sich diese Formatierung auf ein Feld anwenden lässt:


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

Dieser Code erstellt die Konstante negative_format, die angibt, dass negative Datenwerte in roter Schrift in Klammern angezeigt werden. Anschließend können Sie diese Formatierung mithilfe des Parameters html auf Dimensionen und Messwerte in Ihrem Dataset anwenden.

Sie können beispielsweise den Messwert Gesamtbetrag 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 der Tabelle werden negative Werte für den Messwert Total Amount (Gesamtbetrag) so formatiert, wie in der Definition der Konstante negative_format angegeben. Sie haben eine rote Schrift und sind von Klammern umgeben.

Wenn Sie dieselbe Formatierung auf negative Werte in anderen Feldern anwenden möchten, können Sie für diese Felder im Parameter html auf die Konstante negative_format verweisen.