-
Notifications
You must be signed in to change notification settings - Fork 20
/
first_value.sql
19 lines (11 loc) · 902 Bytes
/
first_value.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{% macro first_value(first_value_field, partition_field, order_by_field, order="asc") -%}
{{ adapter.dispatch('first_value', packages = fivetran_utils._get_utils_namespaces()) (first_value_field, partition_field, order_by_field, order) }}
{%- endmacro %}
--Default first_value calculation
{% macro default__first_value(first_value_field, partition_field, order_by_field, order="asc") %}
first_value( {{ first_value_field }} ignore nulls ) over (partition by {{ partition_field }} order by {{ order_by_field }} {{ order }} )
{% endmacro %}
--first_value calculation specific to Redshift
{% macro redshift__first_value(first_value_field, partition_field, order_by_field, order="asc") %}
first_value( {{ first_value_field }} ignore nulls ) over (partition by {{ partition_field }} order by {{ order_by_field }} {{ order }} , {{ partition_field }} rows unbounded preceding )
{% endmacro %}