cancel
Showing results for 
Search instead for 
Did you mean: 
Data Engineering
Join discussions on data engineering best practices, architectures, and optimization strategies within the Databricks Community. Exchange insights and solutions with fellow data engineers.
cancel
Showing results for 
Search instead for 
Did you mean: 

Drill-down support in Databricks SQL (Lakeview) Dashboards

vamsi_simbus
Databricks Partner

Hi All,

Does Databricks SQL (Lakeview) Dashboards support native drill-down functionality (for example: Category → Subcategory → SKU)?

Currently, we see support for cross-filtering, parameters, and drill-through within the same dataset, but hierarchical drill paths seem limited compared to traditional BI tools.

Would like to understand:

Current best practices to implement drill-down
Known limitations
Any roadmap for enhanced drill-down capabilities

Thanks in advance!

1 ACCEPTED SOLUTION

Accepted Solutions

anuj_lathi
Databricks Employee
Databricks Employee

Hi — good question. You're right that Lakeview doesn't have native hierarchical drill-down (click Category → auto-expand to Subcategory → SKU). But you can get fairly close by combining the features you mentioned. Here are the practical patterns:

1. Cross-Filtering as Pseudo Drill-Down

Cross-filtering lets viewers click a data point in one chart and all other visualizations on the same dataset update automatically. You can simulate drill-down by placing charts at different granularity levels on the same page:

  • Chart 1: Bar chart by Category
  • Chart 2: Bar chart by Subcategory
  • Chart 3: Table by SKU

When a viewer clicks "Electronics" in Chart 1, Charts 2 and 3 automatically filter to show only Electronics subcategories and SKUs. This gives a drill-down feel without leaving the page.

Supported chart types for cross-filtering: bar, box plot, heatmap, histogram, pie, scatter, and point map.

2. Drill-Through Pages (Overview → Detail)

Set up a multi-page dashboard:

  • Page 1 (Overview): Aggregated view by Category (bar/pie chart)
  • Page 2 (Details): Detailed view with Subcategory and SKU breakdowns, with a field filter matching the Category column

Viewers right-click a segment on Page 1 and select "Drill to Details" — Page 2 opens with the filter auto-populated. This is the closest to traditional BI drill-down.

Setup: Add a filter widget on the target page whose field type matches the source chart's data type.

3. Parameter-Driven Granularity (Dynamic SQL)

Use a parameter to let users choose the aggregation level dynamically. For example, to drill through date hierarchies:

SELECT

  DATE_TRUNC(:date_granularity, order_date) AS period,

  SUM(revenue) AS total_revenue

FROM orders

GROUP BY 1

 

Add a dropdown filter widget bound to the :date_granularity parameter with values like year, quarter, month, week. Users switch granularity on-the-fly. The same pattern works for categorical hierarchies using CASE expressions:

SELECT

  CASE :level

    WHEN 'Category' THEN category

    WHEN 'Subcategory' THEN subcategory

    WHEN 'SKU' THEN sku

  END AS dimension,

  SUM(revenue) AS total_revenue

FROM products

GROUP BY 1

 

Known Limitations

  • No automatic hierarchical expansion (click-to-expand within a single chart)
  • Cross-filtering is one-level — clicking a filtered chart doesn't cascade further
  • Drill-through navigates to a new page rather than expanding in-place
  • No breadcrumb trail or "back" navigation between drill levels

Recommendation

For your Category → Subcategory → SKU use case, I'd combine approaches 1 + 2: use cross-filtering on an overview page with side-by-side charts at each level, and add drill-through to a detail page with a full SKU-level table. This covers most interactive exploration needs without leaving the Databricks platform.

If you need full hierarchical drill-down with expand/collapse within a single visual, you'd need to connect an external BI tool (Power BI, Tableau) via Partner Connect.

Docs:

Anuj Lathi
Solutions Engineer @ Databricks

View solution in original post

2 REPLIES 2

Sumit_7
Honored Contributor II

No support for native hierarchical drill-down. Best practice would be to Drill-through pages, Schema modeling or an Optional BI tool. Check out the below resources:
~ https://docs.databricks.com/en/dashboards/
~ https://docs.databricks.com/en/dashboards/manage/filters/

anuj_lathi
Databricks Employee
Databricks Employee

Hi — good question. You're right that Lakeview doesn't have native hierarchical drill-down (click Category → auto-expand to Subcategory → SKU). But you can get fairly close by combining the features you mentioned. Here are the practical patterns:

1. Cross-Filtering as Pseudo Drill-Down

Cross-filtering lets viewers click a data point in one chart and all other visualizations on the same dataset update automatically. You can simulate drill-down by placing charts at different granularity levels on the same page:

  • Chart 1: Bar chart by Category
  • Chart 2: Bar chart by Subcategory
  • Chart 3: Table by SKU

When a viewer clicks "Electronics" in Chart 1, Charts 2 and 3 automatically filter to show only Electronics subcategories and SKUs. This gives a drill-down feel without leaving the page.

Supported chart types for cross-filtering: bar, box plot, heatmap, histogram, pie, scatter, and point map.

2. Drill-Through Pages (Overview → Detail)

Set up a multi-page dashboard:

  • Page 1 (Overview): Aggregated view by Category (bar/pie chart)
  • Page 2 (Details): Detailed view with Subcategory and SKU breakdowns, with a field filter matching the Category column

Viewers right-click a segment on Page 1 and select "Drill to Details" — Page 2 opens with the filter auto-populated. This is the closest to traditional BI drill-down.

Setup: Add a filter widget on the target page whose field type matches the source chart's data type.

3. Parameter-Driven Granularity (Dynamic SQL)

Use a parameter to let users choose the aggregation level dynamically. For example, to drill through date hierarchies:

SELECT

  DATE_TRUNC(:date_granularity, order_date) AS period,

  SUM(revenue) AS total_revenue

FROM orders

GROUP BY 1

 

Add a dropdown filter widget bound to the :date_granularity parameter with values like year, quarter, month, week. Users switch granularity on-the-fly. The same pattern works for categorical hierarchies using CASE expressions:

SELECT

  CASE :level

    WHEN 'Category' THEN category

    WHEN 'Subcategory' THEN subcategory

    WHEN 'SKU' THEN sku

  END AS dimension,

  SUM(revenue) AS total_revenue

FROM products

GROUP BY 1

 

Known Limitations

  • No automatic hierarchical expansion (click-to-expand within a single chart)
  • Cross-filtering is one-level — clicking a filtered chart doesn't cascade further
  • Drill-through navigates to a new page rather than expanding in-place
  • No breadcrumb trail or "back" navigation between drill levels

Recommendation

For your Category → Subcategory → SKU use case, I'd combine approaches 1 + 2: use cross-filtering on an overview page with side-by-side charts at each level, and add drill-through to a detail page with a full SKU-level table. This covers most interactive exploration needs without leaving the Databricks platform.

If you need full hierarchical drill-down with expand/collapse within a single visual, you'd need to connect an external BI tool (Power BI, Tableau) via Partner Connect.

Docs:

Anuj Lathi
Solutions Engineer @ Databricks