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 im gesamten Projekt verwendet werden kann. LookML-Konstanten können nützlich sein, wenn Sie eine bestimmte Zeichenfolge definieren müssen, z. B. eine Zahl, einen Namen oder eine HTML-Formatierung für Feldwerte, und diesen Wert im gesamten Projekt wiederverwenden möchten.

Auf dieser Seite finden Sie die folgenden Beispiele für die Verwendung von LookML-Konstanten zum Definieren und Verwalten wiederverwendbarer Stringwerte an einem Ort:

Produkte

Vorbereitung

Beispiel: Verwendung desselben Strings in den Labels mehrerer Explores

Angenommen, Sie möchten in der Benutzeroberfläche zwei Explores mit den Labels San Francisco Users (Nutzer in San Francisco) und San Francisco Orders (Bestellungen in San Francisco) erstellen, möchten aber nicht jedes Label manuell eingeben.

Dazu können Sie in der Projekt-Manifestdatei für Ihr Projekt 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:


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 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 eine einzige Aktualisierung der Konstanten place_name in der Manifestdatei für Ihr Projekt vornehmen:

constant: place_name {
  value: "Bay Area"
}

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

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

Angenommen, Sie möchten, dass negative Datenwerte in Diagrammen oder Abfragen rot und in Klammern dargestellt 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 die 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 eine rote Schriftart haben und in Klammern stehen sollen. Sie können diese Formatierung dann mithilfe des Parameters html auf Dimensionen und Messwerte in Ihrem Dataset 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 Ihrer Tabelle werden negative Werte für die Messgröße Gesamtbetrag gemäß der Konstantendefinition negative_format formatiert, d. h. mit roter Schrift und in Klammern.

Wenn Sie die gleiche Formatierung auf negative Werte für andere Felder anwenden möchten, können Sie in deren html-Parameter auf die Konstante negative_format verweisen.