MicroStrategy ONE

Sharing report caches and preserving cache sharing

Multiple reports can share a single report cache; this is referred to as report cache sharing. Reports with common data can be formatted differently but still share the same report cache. Actually, any results of non-SQL manipulations saved as a separate report can share the cache of the original report. That is, any views of a report created within the Intelligent Cube and saved as a separate report can share the report cache of the original report.

For information on non-SQL manipulations and views, see the Advanced Reporting Help.

However, reports that share a report cache must have something in common. For example, at least some of the objects in the report cache must be shared with all the reports accessing that report cache.

Reports do not automatically share report caches. You must first create a separate report template and filter. Next, define a report using shortcuts to the stand-alone report template and filter. Such a report can be thought of as a linked template and linked filter report. For steps to enable report cache sharing, see To enable report cache sharing below.

Preserving report cache sharing

Once report cache sharing has been established, it is important to preserve it. Since reports that create shared report caches comprise shortcuts to templates and filters, properly setting privileges and permissions can avoid:

  • A user modifying the original report template and filter in error

  • A user creating a local template or filter copy, which invalidates report cache sharing

Privileges and report cache sharing

Revoking the following privileges ensures that users do not receive the Retain shortcuts to template and filter options when they save their view of a report with shortcuts to a stand-alone template and filter:

  • Modify the list of Report Objects

  • Web modify the list of Report Objects

Users who do not have privileges to remove Report Objects cannot modify the original template. This affects all reports for a user who has the privileges revoked. For more information on setting privileges, see Controlling Access to Functionality: Privileges in the System Administration Help.

Permissions and report cache sharing

If users do have the privileges to modify Report Objects, object-level permissions can be set to prevent them from modifying the stand-alone template and filter. Setting a user's or group's permission to view (rather than modify) for the template and filter prevents any changes to them. This affects particular users and particular objects. In other words, permissions are set on an object level, while privileges affect all reports for the user.

For more information on setting privileges, see Controlling Access to Functionality: Privileges in the System Administration Help.

To enable report cache sharing

  1. Create and save a template containing the objects that you want on the report. (How?)

    Remember that reports that share a report cache must have some Report Objects in common.

  2. Create and save a filter that meets your reporting needs. (How?)

  3. Open the Report Editor. (How?)

  4. In the Object Browser window, navigate to the filter that you created.

  5. Right-click the filter and select Replace Report Filter with a shortcut to this filter.

  6. In the Object Browser window, navigate to the template that you created.

  7. Right-click the template and select Replace with shortcut to template.

  8. Click Save and Close. The Save Report As dialog box opens.

  9. Choose the location for the report. Type a name in the Object name box.

  10. Click Save. The Advanced Save Options dialog box opens.

  11. Select Retain the shortcuts to the filter. Retaining the shortcut allows changes that you make to the filter to be propagated to the original object, and vice versa.

  12. Select Retain the shortcuts to the template. Retaining the shortcut allows changes that you make to the template to be propagated to the original object, and vice versa.

  13. Click OK. The Template Dependency Validator opens.

  14. If the message at the top of the box is "All of these reports will execute properly with the current definition of the template", click OK to finish saving the report.

You should receive this message, since you created a new template for this report. If, however, you used an existing template, you may receive a message indicating that some dependent reports will not run with the changes made to the template. You must do one of the following to resolve the problem:

  • Cancel the change and re-evaluate the template changes.

  • Open each dependent report and remove the dependencies, then make your changes to the template definition.

  • Changes to the template are not saved until the Template Dependency Validator is closed.