Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Vote for your favorite vizzies from the Power BI Dataviz World Championship submissions. Vote now!
Good Morning,
I'm a new user in the Power BI world and would like to try to figure out a way to select the most optimal ship from Distribution center based on the customers zip code and its proximity to the Distribution Center.
For example, I have one Distrubution center in California and one in Maine. I have 100k Orders, based on customer zip code and/or address. I would like to determine which Distribution Center makes the most sense to ship form to get the the quickest time in transit.
Any help would be greatly appreciated!
Using the Haversine formula:
Distance =
VAR CustomerLat = Customers[Latitude]
VAR CustomerLong = Customers[Longitude]
VAR CenterLat = DistributionCenters[Latitude]
VAR CenterLong = DistributionCenters[Longitude]
VAR Radius = 6371 -- Earth's radius in kilometers
VAR LatDiff = RADIANS(CenterLat - CustomerLat)
VAR LongDiff = RADIANS(CenterLong - CustomerLong)
VAR a = SIN(LatDiff / 2) * SIN(LatDiff / 2) + COS(RADIANS(CustomerLat)) * COS(RADIANS(CenterLat)) * SIN(LongDiff / 2) * SIN(LongDiff / 2)
VAR c = 2 * ATAN2(SQRT(a), SQRT(1 - a))
RETURN Radius * c
After calculating the distances, create a measure to determine which distribution center is closest to each customer.
OptimalDistributionCenter =
IF(
[DistanceToCenter1] < [DistanceToCenter2],
"California Distribution Center",
"Maine Distribution Center"
)
💌 If this helped, a Kudos 👍 or Solution mark would be great! 🎉
Cheers,
Kedar
Connect on LinkedIn
Vote for your favorite vizzies from the Power BI World Championship submissions!
If you love stickers, then you will definitely want to check out our Community Sticker Challenge!
Check out the January 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 63 | |
| 51 | |
| 41 | |
| 23 | |
| 18 |
| User | Count |
|---|---|
| 134 | |
| 111 | |
| 50 | |
| 31 | |
| 29 |