Nota: in Looker 22.14 è stato aggiunto il supporto per i file GeoJSON al parametro map_layer
.
Looker include diversi livelli della mappa integrati, ma puoi anche definire aree della mappa personalizzate per visualizzare i dati geografici. Supponiamo che tu abbia una tabella di età media per tre quartieri, mostrata di seguito:
Quartiere dei clienti | Età media clienti |
---|---|
in centro | 19,5292 |
Eastside | 54,4626 |
Westside | 34,9534 |
Potresti voler mappare Quartiere dei clienti a una determinata area geografica, in modo che possa essere visualizzato su una mappa. Per farlo, segui i passaggi descritti in questa pagina.
Prepara i dati della regione
Per preparare i dati della regione, è necessario un file di dati che contenga le forme geografiche di ogni regione e che contenga anche i metadati che associano la regione ai dati del database.
Looker utilizza un formato chiamato TopoJSON per archiviare questi dati in modo compatto. I file TopoJSON possono essere creati facilmente utilizzando molti formati comuni di shapefile. In alternativa, è possibile disegnarne uno autonomamente con gli strumenti online, come descritto nel post della scheda Community dedicato alla conversione dei file di forma in TopoJSON.
Ai fini di questo esempio, esiste già un file TopoJSON preparato che fornisce questa mappatura. Ogni regione nel file TopoJSON ha una proprietà denominata neighborhood
che corrisponde ai valori del campo
Customer Neighborhood, definito nel progetto LookML come dimensione denominata neighborhood
.
Carica i dati della regione
Per importare i dati della regione in Looker, puoi trascinare il file TopoJSON nella sezione Browser file del progetto. Il commit di questi dati verrà eseguito insieme al codice LookML e verrà aggiornato come qualsiasi altro codice in un progetto LookML.
Crea il livello della mappa
Ora che nel progetto sono presenti i dati della regione, devi creare un livello di mappa nel modello LookML.
Puoi aggiungere una definizione nel file del modello utilizzando il parametro map_layer
:
map_layer: my_neighborhood_layer { file: "neighborhoods.topojson" property_key: "neighborhood" }
Il parametro file
fa riferimento al nome del file nel progetto che contiene i dati della regione, mentre il parametro property_key
è la proprietà del set di dati che vuoi esporre all'interno di Looker. Se non sai con certezza quale sia la chiave, è sufficiente omettere la chiave della proprietà e Looker tenterà di selezionare la chiave appropriata.
Suggerimento: puoi anche utilizzare un file TopoJSON ospitato altrove online, specificandourl
anzichéfile
nella definizione del livello:
map_layer: my_neighborhood_layer { url: "https://raw.githubusercontent.com/cooluser/JSON_Stuff/master/Neighborhoods.topoJSON" property_key: "neighborhood" }
Associare il livello della mappa ai dati
Non ti resta che associare la dimensione neighborhood
nella vista al livello della mappa appena creato applicando il parametro map_layer_name
.
dimension: neighborhood { sql: ${TABLE}.neighborhood ;; map_layer_name: my_neighborhood_layer }
Questo indica a Looker che i valori di questa dimensione sono associati all'elemento property_key
esposto dal livello della mappa. Comunica inoltre a Looker che è possibile visualizzare questi dati su una mappa.
Visualizzazione della mappa
Dalla pagina Esplora è ora possibile visualizzare su una mappa le query che utilizzano la dimensione neighborhood
: