Alat untuk menghitung jarak antara dua jarak UK Post dan menemukan daftar semua kode pos dalam jumlah kilometer tertentu.
Klik di bawah untuk menonton video panduannya:
Untuk menemukan daftar kode pos dalam jarak X kilometer, gunakan Fungsi Tabel postCodesWithinXkm
. Misalnya, untuk menemukan semua Kode Pos dengan SW1A 0AA sepanjang 5 kilometer, Anda dapat menggunakan kode di bawah ini.
SELECT * FROM postCodesWithinXkm('SW1A 0AA',5)
Untuk menentukan jarak antara dua kode pos, gunakan fungsi skalar distanceBetweenPostCodes
. Contoh: untuk mencari jarak antara SW1A 0AA dan SE10 0DX, anda dapat menggunakan kode di bawah ini.
SELECT dbo.distanceBetweenPostCodes('SW1A 0AA','SE10 0DX')
Untuk menemukan daftar semua kode pos dan jaraknya ke pos tertentu, gunakan fungsi tabel distanceToAllPostCodes
SELECT * FROM dbo.distanceToAllPostCodes('SW1A 0AA') a
Misalkan kita mempunyai database CRM yang berisi tabel Prospects
yang berisi daftar alamat calon klien dan tabel Branch
yang berisi seluruh alamat cabang kita.
postCodesWithinXkm
Jika kami, Cabang tertentu, sedang mengadakan promosi dan kami ingin memberi tahu semua Calon klien dalam jarak 5 km dari cabang, kami dapat menggunakan kode di bawah ini untuk mendapatkan daftar semua Calon klien yang harus kami hubungi.
SELECT a.ProspectName, a.ProspectEmail, a.PostCode
FROM CRM..Prospects a
INNER JOIN postCodesWithinXkm('PO19 1EL',5) b on a.PostCode = b.PostCode
Outputnya akan seperti:
Nama Prospek | ProspekEmail | Kode Pos |
---|---|---|
Acme Corp Ltd | [email protected] | PO18 0AE |
Alat4u Ltd | [email protected] | PO20 2GU |
daging Hal | [email protected] | PO19 7EY |
distanceBetweenPostCodes
Kita bisa menggunakan kode di bawah ini untuk menentukan jumlah Prospek dalam jarak 5 km dari masing-masing cabang kita.
SELECT a.PostCode As BranchPostcode, a.BranchName, count(b.Id) As CustomerCount
FROM CRM..Branches a
INNER JOIN CRM..Prospects b
ON PostCodeDistanceCalculator.dbo.distanceBetweenPostCodes(a.PostCode,b.PostCode)<5
GROUP BY a.PostCode
Outputnya akan seperti:
Kode Pos Cabang | Cabang | Pelanggan |
---|---|---|
BN1 2RE | Brighton | 15 |
PO19 1EL | ayam | 37 |
W4 5TA | Chiswick | 89 |
distanceToAllPostCodes
Misalkan kita ingin menentukan Cabang terdekat untuk setiap Calon Klien. Kita dapat menggunakan distanceToAllPostCodes
untuk menentukan jarak setiap cabang ke setiap Calon klien dan memesan berdasarkan lemari.
SELECT a.ProspectName, c.BranchName, b.distance,
ROW_NUMBER() OVER (PARTITION BY a.ProspectName ORDER BY b.distance ) As DistanceRank
FROM CRM..Prospects a
CROSS APPLY PostCodeDistanceCalculator.dbo.distanceToAllPostCodes(a.PostCode) b
INNER JOIN CRM..Branches c on b.Postcode = c.Postcode
Outputnya akan seperti:
Nama Prospek | Nama Cabang | Jarak |
---|---|---|
Acme Corp Ltd | Brighton | 7.477788367078679 |
Acme Corp Ltd | ayam | 82.13621491096778 |
Acme Corp Ltd | Chiswick | 86.65279491895977 |
PopPostCodes.sql
dan edit lokasi file 'C:UserstimgasourcereposPostCodeDistanceCalculatorPostCodeDistanceCalculatorFilesukpostcodes.csv'
untuk menunjuk ke lokasi yang benar.PostCodeDistanceCalculator.publish.xml
dan pilih Instance dan database target yang akan disebarkan.Berisi data Ordnance Survey © Hak cipta Crown dan hak basis data 2021
Berisi data Royal Mail © hak cipta dan basis data Royal Mail 2021
Sumber: Kantor Statistik Nasional berlisensi Open Government License v.3.0