dbt - Jinja in dbtWhich of the following is the correct way to define a macro in dbt?A{% macro my_macro() %} SELECT * FROM table {% endmacro %}BCREATE MACRO my_macro AS SELECT * FROM table;Cdef my_macro(): SELECT * FROM tableDmacro my_macro() { SELECT * FROM table }Check Answer
Step-by-Step SolutionSolution:Step 1: Recall dbt macro syntaxdbt macros use Jinja templating with {% macro %} and {% endmacro %} tags.Step 2: Match syntax to options{% macro my_macro() %} SELECT * FROM table {% endmacro %} correctly uses Jinja syntax for defining a macro.Final Answer:{% macro my_macro() %} SELECT * FROM table {% endmacro %} -> Option AQuick Check:dbt macros use {% macro %} ... {% endmacro %} [OK]Quick Trick: Look for {% macro %} and {% endmacro %} tags [OK]Common Mistakes:MISTAKESUsing SQL CREATE MACRO syntax (not dbt)Writing Python function syntaxUsing curly braces without Jinja tags
Master "Jinja in dbt" in dbt9 interactive learning modes - each teaches the same concept differentlyLearnWhyDeepVisualTryChallengeProjectRecallTime
More dbt Quizzes Advanced Testing - Why advanced testing catches subtle data issues - Quiz 5medium Advanced Testing - dbt-expectations for data quality - Quiz 5medium Incremental Models - Incremental strategies (append, merge, delete+insert) - Quiz 10hard Incremental Models - Handling late-arriving data - Quiz 7medium Jinja in dbt - if/else logic in models - Quiz 13medium Packages and Reusability - dbt-utils (surrogate_key, pivot, unpivot) - Quiz 15hard Packages and Reusability - dbt-utils (surrogate_key, pivot, unpivot) - Quiz 6medium Project Organization - Tags and selectors for partial runs - Quiz 15hard Project Organization - Tags and selectors for partial runs - Quiz 6medium Project Organization - Why project structure scales with team size - Quiz 15hard