Codewiederverwendbarkeit mit DRY LookML maximieren: Wiederverwendbare Listen von Feldern mit dem Parameter „set“ definieren

Eine Möglichkeit, Ihre LookML-Projekte effizienter und wartungsfreundlicher zu gestalten, ist die Verwendung des LookML-Parameters set. Mit dem Parameter set können Sie Felder, die in Ihrem Projekt häufig wiederholt werden, im Parameter fields oder in Aufschlüsselungsfeldern gruppieren. Wenn Sie ein Set zum Gruppieren von Feldern verwenden, erstellen Sie einen einzelnen Ort im Modell, an dem diese Gruppe von Feldern verwaltet werden kann.

Auf dieser Seite finden Sie die folgenden Beispiele für die Verwendung von LookML-Sets, um Ihre LookML-Projekte effizienter und wartungsfreundlicher zu gestalten:

Produkte

Vorbereitung

Beispiel: Dieselben Drilldown-Felder mehreren Messwerten hinzufügen

Angenommen, Sie möchten, dass Ihre Nutzer in der Lage sind, detailliertere Nutzerinformationen zu sehen, wenn sie in Explores, Looks oder Dashboards auf Vertriebsmesswerte klicken. Wenn sie also in der Explore-Benutzeroberfläche einen Wert für den Messwert Anzahl auswählen, soll eine Abfrage für die Felder ID, Stadt, Bundesstaat und Land geöffnet werden:

Wenn Sie einen Wert für die Messwertanzahl auswählen, wird eine Abfrage für die Felder „ID“, „Stadt“, „Bundesstaat“ und „Land“ geöffnet.

Sie können beispielsweise ein Set namens user_details erstellen, das die Felder id, city, state und country enthält, und dann in mehreren Messwerten darauf verweisen, damit Nutzer sie aufschlüsseln können:


set: user_details {
  fields: [id, city, state, country]
}

Mit dem Set user_details kann ein Aufschlüsselfeld für die Messung count definiert werden:


measure: count {
  type: count
  drill_fields: [user_details*]
}

In diesem Beispiel wird mit der Syntax [set_name*] angegeben, dass die Felder innerhalb von user_details in den Abfrageergebnissen angezeigt werden, wenn Sie den Messwert Anzahl aufschlüsseln.

Sie können diesen Satz dann wiederverwenden, um zusätzliche Drilldown-Felder zu erstellen. Sie können beispielsweise den LookML-Code drill_fields: [user_details*] den Messwerten order_count, total_sale_price und average_sale_price hinzufügen:


measure: order_count {
  view_label: "Orders"
  type: count_distinct
  description: "Number of orders"
  sql: ${order_id} ;;
  drill_fields: [user_details*]

}

measure: total_sale_price {
  type: sum
  value_format_name: usd
  sql: ${sale_price} ;;
  drill_fields: [user_details*]
}

measure: average_sale_price {
  type: average
  value_format_name: usd
  sql: ${sale_price} ;;
  drill_fields: [user_details*]
}

Wenn ein Nutzer in der Explore-Benutzeroberfläche einen Wert für Anzahl der Bestellungen, Gesamtverkaufspreis oder Durchschnittlicher Verkaufspreis auswählt, wird in Looker wie beim Messwert Anzahl ein Fenster mit einer Abfrage für die Felder ID, Stadt, Bundesstaat und Land geöffnet.

Wenn Sie etwas an den Aufschlüsselfeldern ändern möchten, z. B. ein Feld hinzufügen oder entfernen, müssen Sie nur den user_details-Satz aktualisieren.

Sie können auch im drill_fields-Parameter einer Ansicht auf ein Set verweisen, um Drilldown-Felder für alle Messwerte in dieser Ansicht zu definieren, für die noch keine Drilldown-Felder auf Feldebene angegeben sind.

Beispiel: Eine Gruppe von Feldern in ein Explore einbeziehen oder daraus ausschließen

Angenommen, Sie möchten den Field Picker in Explore für Nutzer vereinfachen, indem Sie Felder ausschließen, die für diese Nutzer nicht wichtig sind.

Angenommen, Sie haben eine users-Ansicht mit Informationen zu Ihren Kunden, einschließlich Feldern für ID, Vorname, Nachname, E-Mail-Adresse und Alter sowie Standortfeldern wie Ort, Bundesland, Land und PLZ. Die Ansicht users ist mit dem Explore orders verknüpft:

Die Feldauswahl für die Ansicht „Bestellungen“ enthält alle Felder aus den Ansichten „Bestellungen“ und „Nutzer“, einschließlich der Felder, die Sie weglassen möchten.

Was ist, wenn Sie die Felder Vorname, Nachname, E-Mail-Adresse, Alter und Geschlecht aus dem Bereich „Erkunden“ für Ihre Nutzer ausschließen möchten? Sie können einen Satz namens user_info erstellen, in dem die Felder aufgeführt sind, die Sie aus dem Explore Aufträge ausschließen möchten:

Im Explore „Bestellungen ohne Nutzerdaten“ sind die Felder „Vorname“, „Nachname“, „E-Mail-Adresse“, „Alter“ und „Geschlecht“ nicht im Field Picker verfügbar.

Der LookML-Code für den Satz user_info würde so aussehen:


set: user_info {
  fields: [first_name, last_name, email, age, gender]
}

Wenn Sie ein Orders-Exploratives Analysetool mit dem Label Orders Without User Data definieren möchten, verknüpfen Sie die users-Ansicht mit dem orders-Explorativen Analysetool. Fügen Sie dem Explore orders den LookML-Code fields: [ALL_FIELDS*, -users.user_info*] hinzu, um alle Felder mit Ausnahme der Felder im Satz user_info aus der Ansicht users einzuschließen:


explore: orders {
  fields: [ALL_FIELDS*, -users.user_info*]
  label: "Orders Without User Data"
  join: users {
    type: left_outer
    sql_on: ${orders.user_id} = ${users.id} ;;
    relationship: many_to_one
  }
}

Da der user_details-Satz mit der Syntax -users.user_details* im Parameter fields der orders-Exploration ausgeschlossen wird, werden die im users_user.info-Satz aufgeführten Felder in der Ansicht Bestellungen in der Exploration Bestellungen ohne Nutzerdaten nicht in der Feldauswahl angezeigt.

Sie können den user_info-Satz wiederverwenden, um diese Felder in der Explore-Benutzeroberfläche für alle anderen Explores auszublenden, mit denen die users-Ansicht verknüpft ist. Wenn Sie etwas an der user_info-Gruppe ändern möchten, z. B. ein Feld hinzufügen oder entfernen, müssen Sie nur die user_info-Gruppe aktualisieren.