■ はじめに
dbt の macro (マクロ) について、徐々に学んでいく
【1】macro (マクロ)
* 再利用可能なコードを作成する機能 => 元々は、テンプレートエンジン Jinja の機能 => Jinja のマクロについては、以下の関連記事を参照
Jinja ~ マクロ ~
https://dk521123.hatenablog.com/entry/2023/11/28/235951
【2】サンプル
例1:Hello world
macros/say_hello.sql
{% macro say_hello(column_name) %} CONCAT('Hello, ' , {{ column_name }}, '!!!') {% endmacro %}
models/hello_world.sql
select id, {{ say_hello('name') }} as result from hello_world
target/compiled/models/hello_world.sql
select id, CONCAT('Hello, ' , name, '!!!') as result from hoge
参考文献
https://docs.getdbt.com/docs/build/jinja-macros#macros
https://zenn.dev/foursue/books/31456a86de5bb4/viewer/3da80d#%E3%83%9E%E3%82%AF%E3%83%AD-(macros)
https://dev.classmethod.jp/articles/dbt-jinja-macros-packages-tutorial/
関連記事
dbt ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2023/06/30/000000
dbt ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/05/30/151003
dbt ~ 基本編 / SEED ~
https://dk521123.hatenablog.com/entry/2023/11/20/230946
dbt ~ 基本編 / Model ~
https://dk521123.hatenablog.com/entry/2023/11/25/231128
Jinja ~ Macro ~
https://dk521123.hatenablog.com/entry/2023/11/28/235951