Get certified for free when you join Fabric Data Days 2026 and dive into Fabric, Power BI, SQL, AI, and other essential data skills.
Join nowTry your skills in the Power BI Dataviz World Championship! Round one ends June 26. Join now
I need help calculate distance using lat and long information.
Using math formula shown below (its' tested and working but when source and target lat and long information is in same table)
In this scenario, one table I have Source and target and need distance between them and the lat and long values needs to be looked up from another table.
Any help is appreciated. Thanks.
| From | To | Distance (Miles) |
| Berlin | Tokyo | ? |
| Mumbai | New York | ? |
| London | Paris | ? |
| City | Lat | Long |
| Berlin | 39.58305 | -74.78388977 |
| Mumbai | 39.55434 | -74.74279785 |
| London | 39.51902 | -74.69287872 |
| Tokyo | 39.48972 | -74.59777832 |
| New York | 39.45287 | -74.63844299 |
| Paris | 39.43 | -74.57861328 |
------------------------------------------
Sample
-------------------------------------------
Solved! Go to Solution.
Distance =
var Lat1=LOOKUPVALUE(Locations[Lat],Locations[City],SELECTEDVALUE(Distances[From]))
var Lng1=LOOKUPVALUE(Locations[Long],Locations[City],SELECTEDVALUE(Distances[From]))
var Lat2 =LOOKUPVALUE(Locations[Lat],Locations[City],SELECTEDVALUE(Distances[To]))
var Lng2 =LOOKUPVALUE(Locations[Long],Locations[City],SELECTEDVALUE(Distances[To]))
var P = DIVIDE(PI(),180)
var A = 0.5 - COS((Lat2-Lat1) * P)/2 + COS(Lat1 * P) * COS(lat2 * P) * (1-COS((Lng2- Lng1) * P))/2
return 12742 * ASIN((SQRT(A)))
see attached.
Distance =
var Lat1=LOOKUPVALUE(Locations[Lat],Locations[City],SELECTEDVALUE(Distances[From]))
var Lng1=LOOKUPVALUE(Locations[Long],Locations[City],SELECTEDVALUE(Distances[From]))
var Lat2 =LOOKUPVALUE(Locations[Lat],Locations[City],SELECTEDVALUE(Distances[To]))
var Lng2 =LOOKUPVALUE(Locations[Long],Locations[City],SELECTEDVALUE(Distances[To]))
var P = DIVIDE(PI(),180)
var A = 0.5 - COS((Lat2-Lat1) * P)/2 + COS(Lat1 * P) * COS(lat2 * P) * (1-COS((Lng2- Lng1) * P))/2
return 12742 * ASIN((SQRT(A)))
see attached.
Thanks! you're the best.
Don't miss out on Data Days, June 15 through August 7. Learn Fabric, Power BI, SQL, AI and more.
Check out the May 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 21 | |
| 21 | |
| 21 | |
| 19 | |
| 12 |
| User | Count |
|---|---|
| 59 | |
| 53 | |
| 40 | |
| 31 | |
| 26 |