Auf dieser Seite wird auf den Parameter
fieldsverwiesen, der Teil eines Join ist.
fieldskann auch als Teil eines Explores verwendet werden. Dies wird auf der Dokumentationsseite zum Parameterfields(für Explores) beschrieben.
fieldskann auch als Teil eines Sets verwendet werden, wie auf der Dokumentationsseite zum Parametersetbeschrieben.
Nutzung
explore: view_name_1 {
join: view_name_2 {
fields: [
field-or-set-specification,
field-or-set-specification,
...
]
}
}
|
Hierarchie
fields |
Standardwert
Alle Felder in der verknüpften Ansicht
Akzeptiert
Eckige Klammern mit einer durch Kommas getrennten Liste von Feldern oder Sets
Besondere Regeln
|
Definition
Mit fields auf Joinebene können Sie angeben, welche Felder aus einer verknüpften Ansicht in einen Explore aufgenommen werden sollen. Wenn Sie fields nicht verwenden, werden standardmäßig alle Felder aus der Ansicht hinzugefügt.
Es kann eine Liste von Feldern verwendet werden, z. B. [field_a, field_b].
Sie können auch auf eine Gruppe von Feldern verweisen, die mit dem Parameter set erstellt werden, z. B. [set_a*]. Das Sternchen weist Looker darauf hin, dass Sie auf einen Set-Namen und nicht auf einen Feldnamen verweisen.
Beispiele
Fügen Sie dem order-Explore nur das Feld name aus der Ansicht customer hinzu:
explore: order {
join: customer {
sql_on: ${order.customer_id} = ${customer.id} ;;
fields: [name]
}
}
Fügen Sie dem Explore order die Felder name, address und age aus der Ansicht customer hinzu:
explore: order {
join: customer {
sql_on: ${order.customer_id} = ${customer.id} ;;
fields: [name, address, age]
}
}
Fügen Sie dem Explore order die Feldgruppe 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 auf Felder aus dem eigenen join verweisen.
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. Angenommen, wir haben Folgendes:
explore: order {
join: customer {
sql_on: ${order.customer_id} = ${customer.id} ;;
fields: [name]
}
}
Damit die Funktion ordnungsgemäß funktioniert, muss in der Ansicht customer eine Dimension oder ein Messwert mit dem Namen name vorhanden sein.
Wichtige Punkte
fields: [] mit einer leeren Liste verwenden, um alle Felder auszuschließen
Sie können alle Felder aus einer zusammengeführten Ansicht ausschließen, indem Sie den Parameter fields mit einer leeren Liste in Ihrem Join verwenden, wie hier:
explore: order {
join: customer {
fields: []
sql_on: ${order.customer_id} = ${customer.id} ;;
}
}
In diesem Beispiel werden keine Felder aus der Ansicht customer im Explore order angezeigt.
Felder auf der Ebene join können nur entfernt werden, indem Sie sie alle gleichzeitig mit fields: [] ausschließen. Sie können ALL_FIELDS* nicht verwenden, um alle Felder auf join-Ebene auszuschließen.
Auf der Ebene explore können Sie jedoch den ALL_FIELDS*-Satz verwenden, um einzelne Elemente auszuschließen, wie im Abschnitt Einzelne Elemente mit fields und explore ausschließen auf dieser Seite beschrieben.
Sie können einzelne Elemente mit fields und explore ausschließen.
Wenn fields in einem join-Parameter verschachtelt ist, können Sie alle Felder gleichzeitig ausschließen, indem Sie fields: [] verwenden, oder bestimmte Felder einschließen. Sie können jedoch nicht einzelne Felder ausschließen. Wenn Sie beispielsweise 100 Felder haben und nur eines davon ausschließen möchten, müssten Sie alle 99 Felder auflisten, die Sie nicht ausschließen möchten.
Sie können fields jedoch stattdessen unter dem Parameter explore verschachteln, 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} ;;
}
}
Beachten Sie, dass wir mit der Syntax view_name.field_name im Parameter fields auf Explore-Ebene auf Felder aus der verknüpften Ansicht customer verweisen konnten.
Verschiedene Arten von fields-Parametern werden zu unterschiedlichen Zeiten angewendet.
Auf dieser Seite wird fields beschrieben, wenn es unter einem join-Parameter verschachtelt ist. Es gibt auch einen ähnlichen Parameter fields, der unter explore verschachtelt ist. Wenn beide gleichzeitig verwendet werden, werden sie in einer bestimmten Reihenfolge angewendet, was sich auf das resultierende Verhalten auswirkt:
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 sind alle Felder aus orders und name aus users verfügbar. Das ist die Gruppe von Feldern, die im ALL_FIELDS*-Set enthalten wären (siehe Abschnitt zum Ausschließen einzelner Elemente).
Wenn wir nun einen fields-Parameter unter explore hinzufügen, fügen wir eine zusätzliche Einschränkung hinzu. 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:
priceausorderswird wie erwartet angezeigt, da es sich in der von uns erstellten MengeALL_FIELDS*befindet.addressvonuserswird nicht angezeigt, da es beim Beitritt vonusersnicht enthalten war (nurname).nameaususerswird ebenfalls nicht angezeigt, da wir sie nicht in der Zeilefields: [orders.price, users.address]in „Expl. Datenanalyse“ hinzugefügt haben.