Forum Discussion

swatig2904's avatar
swatig2904
New Member
16 hours ago

PERFORMANCE ISSUES IN PAGINTED REPORT BUILDER

We have a materialized view in Databricks with about 1.5 million rows and 80+ columns.

On top of that, I’ve created a semantic model in Power BI, and a paginated report that shows essentially all 80+ columns (so it’s returning the full 1.5 million rows).

The report also has around 24 filters/parameters. Because of this combination (large dataset + many columns + many filters), the paginated report is taking a long time to load.

The main dataset is generated using the Query Designer, which produces a large:

`EVALUATE SUMMARIZECOLUMNS(...)`

So far, to improve performance I have:

1. **Created lookup tables for parameter datasets**

Instead of retrieving dropdown values from the large flattened dataset, I created lookup tables and updated parameter datasets to use these tables.

In the Databricks view we have 3 date columns: **D1, D2, D3**.

In the Power BI semantic model I’ve joined these to `dim_date`.

In the paginated report I want to expose 6 date parameters: **StartD1, EndD1, StartD2, EndD2, StartD3, EndD3**.

I have three main questions:

**Q1. How should I handle these 6 date parameters in the main dataset?**

Each date column has its own start/end range; I’d like an approach that is reasonable to maintain.

**Q2. Is the current approach (one big flattened table from the view) the right one?**

We actually started with a star schema in the Power BI semantic model and then moved to a single flattened view, as suggested by a senior data engineer. The issue was that many of the 80+ columns required calculated columns and a lot of transformations, so we pushed all of that logic into the Databricks view instead.

**Q3. How else can I improve performance?**

Right now the paginated report is effectively selecting all rows and almost all columns, with 24 filters on top. I’m looking for design patterns or best practices (e.g. alternative modelling, pre‑aggregation, splitting datasets, etc.) that would make this scenario perform better.

Any guidance or examples would be really appreciated.

No RepliesBe the first to reply