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