created macro and fixed naming
This commit is contained in:
parent
ee6b613887
commit
0a880a138b
2 changed files with 28 additions and 22 deletions
22
macros/timestamp_to_utc.sql
Normal file
22
macros/timestamp_to_utc.sql
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
This macro converts a timestamp column from Unix epoch time (in milliseconds)
|
||||
to a UTC timestamp and a corresponding UTC date.
|
||||
|
||||
It generates two output fields:
|
||||
1. The timestamp in UTC, with the alias formatted as <column_name>_at_utc.
|
||||
2. The date in UTC, with the alias formatted as <column_name>_date_utc.
|
||||
|
||||
This macro is intended to be used within a SELECT statement
|
||||
and ensures that the output is properly formatted for further analysis.
|
||||
*/
|
||||
{% macro timestamp_to_utc(column_name) %}
|
||||
to_timestamp(
|
||||
{{ adapter.quote(column_name) }}::double precision / 1000
|
||||
) at time zone 'UTC' as {{ column_name | replace("At", "") }}_at_utc,
|
||||
|
||||
cast(
|
||||
to_timestamp(
|
||||
{{ adapter.quote(column_name) }}::double precision / 1000
|
||||
) at time zone 'UTC' as date
|
||||
) as {{ column_name | replace("At", "") }}_date_utc
|
||||
{% endmacro %}
|
||||
|
|
@ -1,29 +1,13 @@
|
|||
with
|
||||
raw_form_submissions as (select * from {{ source("hubspot", "form_submissions") }}),
|
||||
stg_core__form_submissions as (
|
||||
stg_hubspot__form_submissions as (
|
||||
select
|
||||
{{ adapter.quote("formId") }} as id_form, {{ adapter.quote("values") }} as
|
||||
values
|
||||
,
|
||||
{{ adapter.quote("pageUrl") }} as page_url,
|
||||
to_timestamp(
|
||||
{{ adapter.quote("submittedAt") }}::double precision / 1000
|
||||
) at time zone 'UTC' as submitted_at_utc,
|
||||
cast(
|
||||
to_timestamp(
|
||||
{{ adapter.quote("submittedAt") }}::double precision / 1000
|
||||
) at time zone 'UTC' as date
|
||||
) as submitted_date_utc,
|
||||
to_timestamp(
|
||||
{{ adapter.quote("updatedAt") }}::double precision / 1000
|
||||
) at time zone 'UTC' as updated_at_utc,
|
||||
cast(
|
||||
to_timestamp(
|
||||
{{ adapter.quote("updatedAt") }}::double precision / 1000
|
||||
) at time zone 'UTC' as date
|
||||
) as updated_date_utc,
|
||||
{{ adapter.quote("formId") }} as id_form,
|
||||
{{ adapter.quote("values") }} as "values",
|
||||
{{ timestamp_to_utc("submittedAt") }},
|
||||
{{ timestamp_to_utc("updatedAt") }},
|
||||
{{ adapter.quote("_airbyte_extracted_at") }} as dwh_extracted_at_utc
|
||||
from raw_form_submissions
|
||||
)
|
||||
select *
|
||||
from stg_core__form_submissions
|
||||
from stg_hubspot__form_submissions
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue