Elementary has a UI for visualization and exploration of data from the dbt-package tables, which includes dbt test results, Elementary anomaly detection results, dbt artifacts, etc.

In order to visualize the data from the dbt-package tables, use the CLI you can generate the Elementary UI. After installing and configuring the CLI, execute the command:

edr report

The command will use the provided connection profile to access the data warehouse, read from the Elementary tables, and generate the UI as an HTML file.

Demo

Report Screens

Test Results

The Test results tab shows the latest result for each dbt or Elementary test that was executed in the last 7 days (Can be changed by passing --days-back param to the CLI).

Initially, the report presents all tests, sorted by status (failures on top) and last run time. The grey header on the top of the screen shows the total amount of results of each status.

The navigation bar on left shows a folder structure of your dbt project. On the right of each model/source you can see the amount of each test result for the specific model / source. Choosing a specific model will show the details of the selected model results. The grey header details and status totals also change accordingly.

On the top of the navigation bar, you will find filters to present only tests of the selected result status. The selection filters both the navigation bar and the report.

Test results table

Each row in the table represents a single dbt test, or a single Elementary anomaly. The rows are expandable, and on expansion show information that can help understand and triage the result:

  • For Elementary anomaly tests - Anomaly detection graph, test attributes, query that returns the underlying metrics.
  • For dbt tests - Table with results sample, test params, error message, query that returns all the results.
  • For schema changes tests - detected schema changes.
Data observability UI Test Result Screen

Test runs

The Test runs tab shows the last 30 runs (can be changed by passing --executions-limit param to the CLI) for each dbt or Elementary test that was executed in the last 7 days ( can be changed by passing --days-back param to the CLI).

Initially, the report presents all tests, sorted by results (results containing failures on top), fail rate and last run time. The grey header on the top of the screen shows the total amount of runs for each status.

The navigation bar on left shows a folder structure of your dbt project. On the right of each model/source you can see the amount of each tests runs for the specific table. Choosing a specific model presents a report of the selected model only. The grey header details and status totals also change accordingly.

On the top of the navigation bar, you will find filters to present only tests of the selected result status. The selection filters both the navigation bar and the report.

Test runs table

Each row in the table represents a single dbt test, or a single Elementary anomaly. The rows are expandable, and on expansion show information about the last runs of the tests:

  • Run status
  • Affected rows
  • Time

Data lineage navigation bar

When selecting a dbt model/source in the navigation bar, a lineage icon will appear next to the selected dbt model/source:

Pressing on the lineage icon will toggle the navigation bar into a lineage navigation bar mode.

The lineage navigation bar lets you inspect upstream and downstream failures based on the selected model/source lineage!

This is useful when trying to find the root cause of a test failure or when trying to understand what is the impact of a test failure, for example on an exposure or a dashboard in the data stack.

Data lineage navigation bar

Configure report sharing

The data tests report UI can be sent via Slack, Google Cloud Storage, or Amazon S3 when you run edr send-report.

Refer to this guide for detailed instructions.