Felder (für Explores)

Auf dieser Seite wird auf den Parameter fields verwiesen, der Teil einer Exploration ist.

fields kann auch als Teil eines Joins verwendet werden. Dies wird auf der Dokumentationsseite zum Parameter fields (für Joins) beschrieben.

fields kann auch als Teil eines Sets verwendet werden, wie auf der Dokumentationsseite zum Parameter set beschrieben.

Nutzung


explore: explore_name {
  fields: [
    field-or-set-specification,
    field-or-set-specification,
    ...
  ]
}
Hierarchie
fields
Standardwert
ALL_FIELDS*

Akzeptiert
Eckige Klammern mit einer durch Kommas getrennten Liste von Feldern oder Sets

Besondere Regeln
  • Alle Felder und Sets müssen vollständig definiert sein (view_name.field_name-Syntax verwenden).
  • Felder und Sets können ausgeschlossen werden, indem Sie ihnen einen Bindestrich (-) voranstellen.
  • Set-Namen enden immer mit einem Sternchen (*).
  • Sie können den integrierten Set-Namen ALL_FIELDS* verwenden, der alle Felder im Explore enthält.
  • Sie können den integrierten Set-Namen view_name* verwenden, der alle Felder in der referenzierten Ansicht enthält.

Definition

Mit fields können Sie angeben, welche Felder aus einem Explore in der Explore-Benutzeroberfläche angezeigt werden. Diese Felder können sich in der Basisansicht des Explores befinden oder über die Joins des Explores verfügbar sein. Wenn Sie fields nicht verwenden, werden in Looker standardmäßig alle Felder angezeigt.

Eine Liste von Feldern kann so verwendet werden: [view_name.field_a, view_name.field_b].

Sie können auch auf eine Gruppe von Feldern verweisen, die im Parameter set einer Ansicht definiert ist, z. B. [view_name.set_a*]. Das Sternchen weist Looker darauf hin, dass Sie auf einen Set-Namen und nicht auf einen Feldnamen verweisen.

In beiden Fällen muss das Feld oder der Satz vollständig eingegrenzt sein. Sie müssen also sowohl den Ansichtsnamen als auch den Feldnamen angeben.

In Looker wird automatisch ein Set namens ALL_FIELDS* erstellt, das alle Felder in der Basisansicht und den Joins des Explores enthält. Das ist besonders hilfreich, wenn Sie einige wenige unerwünschte Felder ausschließen möchten, z. B.:

explore: view_name {
  fields: [ALL_FIELDS*, -joined_view_name.unwanted_field]
}

Looker erstellt auch automatisch Sets, die alle Felder in einer bestimmten Ansicht enthalten. Auf diese kann mit dem Format view_name* verwiesen werden. Das folgende Explore enthält beispielsweise nur Felder in der Ansicht customers:

explore: all_people {
  fields: [customers*]
}

Beispiele

Nur das Feld name aus der Ansicht customer im Explore customer anzeigen:

explore: customer {
  fields: [customer.name]
}

Zeigen Sie im customer-Explorer nur die Felder name, address und age aus der Ansicht customer an:

explore: customer {
  fields: [customer.name, customer.address, customer.age]
}

Nur die Felder aus der Gruppe export_fields aus der Ansicht customer im Explore customer anzeigen:

explore: customer {
  fields: [customer.export_fields*]
}

Schließen Sie das Feld status in der Ansicht customer aus dem Explore order aus:

explore: order {
  fields: [ALL_FIELDS*, -customer.status]
  join: customer {
    sql_on: ${order.customer_id} = ${customer.id} ;;
  }
}

Wichtige Punkte

Mit fields und explore können Sie einzelne Artikel oder Artikelgruppen ausschließen.

Sie können fields unter dem Parameter explore verwenden, um den ALL_FIELDS*-Satz zu nutzen und dann Felder auszuschließen. Beispiel:

explore: order {
  fields: [
    ALL_FIELDS*,
    -customer.unwanted_field_a,
    -customer.unwanted_field_b
  ]
  join: customer {
    sql_on: ${order.customer_id} = ${customer.id} ;;
  }
}

Wir konnten mit der Syntax view_name.field_name auf Felder aus der verknüpften Ansicht customer im Parameter fields auf Explore-Ebene verweisen.

Mit der Syntax - können Sie auch bestimmte Gruppen von Feldern ausschließen:

explore: orders {
  fields: [ALL_FIELDS*, -users.statezip*]
  join: users {
    sql_on: ${orders.user_id} = ${users.id} ;;
    relationship: many_to_one
  }
}

view: users {
  set: statezip {
    fields:[state, zip]
  }
}

Für den Parameter fields, der Teil eines join ist, kann nicht der ALL_FIELDS-Satz verwendet werden.

Auf dieser Seite wird auf den Parameter fields verwiesen, der ein untergeordnetes Element von explore ist. Wenn Sie den Parameter fields auf diese Weise verwenden, können Sie auf den Satz ALL_FIELDS* zugreifen und dann unerwünschte Felder ausschließen, wie bereits gezeigt.

Es gibt auch den Parameter fields, der ein untergeordnetes Element von join ist. Wenn Sie die Funktion so verwenden, können Sie den ALL_FIELDS*-Satz nicht verwenden.

Die ALL_FIELDS-Gruppe wird durch den Parameter fields begrenzt, der Teil eines join ist.

Auf dieser Seite wird fields beschrieben, wenn es in einem explore-Parameter verschachtelt ist. Es gibt auch einen ähnlichen Parameter fields, der unter join verschachtelt ist. Es ist wichtig, die Auswirkungen der gleichzeitigen Anwendung von fields auf beide Ebenen zu verstehen.

Zuerst werden alle fields-Parameter unter join angewendet. Dadurch wird die Gruppe von Feldern erstellt, aus denen das Explore auswählen kann. Betrachten Sie dieses Beispiel:

explore: orders {
  join: users {
    fields: [name]
    sql_on: ${orders.user_id} = ${users.id} ;;
  }
}

In diesem Fall gilt:

  • Alle Felder aus orders sind verfügbar und in ALL_FIELDS* enthalten.
  • name aus users ist verfügbar und in ALL_FIELDS* enthalten.
  • Andere Felder in users wären nicht verfügbar oder im ALL_FIELDS*-Set enthalten.

Wenn wir nun einen fields-Parameter unter explore hinzufügen, wird eine zusätzliche Einschränkung für diese Gruppe festgelegt. Angenommen, wir haben Folgendes getan:

explore: orders {
  fields: [orders.price, users.address]
  join: users {
    fields: [name]
    sql_on: ${orders.user_id} = ${users.id} ;;
  }
}

In diesem Fall gilt:

  • price aus orders wird wie erwartet angezeigt, da es sich in der von uns erstellten Menge ALL_FIELDS* befindet.
  • address von users wird nicht angezeigt, da es beim Beitritt von users nicht enthalten war (nur name).
  • name aus users wird ebenfalls nicht angezeigt, da wir sie nicht in der Zeile fields: [orders.price, users.address] in „Expl. Datenanalyse“ hinzugefügt haben.