始める無料で始める

繰り返しのSQLにJinjaのforループを使う 1

customers.sql を見直してみると、注文のステータス別の件数カラムを作るために、CASE WHEN ... 文が何度も繰り返されていることに気づきます。これが原因で、データマートのモデルがとても長く複雑になっています。

最初の対応として、そのCTEを切り出して、中間マートモデル int_customers__pivoted.sql を作成し、ロジックをそちらに移しました。

しかし、よく見るほど、その中間モデルもJinjaのループを使うことで、スケーラビリティが上がり、重複を減らせそうだと感じます。

この演習はコースの一部です

ケーススタディ: dbt で構築する Eコマースのデータモデル

コースを見る

実践的なインタラクティブ演習

理論を実践に変える、インタラクティブな演習のひとつをお試しください

演習を開始する