Nota: in Looker 22.14, al parametro map_layer
è stato aggiunto il supporto per i file GeoJSON.
Looker include diversi livelli della mappa integrati, ma puoi anche definire regioni della mappa personalizzate per visualizzare i dati geografici. Supponiamo che tu abbia creato una tabella delle età medie per tre quartieri, come segue:
Quartiere dei clienti | Età media dei clienti |
---|---|
centro | 19,5292 |
Eastside | 54,4626 |
westside | 34,9534 |
Potresti voler mappare il Quartiere dei clienti a una determinata area geografica in modo da poter essere visualizzata 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 contenente le informazioni geografiche forme di ogni regione e contiene anche i metadati che associano la regione per inserire i dati contenuti nel database.
Looker utilizza un formato chiamato TopoJSON per archiviare questi dati in modo compatto. I file TopoJSON possono essere creati facilmente da molti formati comuni di shapefile oppure puoi disegnarne uno con gli strumenti online, come descritto nel post della community Conversione di shapefile in TopoJSON.
Ai fini di questo esempio, è già stato preparato un file TopoJSON che fornisce questa mappatura. Ogni regione nel file TopoJSON ha una proprietà denominata neighborhood
che corrisponde ai valori del campo Quartiere dei clienti, definito nel progetto LookML come dimensione denominata neighborhood
.
Carica i dati delle regioni
Per importare i dati della regione in Looker, puoi trascinare il file TopoJSON nella sezione Browser file del progetto. Questi dati verranno sottoposti a commit insieme al codice LookML e aggiornati come qualsiasi altro codice in un progetto LookML.
Crea il livello della mappa
Ora che hai i dati della regione nel progetto, 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 e property_key
è la proprietà del set di dati che vuoi esporre in Looker. Se non sai con certezza quale sia la chiave, ometti semplicemente la chiave della proprietà e Looker tenterà di selezionarne una 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
Devi solo 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'property_key
esposto dal livello della mappa. Comunica inoltre a Looker che è possibile visualizzare questi dati su una mappa.
Visualizzazione della mappa
Le query che utilizzano la dimensione neighborhood
ora possono essere visualizzate su una mappa dalla pagina Esplora: