📘
【dbt Docs】Building a dbt Project - Analyses
Analyses
Overview
dbtの概念としてmodels
は、データチームでバージョンコントロールができ、データの変換を簡単にする・・・というものがある。
ただし特定の場合、dbtのモデルに適応できない場合がある。
このような「分析的」なSQLファイルは、dbtの分析機能を使って、dbtプロジェクト内でバージョン管理することができます。
analyses/
ディレクトリ内にある.sql
ファイルはすべてコンパイルされますが、実行されません。
これは、アナリストが環境に依存しない方法でモデルから選択するために、{{ ref(...) }}のようなdbt機能を使用することができることを意味します。
analyses/running_total_by_account.sql
-- analysis/running_total_by_account.sql
with journal_entries as (
select *
from {{ ref('quickbooks_adjusted_journal_entries') }}
), accounts as (
select *
from {{ ref('quickbooks_accounts_transformed') }}
)
select
txn_date,
account_id,
adjusted_amount,
description,
account_name,
sum(adjusted_amount) over (partition by account_id order by id rows unbounded preceding)
from journal_entries
order by account_id, id
こちらを
$ dbt complile
でコンパイルできる。出力先は、target/compiled/{project name}/analyses/running_total_by_account.sql
このSQLは、例えば、データ可視化ツールに貼り付けることができます。これは分析であり、モデルではないので、running_total_by_account リレーションはデータベースで実体化されないことに注意してください。
Discussion