Codewiederverwendbarkeit mit DRY LookML maximieren: Einmal einen String definieren, der in Ihrem gesamten LookML-Projekt verwendet werden kann

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:

Zutaten

Vorbereitung

Beispiel: Derselbe String wird in den Labels mehrerer Explores verwendet

Angenommen, Sie möchten zwei Explores mit den Labels Nutzer in San Francisco und Bestellungen in San Francisco erstellen, möchten aber nicht den Text für jedes Label manuell eingeben.

Dazu können Sie in der Manifestdatei des Projekts eine Konstante place_name mit dem Wert "San Francisco" definieren:

constant: place_name {
  value: "San Francisco"
}

Diese Konstante kann dann in jedem Teil Ihres Projekts, in dem ein String akzeptiert wird, mit der Syntax @{place_name} referenziert werden. In diesem Beispiel können Sie die explorativen Datenanalysen users und orders definieren, indem Sie "@{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: Negative Werte für mehrere Felder werden gleich formatiert

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, können Sie die Formatierung mithilfe von Liquid-Variablen und HTML nur einmal 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 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 den Messwert Gesamtbetrag für 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.