Behavioral · medium

How do you decide what belongs in the transformation layer versus the BI tool?

Asked in Analytics Engineer interviews.

Short answer

Put anything reused, tested, or definition-critical — metrics, joins, business logic — in the warehouse via dbt so it is version-controlled and consistent; leave presentation, ad-hoc filtering, and last-mile formatting to the BI tool. The rule of thumb: if two dashboards would compute it, it belongs upstream.

How to answer it

Anything two people could compute differently belongs upstream, where it is defined once and tested. Anything about how it looks belongs in the tool.

Upstream, in dbt or the equivalent:

In the BI tool:

The test to apply: if the BI tool were replaced tomorrow, what would be lost? Whatever the answer is should not have been in the tool. And the reverse: if a definition lives in a dashboard, the second dashboard will define it slightly differently, and the two-numbers-for-one-metric conversation follows.

Worked line: "Revenue net of refunds was computed in three dashboards with two different refund windows. Moved it into one tested model with the 30-day rule; all three dashboards now read the same column."

Related questions

Practice this for real