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

Mit dem LookML-Parameter set können Sie Ihre LookML-Projekte effizienter und einfacher verwalten. Mit dem Parameter set können Sie Felder, die sich im gesamten Projekt häufig wiederholen, im Parameter fields oder in Aufschlüsselungsfeldern gruppieren. Wenn Sie wiederholte Felder in einem Satz gruppieren, erstellen Sie im Modell einen einzigen Ort, an dem diese Gruppe von Feldern verwaltet werden kann.

Diese Seite enthält die folgenden Beispiele für die Verwendung von LookML-Sets, um Ihre LookML-Projekte effizienter und verwaltbarer zu machen:

Produkte

Vorbereitung

Beispiel: Mehreren Messwerten dieselben Aufschlüsselungsfelder hinzufügen

Angenommen, Sie möchten, dass Ihre Nutzer Daten aufschlüsseln können, wo sie in Explores, Looks oder Dashboards Verkaufsmesswerte sehen, sodass eine Abfrage für die Felder ID, Stadt, Bundesland und Land geöffnet wird, wenn Sie in der Explore-Benutzeroberfläche einen Wert für den Messwert Anzahl auswählen:

Wenn Sie einen Wert für die Kennzahl „Anzahl“ auswählen, werden die Felder „ID“, „Stadt“, „Bundesland“ und „Land“ abgefragt.

Sie können einen Satz mit dem Namen user_details erstellen, der die Felder id, city, state und country enthält, und dann in mehreren Kennzahlen darauf verweisen, damit Nutzer sie genauer untersuchen können:


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

Mit dem Set user_details kann ein Drilldown-Feld für den Messwert count definiert werden:


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

In diesem Beispiel wird die Syntax [set_name*] verwendet, um anzugeben, dass die Felder in user_details in den Abfrageergebnissen angezeigt werden, wenn Sie den Messwert Anzahl aufschlüsseln.

Sie können diesen Satz dann wiederverwenden, um weitere Aufschlüsselungsfelder 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 auf der Explore-Benutzeroberfläche einen Wert für Order Count, Total Sale Price oder Average Sale Price auswählt, öffnet Looker wie beim Messwert Count ein Fenster mit einer Abfrage der Felder ID, City, State und Country.

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

Sie können auch einen Satz im drill_fields-Parameter einer Datenansicht referenzieren, um Drilldown-Felder für alle Messwerte in dieser Datenansicht zu definieren, für die noch keine Drilldown-Felder auf Feldebene angegeben sind.

Beispiel: Eine Reihe von Feldern in ein Explore aufnehmen oder daraus ausschließen

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

Angenommen, Sie haben die Ansicht users mit Informationen zu Ihren Kunden, darunter Felder für ID, Vorname, Nachname, E-Mail-Adresse und Alter sowie Standortfelder wie Stadt, Bundesland, Land und Postleitzahl. Die Ansicht users ist mit dem Explore orders verbunden:

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

Wie können Sie die Felder Vorname, Nachname, E-Mail-Adresse, Alter und Geschlecht aus dem Explore für Ihre Nutzer ausschließen? Sie können einen Satz mit dem Namen user_info erstellen, in dem die Felder aufgelistet sind, die Sie aus dem Explore Orders (Aufträge) ausschließen möchten:

Im Explore „Bestellungen ohne Nutzerdaten“ sind die Felder „Vorname“, „Nachname“, „E-Mail-Adresse“, „Alter“ und „Geschlecht“ in der Feldauswahl nicht enthalten.

Die LookML für den Satz user_info würde so aussehen:


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

Wenn Sie ein exploratives Analysetool vom Typ Bestellungen mit dem Label Bestellungen ohne Nutzerdaten definieren möchten, verknüpfen Sie die Datenansicht users mit dem explorativen Analysetool orders. Fügen Sie dem Explore orders den LookML-Code fields: [ALL_FIELDS*, -users.user_info*] hinzu, um alle Felder außer den Feldern im Satz user_info aus der Ansicht users einzubeziehen:


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 die Gruppe user_details mit der Syntax -users.user_details* im Parameter fields der explorativen Datenanalyse orders aus der explorativen Datenanalyse ausgeschlossen ist, werden in der Ansicht Bestellungen in der explorativen Datenanalyse Bestellungen ohne Nutzerdaten die im Satz users_user.info aufgeführten Felder nicht in der Feldauswahl der explorativen Datenanalyse angezeigt.

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