From 1df446e6d26f9369b7d71b02fed1e3165ca12c02 Mon Sep 17 00:00:00 2001 From: Yam ZhengLim Date: Sun, 21 May 2023 01:31:57 +0000 Subject: [PATCH] Geocoder function working --- analyses/call_eudf_address_to_coordinates.sql | 24 +++++++------------ 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/analyses/call_eudf_address_to_coordinates.sql b/analyses/call_eudf_address_to_coordinates.sql index b7604cf..f70a955 100644 --- a/analyses/call_eudf_address_to_coordinates.sql +++ b/analyses/call_eudf_address_to_coordinates.sql @@ -1,21 +1,13 @@ --- This block of code returns the entire json --- select --- ADDRESS_LINE_ONE, --- ADDRESS_LINE_TWO, --- {{ address_to_coordinates( 'ADDRESS_LINE_ONE', 'ADDRESS_LINE_TWO', 'POSTCODE', 'DISTRICT_NAME', 'STATE_NAME' ) }} as output_1 --- from {{ ref('test_address__mock_data') }}; - -- This block of code returns the latitude, longitude, metadata, every data column --- Fix why this block return 289 rows instead of 17 rows? -WITH json_data AS ( - SELECT PARSE_JSON( {{ address_to_coordinates( 'ADDRESS_LINE_ONE', 'ADDRESS_LINE_TWO', 'POSTCODE', 'DISTRICT_NAME', 'STATE_NAME' ) }} ) AS response +WITH geocoded AS ( + SELECT + *, + PARSE_JSON( {{ address_to_coordinates( 'ADDRESS_LINE_ONE', 'ADDRESS_LINE_TWO', 'POSTCODE', 'DISTRICT_NAME', 'STATE_NAME' ) }} ) AS METADATA from {{ ref('test_address__mock_data') }} ) SELECT - response[0]:geometry:location:lat::float AS LATITUDE, - response[0]:geometry:location:lng::float AS LONGITUDE, - response AS METADATA, - t.* -FROM json_data -CROSS JOIN {{ ref('test_address__mock_data') }} AS t; \ No newline at end of file + METADATA[0]:geometry:location:lat::float AS LATITUDE, + METADATA[0]:geometry:location:lng::float AS LONGITUDE, + * +FROM geocoded;