Skip to content

Commit

Permalink
use macro
Browse files Browse the repository at this point in the history
  • Loading branch information
fivetran-jamie committed May 23, 2024
1 parent 64006dc commit 33c4fc4
Show file tree
Hide file tree
Showing 7 changed files with 21 additions and 35 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ Introducing...conversion metrics ([PR #43](https://github.com/fivetran/dbt_faceb
- Updated the `quickstart.yml` file to allow for automated Quickstart data model deployments ([PR #40](https://github.com/fivetran/dbt_facebook_ads/pull/40)).
- Updated the PR templates to align with our most up-to-date standards ([PR #43](https://github.com/fivetran/dbt_facebook_ads/pull/43)).

## Contributors
[Seer Interactive](https://www.seerinteractive.com/)
<More to be added>

# dbt_facebook_ads v0.7.2

[PR #38](https://github.com/fivetran/dbt_facebook_ads/pull/38) includes the following updates:
Expand Down
11 changes: 11 additions & 0 deletions macros/facebook_ads_persist_pass_through_columns.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{# Adapted from fivetran_utils.persist_pass_through_columns() macro to include coalesces #}

{% macro facebook_ads_persist_pass_through_columns(pass_through_variable, identifier=none, transform='', coalesce_with=none) %}

{% if var(pass_through_variable, none) %}
{% for field in var(pass_through_variable) %}
, {{ transform ~ '(' ~ ('coalesce(' if coalesce_with is not none else '') ~ (identifier ~ '.' if identifier else '') ~ (field.alias if field.alias else field.name) ~ ((', ' ~ coalesce_with ~ ')') if coalesce_with is not none else '') ~ ')' }} as {{ field.alias if field.alias else field.name }}
{% endfor %}
{% endif %}

{% endmacro %}
8 changes: 1 addition & 7 deletions models/facebook_ads__account_report.sql
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,7 @@ joined as (
sum(report.spend) as spend
{{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}
, sum(coalesce(conversion_report.conversion_value, 0)) as conversion_value

{# Adapted from fivetran_utils.persist_pass_through_columns() macro to include coalesces, since the conversion_report is on the right side of a left join #}
{% if var('facebook_ads__basic_ad_actions_passthrough_metrics', none) %}
{% for field in var('facebook_ads__basic_ad_actions_passthrough_metrics') %}
, sum( coalesce({{ field.alias if field.alias else field.name }}, 0)) as {{ field.alias if field.alias else field.name }}
{% endfor %}
{% endif %}
{{ facebook_ads_persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_actions_passthrough_metrics', transform = 'sum', coalesce_with=0) }}

from report
left join conversion_report
Expand Down
8 changes: 1 addition & 7 deletions models/facebook_ads__ad_report.sql
Original file line number Diff line number Diff line change
Expand Up @@ -64,13 +64,7 @@ joined as (
sum(report.spend) as spend
{{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}
, sum(coalesce(conversion_report.conversion_value, 0)) as conversion_value

{# Adapted from fivetran_utils.persist_pass_through_columns() macro to include coalesces, since the conversion_report is on the right side of a left join #}
{% if var('facebook_ads__basic_ad_actions_passthrough_metrics', none) %}
{% for field in var('facebook_ads__basic_ad_actions_passthrough_metrics') %}
, sum( coalesce({{ field.alias if field.alias else field.name }}, 0)) as {{ field.alias if field.alias else field.name }}
{% endfor %}
{% endif %}
{{ facebook_ads_persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_actions_passthrough_metrics', transform = 'sum', coalesce_with=0) }}

from report
left join conversion_report
Expand Down
9 changes: 2 additions & 7 deletions models/facebook_ads__ad_set_report.sql
Original file line number Diff line number Diff line change
Expand Up @@ -67,13 +67,8 @@ joined as (
sum(report.spend) as spend
{{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}
, sum(coalesce(conversion_report.conversion_value, 0)) as conversion_value

{# Adapted from fivetran_utils.persist_pass_through_columns() macro to include coalesces, since the conversion_report is on the right side of a left join #}
{% if var('facebook_ads__basic_ad_actions_passthrough_metrics', none) %}
{% for field in var('facebook_ads__basic_ad_actions_passthrough_metrics') %}
, sum( coalesce({{ field.alias if field.alias else field.name }}, 0)) as {{ field.alias if field.alias else field.name }}
{% endfor %}
{% endif %}
{{ facebook_ads_persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_actions_passthrough_metrics', transform = 'sum', coalesce_with=0) }}

from report
left join conversion_report
on report.date_day = conversion_report.date_day
Expand Down
8 changes: 1 addition & 7 deletions models/facebook_ads__campaign_report.sql
Original file line number Diff line number Diff line change
Expand Up @@ -58,13 +58,7 @@ joined as (
sum(report.spend) as spend
{{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}
, sum(coalesce(conversion_report.conversion_value, 0)) as conversion_value

{# Adapted from fivetran_utils.persist_pass_through_columns() macro to include coalesces, since the conversion_report is on the right side of a left join #}
{% if var('facebook_ads__basic_ad_actions_passthrough_metrics', none) %}
{% for field in var('facebook_ads__basic_ad_actions_passthrough_metrics') %}
, sum( coalesce({{ field.alias if field.alias else field.name }}, 0)) as {{ field.alias if field.alias else field.name }}
{% endfor %}
{% endif %}
{{ facebook_ads_persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_actions_passthrough_metrics', transform = 'sum', coalesce_with=0) }}

from report
left join conversion_report
Expand Down
8 changes: 1 addition & 7 deletions models/facebook_ads__url_report.sql
Original file line number Diff line number Diff line change
Expand Up @@ -81,13 +81,7 @@ joined as (
sum(report.spend) as spend
{{ fivetran_utils.persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_passthrough_metrics', transform = 'sum') }}
, sum(coalesce(conversion_report.conversion_value, 0)) as conversion_value

{# Adapted from fivetran_utils.persist_pass_through_columns() macro to include coalesces, since the conversion_report is on the right side of a left join #}
{% if var('facebook_ads__basic_ad_actions_passthrough_metrics', none) %}
{% for field in var('facebook_ads__basic_ad_actions_passthrough_metrics') %}
, sum( coalesce({{ field.alias if field.alias else field.name }}, 0)) as {{ field.alias if field.alias else field.name }}
{% endfor %}
{% endif %}
{{ facebook_ads_persist_pass_through_columns(pass_through_variable='facebook_ads__basic_ad_actions_passthrough_metrics', transform = 'sum', coalesce_with=0) }}

from report
left join conversion_report
Expand Down

0 comments on commit 33c4fc4

Please sign in to comment.