Elevating dbt Development: A Guide to dbt Power User Extension

What is dbt Power User?

The dbt Power User extension accelerates dbt development within VS Code by seamlessly integrating dbt functionalities with the editor. After installation, only VS Code is required for dbt development. With the extension, users can run model SQL code or segments of it, compile Jinja into SQL and take advantage of autocompleting functionality. In addition, the extension provides model DAG visualization for visualizing model lineage, including column details, execution of dependent models and tests, and generation of model documentation.

If you are a frequent user of dbt-core, installing the dbt Power User is a must.

  • It will speed up the time it takes to develop objects in your dbt project
  • improve your documentation capabilities
  • increase navigation speed through the project
  • provide useful insights provided by a fully automated AI.
Model Lineage with column level detail

Previously, with just dbt-core you could graphically display the various objects in your dbt project and by clicking on them you could navigate to their definition in the project, but that was about it. Objects could be distinguished from each other by the use of colors.

The new Power User extension offers a new intuitive and graphically appealing lineage view with new functionality. When you select a model and navigate to the Lineage tab, it is possible to visualize the lineage of your model and see column-level details. This makes it easier to visualize the data flow and dependencies of the different models in your dbt project.

Furthermore, it is also possible to click on the View Details button to see the different columns of the model and their data types. This is a huge step up from the previous lineage view because now you can see the columns your dbt model consists of without looking into the code definition of the model. There is also an option to search by column name. This provides a better understanding of the models and the data they consist of. Another advantage of dbt Power User is the automatic detection of schema changes without executing dbt commands. Queries are sent to the information schema in snowflake to detect changes and update them appropriately in Visual Studio code.

Query result preview, analyses and export

Before dbt Power User, debugging models was a hassle because there was no function to execute individual model sql code. Only models as a whole could be executed with the dbt run command. There was the ability to execute specific models with the -select flag, but then the entire model was executed.

With dbt Power User, it becomes possible to run your dbt queries to debug them or troubleshoot the result. You can run complete queries or only small parts independently. Clicking on the ‘Query Result’ tab displays sample data. When a query is run, you can export the result or copy the data in its entirety from the query result tab.

The SQL tab shows the sql code that was executed. The last tab Explanation shows a query explanation of the query that was shown on the SQL tab. This description is automatically generated using artificial intelligence. It brings context to your dbt projects by providing useful information about aggregations and columns. This feature is also enabled when you select sql code in your model and click the query explain button.

Auto-complete functionalities and navigation

After installing dbt core in the past, it did not offer auto-complete functionalities. These features could only be installed by installing a script from an external GitHub repo but were not automatically installed. Navigating the dbt project was completely dependent on the IDE you used for development. This was more difficult for those without a technical background and could eventually lead to an unstructured project interface.

dbt Power User provides these features automatically. After installing the extension, you can automatically complete macros and object names in the dbt project. This allows you to quickly reference different models or tables and eliminates the need to remember or copy model names. When you reference a model in the ref function, you can also view column details.

Converting your sql code to a dbt model is now also possible with just a click of a button. Press the right mouse button in an open sql-file and click ‘convert to dbt model’. Dbt Power

User will convert the sql code to a dbt model.

When you navigate to the dbt power user extension in the vs code side bar you get a list of the related objects of the current model selected.

These objects are tests, parent models, child models and documentation. You can run the tests associated with the model, as well as all parent and child models associated with the selected model and finally you can also generate the documentation for the model. These functionalities are all available with just the click of a button and there is no need to write commands or code. The Project Actions menu allows you to scan your project for problems.

dbt documentation generation

There was no documentation generation when using dbt-core. You had to manually write yaml documentation per object in your project. This was very time consuming and depended entirely on the abilities of the person writing the documentation.

To overcome this labor-intensive task, dbt Power User uses an AI to generate documentation on the fly. This can be done in the documentation editor.

  • You can edit individual model documentation.
  • You can access it by selecting a model and navigating to Documentation Editor tab.
  • You can write a description of the model or generate it using AI.

Automatic generation can be customized to the use cases of the documentation. You can generate more fun documentation or more professional documentation by selecting ‘Make it fun’ or ‘Generate for business user’.

Furthermore, you can generate individual column documentation and save the documentation in the ‘schema.yml’ file. The documentation is added to the ‘schema.yml’ file

with the appropriate syntax. This eliminates manual editing of the ‘schema.yml’ file and speeds up development.

Conclusion

It does not matter if you are new to dbt or a senior dbt developer, using the new dbt Power User extension is a must as it provides a comprehensive solution for DBT developers looking to streamline workflows and improve project management. Its seamless integration with VS Code fully consolidates all DBT functionality into one intuitive environment,

  • allowing users to run model SQL
  • visualize lineage
  • analyze data with unparalleled ease and efficiency.

The extension’s AI-driven features improve query understanding and streamline documentation processes, saving valuable time and effort. With its ability to simplify development workflows, streamline collaboration and ensure project stability, the DBT Power User extension serves as a multi-purpose tool for accelerating DBT development and increasing productivity.

// Related articles

Read our other posts

// CONTACT US

Want to know more?