Forum Discussion
How do I improve render speed?
Some things to keep in mind here. With 22 separate visualisations, your report is likely having to make 22 separate sets of calculations. When you brought them all into a singular table, you allowed Power BI to optimise how many calculations it needed to make.
So really you have 2 options:
- You can either optimise how you display the data by reducing the number of visuals
- You can optimise the Measures these visualisations rely upon.
As a quick pointer toward something to optimise. Have a look at your measures and see if, within that same measure, you refer to a set of data more than once. If that is the case, you can front load calculations into a variable and use that result throughout that measure. An example of this:
ExampleA = IF(Sum[Column] < 5, 5, Sum[Column])
Could be optimised to:
ExampleB =
VAR Result = Sum[Column] RETURN IF(Result < 5, 5, Result)
Recognizing that none of the values to be displayed were reliant on filters or sliders I had already moved them all to columns. If I understand correctly, they should all be computed when the dataset is imported and not at render time.
That leaves me at option 1 - reduce the number of visualisations by spreading them out across multiple pages.
- Anonymous8 years agoNot applicable
Quite a few of my reports have 10 to 12 visuals on them and all render fairly fast. The only exception is when i'm displaying graphs that have to calculation on many millions of rows of data. Without knowing your dataset I'm now quite curious what sort of data you are using and what visualisations you are creating using only calculated columns and still getting poor performance. I would have to imagine you either have a tonne of sizable tables with lots of complex relationships? Can you optimise your dataset in anyway instead?
General best practise is that if you have a choice between a calculated column and a measure, the measure should be your first choice. I would be concerned if you feel you need to shy away from them.
- Ormesome8 years agoHelper II
The report is more of an infographic, with big number showing aggregates (revenue this week or month) and aggregates of aggregates (best week in the past 3 months, in terms of revenue). There are no visualistions that provide filering or drill down.
I have 2 versions of the report: measures, and columns.
For the columns report I again have 2 versions: fancy visualisations, and simple tables.
The columns-tables version is rendering in a second or so, but that's not the task. The task is to provide fancy visualisation that are just as effective on mobile as desktop. To that end I think I'm using a rather heavy visualisation (Infographic Designer) to put numbers and text inside shapes because the Card visualisation is too simple.
- Anonymous8 years agoNot applicable
I'm not curious how you are calculating some of these figures, specificly the ones like "Best week in past 3 months" without using a measure? This would be a perfect calculation for dax to complete quickly.
Is your data model fairly sizable with lots of tables and columns? Could we leverage power query or a tabular model in the data source to create some mini tables to pre-calculate things like Weekly Revenue?