Open3
読者コミュニティ|dbt 入門
本の感想や質問をお気軽にコメントしてください。
PostgreSQLではなく、Redshiftで試したところ少し詰まったのでコメントを残します。
「04 モデルを作ろう」のmodels/employee_names.sqlですが、Redshiftの場合このままだとエラーとなり実行できませんでした。
ドキュメントによると引数は2つまでのようで、以下のように修正すると正常に実行できました。
- concat("first_name", ' ', "last_name") as full_name
+ concat("first_name", concat(' ', "last_name")) as full_name
追記:
より良い書き方を見つけたので、コメントを残します。
Jinjaを使うことで、データベース毎の違いをdbtが吸収してくれます。
https://docs.getdbt.com/reference/dbt-jinja-functions/cross-database-macros#concat
- concat("first_name", ' ', "last_name") as full_name
- concat("first_name", concat(' ', "last_name")) as full_name
+ {{ dbt.concat(["first_name", "' '", "last_name"]) }} as full_name