Looker enthält mehrere integrierte Kartenebenen. Sie können aber auch benutzerdefinierte Kartenregionen definieren, um geografische Daten darzustellen. Angenommen, Sie haben eine Tabelle mit dem Durchschnittsalter für drei Stadtteile:
| Kundenbezirk | Durchschnittsalter der Kunden |
|---|---|
| Innenstadt | 19,5292 |
| Eastside | 54,4626 |
| Westside | 34.9534 |
Möglicherweise möchten Sie Customer Neighborhood einer bestimmten geografischen Region zuordnen, damit sie auf einer Karte visualisiert werden kann. Folgen Sie dazu der Anleitung auf dieser Seite.
Regionsdaten vorbereiten
Zum Vorbereiten der Regionsdaten benötigen Sie eine Datendatei, die die geografischen Formen der einzelnen Regionen sowie Metadaten enthält, die die Region mit den Daten in der Datenbank verknüpfen.
Looker verwendet ein Format namens TopoJSON, um diese Daten kompakt zu speichern. TopoJSON-Dateien lassen sich ganz einfach aus vielen gängigen Shapefile-Formaten erstellen. Sie können sie aber auch selbst mit Onlinetools zeichnen, wie im Community-Beitrag Shapefiles in TopoJSON konvertieren beschrieben.
Für dieses Beispiel ist bereits eine TopoJSON-Datei vorbereitet, die diese Zuordnung enthält. Jede Region in der TopoJSON-Datei hat ein Attribut namens neighborhood, das mit den Werten des Felds Customer Neighborhood übereinstimmt. Dieses Feld ist im LookML-Projekt als Dimension mit dem Namen neighborhood definiert.
Regionsdaten hochladen
Wenn Sie die Regionsdaten in Looker importieren möchten, können Sie die TopoJSON-Datei per Drag-and-drop in den Bereich File Browser (Dateibrowser) des Projekts ziehen. Diese Daten werden zusammen mit dem LookML-Code committet und wie jeder andere Code in einem LookML-Projekt aktualisiert.
Kartenebene erstellen
Nachdem Sie die Regionsdaten im Projekt haben, müssen Sie eine Kartenebene im LookML-Modell erstellen.
Sie können der Modelldatei mit dem Parameter map_layer eine Definition hinzufügen:
map_layer: my_neighborhood_layer {
file: "neighborhoods.topojson"
property_key: "neighborhood"
}
Der Parameter file verweist auf den Namen der Datei im Projekt, die die Regionsdaten enthält, und property_key ist die Eigenschaft des Datasets, die Sie in Looker verfügbar machen möchten. Wenn Sie nicht sicher sind, welcher Schlüssel das ist, lassen Sie ihn einfach weg. Looker versucht dann, den richtigen Schlüssel auszuwählen.
Tipp:Sie können auch eine TopoJSON-Datei verwenden, die an einem anderen Ort im Internet gehostet wird. Geben Sie dazu in der Layerdefinitionurlanstelle vonfilean:
map_layer: my_neighborhood_layer {
url: "https://raw.githubusercontent.com/cooluser/JSON_Stuff/master/Neighborhoods.topoJSON"
property_key: "neighborhood"
}
Kartenebene mit Daten verknüpfen
Jetzt müssen Sie nur noch die Dimension neighborhood in der Ansicht mit der neu erstellten Kartebene verknüpfen, indem Sie den Parameter map_layer_name anwenden.
dimension: neighborhood {
sql: ${TABLE}.neighborhood ;;
map_layer_name: my_neighborhood_layer
}
Dadurch wird Looker mitgeteilt, dass die Werte dieser Dimension mit dem property_key der Karten-Ebene verknüpft sind. Außerdem wird Looker dadurch mitgeteilt, dass es möglich ist, diese Daten auf einer Karte darzustellen.
Karte ansehen
Die Abfragen, in denen die Dimension neighborhood verwendet wird, können jetzt auf einer Karte auf der Seite „Explore“ angezeigt werden: