EducationSoftwareStrategy.com
StrategyCommunity

Knowledge Base

Product

Community

Knowledge Base

TopicsBrowse ArticlesDeveloper Zone

Product

Download SoftwareProduct DocumentationSecurity Hub

Education

Tutorial VideosSolution GalleryEducation courses

Community

GuidelinesGrandmastersEvents
x_social-icon_white.svglinkedin_social-icon_white.svg
Strategy logoCommunity

© Strategy Inc. All Rights Reserved.

LegalTerms of UsePrivacy Policy
  1. Home
  2. Topics

Dossier Performance Troubleshooting Guide


Christian Munoz Rosas

Cloud Support Operations Expert II • MicroStrategy


Starting with the release of Strategy ONE (March 2024), dossiers are also known as dashboards.

Table of Contents

  1. Query Details
  2. Data Combination Setting
  3. Cube Partitioning 
    1. Enable partitioning in MTDI cubes
    2. Enable partitioning in OLAP cubes
  4. Direct Cubes over View Reports
  5. Limit the Use of Derived Attributes or Metrics
  6. Turn on Dossier Cache
  7. Delete Unused Objects
  8. Avoid Duplicated Datasets
  9. Avoid Images on Thresholds
  10. Load Chapters on Demand
  11. Push-Down Derived Attributes for Live Connection Cubes
  12. Performance Implications of Large and Complex Dossiers
  13. Connect Live Performance Considerations

Query Details


In Strategy 11.0+, you have the ability to see how long it takes each visualization to execute, what query is being sent to the DataWarehouse, or what request is being done to an In-Memory intelligent cube. This feature allows you to discover which visualization is consuming most of the time in your dossier to improve performance. To access this information, on your selected visualization click more > Query Details:

ka0PW0000001JX0YAM_0EM2R000000gqpJ.jpeg

For more information on this feature, see this PDF.

Data Combination Setting


Make sure that the data combination setting is set to "Use minimum relations to join attributes using mostly binary relations (faster, less memory usage)". To apply this change, follow the steps located in the data_combinations video .

Cube Partitioning 


When intelligent cubes of 2 million rows or more are used as data sources for a dossier it’s always recommended to turn on partitioning. This will improve the publishing time for the intelligent cubes, the processing time for derived metrics and attributes, as well as aggregation calculations. 
 
There are two main settings involved in cube partitioning configurations: 

  • Partition Attribute: The attribute you select to partition should be the one with the most cardinality in the cube. In other words, you should partition the the attribute with the highest quantity of unique elements.
  • Number of Partitions: The number of partitions is based on the number of CPUs on the Intelligence Server, it should always be the number of CPUs divided by 2. For instance if the Intelligence Server has 16 CPUs, then the number of partitions should be 8. 


For more information on cube partitioning, download this PDF.

Enable partitioning in MTDI cubes


You can choose to enable cube partitioning in MTDI cubes either automatically or manually. For an automatic set up, watch the mtdi_partition_automatic video . For a manual set up, follow the steps in the mtdi_partition_manual_attribute video . 

Enable partitioning in OLAP cubes


To enable cube partitioning in OLAP cubes, follow the steps in the olap_partition video. After the previous changes, you'll have to save the cube and republish it.

Direct Cubes Over View Reports


It's always recommended that you use the intelligent cubes directly in your dossier- avoid using view reports. The only reason you may want to use a view report in your dossier is if you need to use prompts.
For more information on why you should choose direct cubes over view reports, download this PDF.

Limit the Use of Derived Attributes or Metrics


Derived attributes and metrics are calculated on the fly by the Strategy AE, even when the data comes from an intelligent cube. Depending on the size and complexity of these calculations, this process could take minutes and slow performance. 
To ensure performance quality, it is recommended that you only create derived attributes or metrics when you require them based on the business definition. For more information on why you should and should not use derived elements, download this PDF.

Turn on Dossier Cache


To avoid sending multiple requests of the same data to the Warehouse, you can enable caches and Intelligent Cubes. Even when you have prompts or security filters on your dossier, it's recommended to turn on caches. Caches speed up requests and avoid unnecessary recurrent requests to the warehouse.
Download this PDF to learn about two scenarios where you would turn on your dossier cache.

Delete Unused Objects


To achieve the best performance possible, it's important to delete all unused objects like datasets, visualizations, tabs (for VIs), chapters (for Dossiers), pages (for Dossiers), and derived metrics/attributes. 

Avoid Duplicated Datasets


Whenever a Dossier is executed, the IServer will create a virtual dataset by joining all datasets included in the Dossier. So the more datasets there are, the more time it will take for your dossier to be executed. Download this PDF for tips on how to optimize performance.

Avoid Images on Thresholds 


Using symbols instead of images in thresholds can significantly improve your dossier's performance. Rendering an image takes more time than rendering a symbol, and symbols also have more formatting flexibility than images.

Load Chapters on Demand


In Strategy 10.11+ you can load dossier chapters on demand by enabling the "Load chapters on demand" feature in Dossier Properties. This setting will allow the end user to render only the chapter that is selected by default. This setting can also significantly improve the initial loading performance of a dossier. To learn how to enable this setting, watch the enable_load_chapters_on_demand video .

ka0PW0000001JX0YAM_0EM2R000000grGo.png

Push-Down Derived Attributes for Live Connection Cubes


In Strategy 10.11+, derived attributes are evaluated at the source when all the required columns come from the same table- which is the case for most users. 
This feature supports big data scenarios where moving large amounts of data to memory is not practical. Time-derived columns such as "Month of timestamp" or "Day of timestamp" and other out of the box time-based derived attributes are now calculated at the source.
This feature also supports multiple attribute forms if the ID attribute form is supported by the datasource, or there is an attribute form that is not supported other than the ID.

ka0PW0000001JX0YAM_0EM2R000000grHN.png

Performance Implications of Large and Complex Dossiers


The larger your dossier is, the longer it will take to execute on the server. This also affects the time it takes to render your dossier on the client. If you have two or more separate business stories to tell, try to put them in two or more dossiers. It's important to only add necessary components to your dossier to tell a business story.

Connect Live Performance Considerations


To understand live-connect intelligent cube performance, it's necessary to understand how many steps are involved in both the live-connect and in-memory process.
Live-Connect Intelligent Cube:

  1. The request is received by the Intelligence Server
  2. The Intelligence Server brings the live-connect intelligent cube definition from the metadata and analyzes the information requested from that definition.
  3. The Intelligence Server generates a query based on the requested information and the received definition.
  4. The Intelligence Server executes the previous query against the Data Warehouse.
  5. The Data Warehouse processes the request.
  6. Once the request is processed from the Data Warehouse the Intelligence Server starts to transfer the data from the Data Warehouse to the Intelligence Server.
  7. Once the data is transferred, the Intelligence Server performs any additional operations requested (subtotals, formatting, etc.)
  8. The data is rendered in the end user browser.

In-Memory Intelligent Cube:

  1. The request is received by the Intelligence Server.
  2. The Intelligence Server brings the In-Memory Intelligent Cube definition from the memory and metadata.
  3. The Intelligence Server performs any additional operations requested (subtotals, formatting, etc.)
  4. The data is rendered in the end user browser.


The in-memory intelligent cube has less steps to go through and is thus faster, however there is a trade off. Because in-memory technology keeps the data in memory, there are RAM memory implications using this approach. However, if that is the only concern you should still use the in-memory cube and add more RAM to your Intelligence Server. Live-connect cubes are recommended only for datasets that must constantly be refreshed. 
KB483176


Comment

0 comments

Details

Knowledge Article

Published:

April 16, 2019

Last Updated:

March 21, 2024