Auf dieser Seite wird auf den Parameter
fromverwiesen, der Teil eines Join ist.
fromkann auch als Teil eines Explores verwendet werden. Dies wird auf der Dokumentationsseite zum Parameterfrom(für Explores) beschrieben.
Nutzung
explore: view_name {
join: join_name {
from: view_name_2
}
}
|
Hierarchie
from |
Standardwert
Eine Ansicht, deren Name mit dem Namen des Joins übereinstimmt
Akzeptiert
Der Name einer vorhandenen Ansicht
|
Definition
from gibt die view an, die in einem Join verwendet werden soll. Wenn from nicht angegeben ist, geht Looker davon aus, dass der zugrunde liegende Ansichtsname mit dem Join-Namen übereinstimmt.
Normalerweise wird from nur verwendet, wenn Sie möchten, dass der Join und seine Felder einen anderen Namen als die zugrunde liegende Ansicht haben. Zur Veranschaulichung sehen Sie sich ein Beispiel an, in dem in einer Ansicht mit dem Namen underlying_view eine Dimension mit dem Namen order_value erstellt wurde:
- Dieses Feld würde in der Explore-Benutzeroberfläche in der Regel als UNDERLYING VIEW Order Value angezeigt und in LookML mit
${underlying_view.order_value}referenziert. - Wenn das LookML im Abschnitt „Verwendung“ auf dieses Beispiel angewendet würde, würde das Feld stattdessen als NEUER ALIASNAME „Order Value“ angezeigt und als
${new_alias_name.order_value}referenziert.
Diese Technik ist besonders nützlich, wenn dieselbe Ansicht auf verschiedene Arten mit einem Explore verknüpft werden muss.
Beispiele
Verbinden Sie die Ansicht person mit dem Explore order, nennen Sie sie aber customer:
explore: order {
join: customer {
from: person
sql_on: ${order.customer_id} = ${customer.id} ;;
}
}
Verknüpfen Sie die Ansicht person zweimal mit dem Explore order: einmal als customer und einmal als representative:
explore: order {
join: customer {
from: person
sql_on: ${order.customer_id} = ${customer.id} ;;
}
join: representative {
from: person
sql_on: ${order.representative_id} = ${representative.id} ;;
}
}
Wichtige Punkte
from ändert die Art und Weise, wie in einem Explore auf Felder verwiesen wird.
Wie bereits erwähnt, hat die Verwendung von from wichtige Auswirkungen auf die Art und Weise, wie auf Felder verwiesen wird. Dies kann zu Problemen führen, wenn ein view an vielen verschiedenen Stellen verwendet wird. Betrachten Sie dieses Beispiel:
explore: order {
join: customer {
from: person
sql_on: ${order.customer_id} = ${customer.id} ;;
}
}
Hier wird person mit order verknüpft, aber customer genannt. Wenn Sie also in order auf ein Feld aus customer verweisen möchten, verwenden Sie ${customer.field_name}.
Wenn Sie in einem zweiten Explore person noch einmal mit order verknüpfen, sie aber nicht in customer umbenennen, funktioniert der ${customer.field_name}-Verweis in diesem zweiten Explore nicht. Die allgemeine Vorgehensweise bei diesem Problem besteht darin, das problematische Feld mit fields aus dem zweiten Explore auszuschließen. Dies würde in etwa so aussehen:
explore: the_second_explore {
fields: [ALL_FIELDS*, -person.problem_field]
join: person {
sql_on: ${the_second_explore.some_field} = ${person.some_field} ;;
}
}
from wird am häufigsten verwendet, um dieselbe Tabelle mehrmals mit einem Explore zu verknüpfen.
Wenn eine einzelne Tabelle verschiedene Arten von Entitäten enthält, kann eine Ansicht mehr als einmal mit einem Explore verknüpft werden. Angenommen, Sie haben einen order-Explore und müssen ihn zweimal mit einer person-Ansicht verknüpfen – einmal für den Kunden und einmal für den Kundenservicemitarbeiter. Das könnte dann folgendermaßen aussehen:
explore: order {
join: customer {
from: person
sql_on: ${order.customer_id} = ${customer.id} ;;
}
join: representative {
from: person
sql_on: ${order.representative_id} = ${representative.id} ;;
}
}
Der SQL-Code, den Looker aus diesem LookML-Code generieren würde, lautet:
SELECT ...
FROM order
LEFT JOIN person AS customer
ON customer.id = order.customer_id
LEFT JOIN person AS representative
ON representative.id = order.representative_id