A report snapshot is a report that contains layout information and a dataset that is retrieved at a specific point in time. Unlike on-demand reports, which get up-to-date query results when you select them, report snapshots are processed on a schedule and then saved to a report server. When you select a report snapshot for viewing, the report server retrieves the stored report from the report server database, and shows the data and layout that were current for the report at the time the snapshot was created.
Report snapshots are not saved in a particular render format. Instead, report snapshots are rendered in a final viewing format (such as HTML) only when a user or an application requests it. Deferred rendering makes a snapshot portable: the report can be rendered in the correct format for the calling device or browser.
Report snapshots have two purposes. You can use them to create report history, and you can use them to control report processing. The following sections provide more detail.
Using Snapshots in Report History
You can use report snapshots to keep a history of a report. By creating a series of report snapshots, you can build a history of a report that shows how data changes over time. Report snapshots are used in report history because they contain the essential elements of a report (query results and layout). Render formats have a temporary effect that can be reproduced when you choose a format. In contrast, data and layout are essential features of a report instance: change either one and you have a report that is fundamentally different from previous instances.
Using Snapshots to Control Report Processing
Report snapshots can also be used to control report processing, so that processing only occurs when you want it to. This is useful when you have large reports that take a long time to process, or when you want to provide stable results for multiple users who must work with identical sets of data. With volatile data, an on-demand report can produce different results from one minute to the next. A report snapshot, by contrast, allows you to make valid comparisons against other reports or analytical tools that contain data from the same point in time.