Template Jinja

Pengantar dbt

Mike Metzger

Data Engineer

Apa itu template?

  • Format baku yang memungkinkan substitusi informasi
  • Sering berupa berkas teks
  • Mempermudah akses dan penggunaan ulang
Pengantar dbt

Apa itu Jinja?

  • Bahasa templating berbasis teks yang sederhana
  • Dipakai di banyak alat, bukan hanya dbt
  • {{ ... }} menyatakan substitusi template
  • dbt menyediakan banyak fungsi Jinja untuk proyek
  • Memungkinkan penggunaan dbt yang lebih dinamis
  • Dapat memakai for loop untuk menyederhanakan kode
Pengantar dbt

Fungsi Jinja di dbt

  • Beberapa fungsi Jinja yang tersedia
    • ref: Akses model berdasarkan nama
    • config: Akses pengaturan konfigurasi
    • docs: Akses informasi dokumentasi
    • Perhitungan, loop, dll.
Pengantar dbt

Contoh Jinja

  • Tanpa Jinja
    SELECT
    COALESCE(start_date, '2025-01-01') as start_date,
    COALESCE(update_date, '2025-01-01') as update_date,
    COALESCE(end_date, '2025-01-01') as end_date
    FROM Events
    
  • Dengan Jinja
    SELECT
    {% for column in ['start_date', 'update_date', 'end_date'] %}
    COALESCE({{column}}, '2025-01-01') as {{column}}
    {% endfor %}
    FROM Events
    
Pengantar dbt

Ayo berlatih!

Pengantar dbt

Preparing Video For Download...