Project recommendations
dbt Explorer provides recommendations about your project from the dbt_project_evaluator
package using metadata from the Discovery API.
- Explorer also offers a global view, showing all the recommendations across the project for easy sorting and summarizing.
- These recommendations provide insight into how you can create a better-documented, better-tested, and better-built dbt project, creating more trust and less confusion.
- For a seamless and consistent experience, recommendations use
dbt_project_evaluator
's pre-defined settings and don't import customizations applied to your package or project.
On-demand learning
If you enjoy video courses, check out our dbt Explorer on-demand course and learn how to best explore your dbt project(s)!
Recommendations page
The Recommendations overview page includes two top-level metrics measuring the test and documentation coverage of the models in your project.
- Model test coverage — The percent of models in your project (models not from a package or imported via dbt Mesh) with at least one dbt test configured on them.
- Model documentation coverage — The percent of models in your project (models not from a package or imported via dbt Mesh) with a description.
Example of the Recommendations overview page with project metrics and the recommendations for all resources in the project
List of rules
The following table lists the rules currently defined in the dbt_project_evaluator
package.
Category | Name | Description | Package Docs Link |
---|---|---|---|
Modeling | Direct Join to Source | Model that joins both a model and source, indicating a missing staging model | GitHub |
Modeling | Duplicate Sources | More than one source node corresponds to the same data warehouse relation | GitHub |
Modeling | Multiple Sources Joined | Models with more than one source parent, indicating lack of staging models | GitHub |
Modeling | Root Model | Models with no parents, indicating potential hardcoded references and need for sources | GitHub |
Modeling | Source Fanout | Sources with more than one model child, indicating a need for staging models | GitHub |
Modeling | Unused Source | Sources that are not referenced by any resource | GitHub |
Performance | Exposure Dependent on View | Exposures with at least one model parent materialized as a view, indicating potential query performance issues | GitHub |
Testing | Missing Primary Key Test | Models with insufficient testing on the grain of the model. | GitHub |
Documentation | Undocumented Models | Models without a model-level description | GitHub |
Documentation | Undocumented Source | Sources (collections of source tables) without descriptions | GitHub |
Documentation | Undocumented Source Tables | Source tables without descriptions | GitHub |
Governance | Public Model Missing Contract | Models with public access that do not have a model contract to ensure the data types | GitHub |
The Recommendations tab
Models, sources, and exposures each also have a Recommendations tab on their resource details page, with the specific recommendations that correspond to that resource:
0