Grazie alle nuove funzioni MAKEPOINT e MAKELINE è ancora più facile utilizzare geografia customizzata in Tableau.
Se devo essere onesta, appena ho visto le due nuove funzioni, da usare nei calculated fields, non ne avevo colto immediatamente l’utilità, ma finalmente mi sono scontrata con uno use case che riguarda proprio la funzione MAKEPOINT.
Abbiamo una nostra base di dato con le coordinate lat e long dei nostri negozi.
E abbiamo lo shape file dei poligoni delle regioni messi a disposizione da ISTAT.
Tra il nostro database e il file ISTAT non esiste una vera e propria chiave di match per fare una join, e se anche ce l’avessimo, molto probabilmente dovremmo lottare con codici delle regioni diverse o ancor peggio nomi delle regioni scritti in modo diverso.
Non esiste un modo affinché Tableau capisca da solo quali punti lat/long ricadono dentro ai poligoni?
La risposta è sì. Grazie ad un particolare tipo di join che si chiama intersect, ed è riservata solo ai campi geografici.
Creaimo una cross db join tra lo shape dell’ISTAT e la nostra base di dato. Usiamo come LEFT i poligoni istat, come RIGHT il nostro database.
Scegliamo come campo left il campo Geometry
Come campo left invece facciamo una Join Calculation
MAKEPOINT([Lat], [Lon])
A questo punto (quando sia il campo di destra che quello di sinistra sono entramby di tipo geometry), nel menù a tendina centrale dell’operatore potremo scegliere INTERSECT
Ed ecco la join geo-spaziale effettuata. Abbiamo abbinato ogni punto dei nostri negozi alla relativa regione di appartenenza, andando a cercare dove esiste una intersezione tra il poligono e il punto (aka dove il poligono contiene il punto)
Ora posiamo, ad esempio, fare un grafico dual axis con i poligoni nel layer inferiore e i point dei negozi nel layer superiore