Creazione di regioni della mappa personalizzate

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, specificando url 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: