Diese Seite bezieht sich auf den Parameter
fields
, der Teil eines Join ist.
fields
kann auch als Teil eines explorativen Analysetools verwendet werden, wie auf der Seite mit der Parameterdokumentation fürfields
beschrieben.
fields
kann auch als Teil eines Satzes verwendet werden, wie auf der Dokumentationsseite zum Parameterset
beschrieben.
Nutzung
join: view_name_2 {
fields: [
field-or-set-specification,
field-or-set-specification,
...
]
}
}
Hierarchie
fields |
Standardwert
Alle Felder in der verknüpften AnsichtAkzeptiert
Eckige Klammern mit einer durch Kommas getrennten Liste von Feldern oder GruppenSonderregeln
|
Definition
Mit fields
auf Join-Ebene können Sie angeben, welche Felder aus einer verknüpften Ansicht in einen Tab „Entdecken“ aufgenommen werden. Wenn Sie fields
nicht verwenden, fügt Looker standardmäßig alle Felder aus der Ansicht hinzu.
Eine Liste von Feldern wie [field_a, field_b]
kann verwendet werden.
Sie können auch auf eine Reihe von Feldern verweisen, die mit dem Parameter set
erstellt werden, z. B. [set_a*]
. Das Sternchen teilt Looker mit, dass Sie auf einen Satznamen anstelle eines Feldnamens verweisen.
Beispiele
Fügen Sie das Feld name
nur aus der Ansicht customer
der order
-Funktion „Erkunden“ hinzu:
explore: order {
join: customer {
sql_on: ${order.customer_id} = ${customer.id} ;;
fields: [name]
}
}
Fügen Sie die Felder name
, address
und age
aus der Ansicht customer
der Funktion order
Erkunden hinzu:
explore: order {
join: customer {
sql_on: ${order.customer_id} = ${customer.id} ;;
fields: [name, address, age]
}
}
Fügen Sie der order
-Ansicht die Gruppe von Feldern mit dem Namen order_fields
aus der Ansicht customer
hinzu:
explore: order {
join: customer {
sql_on: ${order.customer_id} = ${customer.id} ;;
fields: [order_fields* ]
}
}
Häufige Herausforderungen
fields
kann nur Felder aus der eigenen join
referenzieren
fields
ist ein untergeordnetes Element von join
, das auf eine Ansicht verweist. Alle Dimensionen oder Messwerte, auf die in fields
verwiesen wird, müssen Teil dieser Ansicht sein. Beispiel:
explore: order {
join: customer {
sql_on: ${order.customer_id} = ${customer.id} ;;
fields: [name]
}
}
Damit die Dimension „name
“ richtig funktioniert, muss sie in der Ansicht „customer
“ vorhanden sein.
Wichtige Informationen
Verwenden Sie fields: []
mit einer leeren Liste, um alle Felder auszuschließen
Sie können alle Felder aus einer verknüpften Ansicht ausschließen. Dazu verwenden Sie den Parameter fields
mit einer leeren Liste in Ihrem Join. Beispiel:
explore: order {
join: customer {
fields: []
sql_on: ${order.customer_id} = ${customer.id} ;;
}
}
In diesem Beispiel werden keine Felder aus der Ansicht customer
im Bereich „Erkunden“ von order
angezeigt.
Wenn Sie Felder auf join
-Ebene entfernen möchten, müssen Sie sie auf einmal mit fields: []
ausschließen. Sie können mit dem ALL_FIELDS*
nicht festlegen, dass alle Felder auf join
-Ebene ausgeschlossen werden.
Sie können jedoch auf explore
EbeneALL_FIELDS*
einzelne Elemente ausschließen, wie im Abschnitt fields
explore
auf dieser Seite beschrieben.
Sie können einzelne Elemente ausschließen, indem Sie fields
mit explore
verwenden
Wenn fields
unter einem join
-Parameter verschachtelt ist, können Sie alle Felder gleichzeitig ausschließen. Dazu können Sie fields: []
oder bestimmte Felder einschließen. Es ist jedoch nicht möglich, einzelne Felder auszuschließen. Wenn Sie beispielsweise 100 Felder haben und nur eines davon ausschließen möchten, müssen Sie alle 99 Felder auflisten, die Sie wollten.
Sie können fields
aber auch unter dem Parameter explore
verschachteln, um die ALL_FIELDS*
-Gruppe 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} ;;
}
}
Sie konnten Felder aus der verknüpften Ansicht customer
im Parameter fields
der Ebene „Erkunden“ mit der Syntax view_name.field_name
referenzieren.
Verschiedene Arten von fields
-Parametern werden zu unterschiedlichen Zeiten angewendet
Auf dieser Seite wird fields
beschrieben, wenn sie in einem join
-Parameter verschachtelt ist. Es gibt auch einen ähnlichen fields
-Parameter, der unter explore
verschachtelt ist. Wenn beide gleichzeitig verwendet werden, werden sie in einer bestimmten Reihenfolge angewendet, was das resultierende Verhalten beeinflusst:
Zuerst werden alle fields
-Parameter unter join
angewendet. Dadurch werden die Felder erstellt, aus denen die Option „Erkunden“ auswählen kann. Betrachten Sie dieses Beispiel:
explore: orders {
join: users {
fields: [name]
sql_on: ${orders.user_id} = ${users.id} ;;
}
}
In diesem Fall sind die verfügbaren Felder alles aus orders
und name
aus users
. Dies ist die Gruppe von Feldern, die in den ALL_FIELDS*
-Satz aufgenommen werden (siehe oben).
Wenn wir jetzt unter explore
den Parameter fields
hinzufügen, wird dieser Gruppe eine Einschränkung hinzugefügt. Beispiel:
explore: orders {
fields: [orders.price, users.address]
join: users {
fields: [name]
sql_on: ${orders.user_id} = ${users.id} ;;
}
}
In diesem Fall gilt:
- „
price
“ vonorders
wird wie erwartet angezeigt, da er im festgelegtenALL_FIELDS*
-Satz enthalten ist. address
vonusers
werden nicht angezeigt, da sie nicht eingeschlossen wurde, alsusers
beigetreten war (nurname
).name
vonusers
werden auch nicht angezeigt, da es nicht in die Zeile „fields: [orders.price, users.address]
“ der Zeile „Erkunden“ aufgenommen wurde.