Maximieren der Wiederverwendbarkeit von Code mit DRY LookML: Einmaliges Definieren einer Zeichenfolge für die Verwendung im gesamten LookML-Projekt

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

Auf dieser Seite finden Sie die folgenden Beispiele für die Verwendung von LookML-Konstanten, um wiederverwendbare Zeichenfolgenwerte an einer Stelle zu definieren und zu verwalten:

Produkte

Vorbereitung

Beispiel: Derselbe String wird in den Labels mehrerer Explores verwendet

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

Dazu können Sie in der Projektmanifestdatei für Ihr Projekt die Konstante place_name mit dem Wert "San Francisco" definieren:

constant: place_name {
  value: "San Francisco"
}

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


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 die Labels Nutzer in San Francisco und Bestellungen in San Francisco anstelle der Standardlabels Nutzer und Bestellungen angezeigt.

Angenommen, Sie möchten alle Verweise auf San Francisco in Bay Area ändern.

Anstatt jede Referenz manuell aktualisieren zu müssen, müssen Sie nur die Konstante place_name in der Manifestdatei für Ihr Projekt aktualisieren:

constant: place_name {
  value: "Bay Area"
}

Da Sie die Konstante place_name definiert haben, müssen Sie San Francisco nicht an mehreren Stellen manuell in Bay Area ändern. Die Verweise auf San Francisco mit der Konstante place_name werden durch Bay Area ersetzt. In Looker werden dann im Menü „Explore“ und in den Titeln der Explores Nutzer in der Bay Area und Bestellungen in der Bay Area angezeigt.

Beispiel: Gleiche Formatierung auf negative Werte für mehrere Felder anwenden

Angenommen, Sie möchten, dass negative Datenwerte in Diagrammen oder Abfragen rot und in Klammern 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. Sie können dann jedes Mal auf die Konstante verweisen, wenn Sie diese Formatierung auf ein Feld anwenden möchten.

Sie können beispielsweise eine Konstante namens 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 %}"
}

Mit diesem Code wird die Konstante negative_format erstellt, die angibt, dass negative Datenwerte rot formatiert und in Klammern gesetzt werden sollen. Mit dem Parameter html können Sie diese Formatierung dann auf Dimensionen und Messwerte in Ihrem Datenpool anwenden.

Sie können beispielsweise die Messung Gesamtbetrag von 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 das Messwert Gesamtbetrag gemäß der Definition der Konstante negative_format formatiert, d. h. rot und in Klammern.

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