Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • If you can not decide if dimension should be used in rows and columns, always use dimension with more members in rows.
  • If you think you need more dimensions in the report, remember about option Drill across: it can be used at any time in the final report to analyze data by any other dimension you need, you do not need to add this dimension in the report structure "just for case".
  • If you need to split only one measure by some dimension, then better use option Drill into dimension for this measure instead of selecting it in the report rows.
  • Time dimension usually goes on rows as it allows you to use the timeline chart as well.

Image RemovedImage Added

2. Use particular level members in rows and avoid expanded All level members; it is because of performance.

  • Avoid Remove option if the report might be shared with other accounts: a name of each particular removed member is saved in the report definition and could behave unexpectedly when imported; also, you won't see from the report itself why you do not see some members. Use filtering instead.

Image RemovedImage Added

3. If more than one dimension is selected in rows, avoid using calculated members. Use the same dimension as a Page filter instead.

  • Some dimensions contain the same data, for example, Project level in Issue, Fix version, Affects version dimensions contain all the projects as Project dimension; use, in Pages, Project level of the same dimension as in Rows instead of Project dimension

Image RemovedImage Added

4. If Issue dimension [1] is used in the report rows (data from Jira):

  • Avoid using calculated members in this dimension.
  • Instead of adding other dimensions to show issue type, assignee, fix version, etc., use Issue properties [2] in columns.
  • Do not use All Issues member in rows to create an opportunity for report users to see report data on issue level: let them use Drill into Issues or Drill through issues options.

Image RemovedImage Added

5. Enable option nonempty whenever possible.

  • Disable nonempty option only for reports where projecting data, with forecast calculations and timeline reports when you need to display all members in rows, including those without actual measures.

Image RemovedImage Added

6. In Pages, add as many dimensions as needed, as fas as you select one member from each of them [2]. Multiple pages selection [1] from several dimensions in Pages could cause significant performance problems, as each report calculation are executed per cell as many times as many combinations of members are selected in Pages (example, if there are 3 dimensions in Pages, and 4 members are selected from each of them, then each measure in each cell would be executed 4x4x4=64 times; in the example below, the count of combinations is 2x1x1x1=2, and if there are no other complexities in the report, this is also quite OK)

  • Selection of calculated member in Pages with aggregated members is also a multiple page selection; the same goes for calculated members with Except() as iterating through all members, except some, is happening.

Image RemovedImage Added

7. Add Measures in Columns [1]. You may add them also in Pages and Rows. The arithmetical result won't change, but:

...

  • use option Drill into dimension [2] if only one measure, not all, should be split by another dimension
  • use option Add calculation (trend, cumulative, comparison by time periods, etc.) [3] instead of custom calculated measure as they are optimized; though, some of statistical calculations (avg, min, max) still could be slow.

Image RemovedImage Added

9. Filter rows by simple measures (Issues created, Issues resolved) and properties.

Image RemovedImage Added

10. While building a complex report, disable "Auto refresh" button to avoid refreshing a report after each step. 

Image RemovedImage Added

Report execution sequence

...