Exam style questions across every DBT-Analytics-Engineering domain
Last Update 1 day ago
Total Questions : 65
Start with our free DBT-Analytics-Engineering practice questions, carefully crafted to mirror the domains, phrasing, and difficulty of the real Analytics Engineers exam. Each DBT-Analytics-Engineering exam question comes with a detailed rationale that explains not just which answer is correct but why the others fall short. That's how concepts stick. Use the free set to benchmark yourself: identify your DBT Labs weak domains, see where you're losing marks, and build a focused study plan in minutes.
You are working on a complex dbt model with many Common Table Expressions (CTEs) and decide to move some of those CTEs into their own model to make your code more modular.
Is this a benefit of this approach?
The new model can be documented to explain its purpose and the logic it contains.
Consider these SQL and YAML files for the model model_a:
models/staging/model_a.sql
{{ config(
materialized = "view"
) }}
with customers as (
...
)
dbt_project.yml
models:
my_new_project:
+materialized: table
staging:
+materialized: ephemeral
Which is true about model_a? Choose 1 option.
Options:
You have written this new agg_completed_tasks dbt model:
with tasks as (
select * from {{ ref('stg_tasks') }}
)
select
user_id,
{% for task in tasks %}
sum(
case
when task_name = '{{ task }}' and state = 'completed'
then 1
else 0
end
) as {{ task }}_completed
{% endfor %}
from tasks
group by 1
The dbt model compiles to:
with tasks as (
select * from analytics.dbt_user.stg_tasks
)
select
user_id,
from tasks
group by 1
The case when statement did not populate in the compiled SQL. Why?








