Hinweis:In Looker 22.14 wurde der Parameter map_layer
um die Unterstützung für GeoJSON-Dateien erweitert.
Looker enthält mehrere integrierte Kartenebenen. Sie können aber auch benutzerdefinierte Kartenregionen definieren, um geografische Daten anzuzeigen. Angenommen, Sie haben eine Tabelle mit den Durchschnittsaltern für drei Stadtteile:
Kundenumgebung | Durchschnittliches Alter der Kunden |
---|---|
Innenstadt | 19.5292 |
Eastside | 54.4626 |
Westside | 34.9534 |
Sie können Kundennähe einer bestimmten geografischen Region zuordnen, damit sie auf einer Karte visualisiert werden kann. Folgen Sie dazu der Anleitung auf dieser Seite.
Regionsdaten vorbereiten
Zur Vorbereitung der Regionsdaten benötigen Sie eine Datendatei mit den geografischen Formen der einzelnen Regionen sowie Metadaten, die die Region mit den Daten in der Datenbank verknüpfen.
Looker verwendet das Format TopoJSON, um diese Daten kompakt zu speichern. TopoJSON-Dateien können ganz einfach aus vielen gängigen Shapefile-Formaten erstellt werden. Sie können sie aber auch mithilfe von Online-Tools selbst zeichnen, wie im Communitybeitrag Shapefiles in TopoJSON konvertieren beschrieben.
Für dieses Beispiel gibt es bereits eine TopoJSON-Datei, die diese Zuordnung enthält. Jede Region in der TopoJSON-Datei hat das Attribut „neighborhood
“, das den Werten des Felds Kundenumgebung entspricht. Dieses Feld ist im LookML-Projekt als Dimension namens 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 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 in das Projekt aufgenommen haben, müssen Sie im LookML-Modell eine Kartenebene erstellen.
Sie können mit dem Parameter map_layer
eine Definition in der Modelldatei 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. property_key
ist die Eigenschaft des Datensatzes, den Sie in Looker freigeben möchten. Wenn Sie sich nicht sicher sind, welcher Schlüssel das ist, lassen Sie ihn einfach weg. Looker versucht dann, den entsprechenden Schlüssel auszuwählen.
Tipp:Sie können auch eine TopoJSON-Datei verwenden, die an anderer Stelle online gehostet wird. Geben Sie dazu in der Ebenendefinitionurl
anstelle vonfile
an:
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 Kartenebene verknüpfen. Verwenden Sie dazu den Parameter map_layer_name
.
dimension: neighborhood { sql: ${TABLE}.neighborhood ;; map_layer_name: my_neighborhood_layer }
Dadurch wird Looker mitgeteilt, dass die Werte dieser Dimension mit den property_key
verknüpft sind, die von der Kartenebene bereitgestellt werden. Außerdem wird Looker mitgeteilt, dass diese Daten auf einer Karte dargestellt werden können.
Karte aufrufen
Abfragen mit der Dimension neighborhood
können jetzt auf der Seite „Explore“ auf einer Karte dargestellt werden: