Looker include diversi livelli mappa integrati, ma puoi anche definire regioni mappa personalizzate per visualizzare i dati geografici. Supponiamo di avere una tabella delle età medie di tre quartieri, come segue:
| Quartiere del cliente | Età media dei clienti |
|---|---|
| centro città | 19,5292 |
| eastside | 54.4626 |
| westside | 34.9534 |
Potresti voler mappare il quartiere dei clienti in una determinata regione 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, devi disporre di un file di dati che contenga le forme geografiche di ogni regione e anche i metadati che associano la regione ai dati 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 shapefile comuni oppure puoi disegnarne uno tu stesso con 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 questo mapping. Ogni regione nel file TopoJSON ha una proprietà chiamata neighborhood che corrisponde ai valori del campo
Quartiere del cliente, definito nel progetto LookML come dimensione chiamata neighborhood.
Caricare i dati della regione
Per importare i dati della regione in Looker, puoi trascinare il file TopoJSON nella sezione File Browser (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 della 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 property_key è la proprietà del set di dati che vuoi esporre in Looker. Se non sai qual è la chiave, ometti semplicemente la chiave della proprietà e Looker tenterà di selezionare quella appropriata.
Suggerimento:puoi anche utilizzare un file TopoJSON ospitato altrove online specificandourlanzichéfilenella 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
L'unica cosa che resta da fare è associare la dimensione neighborhood nella visualizzazione al livello della mappa appena creato applicando il parametro map_layer_name.
dimension: neighborhood {
sql: ${TABLE}.neighborhood ;;
map_layer_name: my_neighborhood_layer
}
Indica a Looker che i valori di questa dimensione sono associati a property_key esposto dal livello della mappa. Inoltre, consente a Looker di sapere che è possibile visualizzare questi dati su una mappa.
Visualizzare la mappa
Le query che utilizzano la dimensione neighborhood ora possono essere visualizzate su una mappa dalla pagina Esplora: